diff --git a/.conf/Dockerfile.full b/.conf/Dockerfile.full index 13387f2f4..03b2baec4 100644 --- a/.conf/Dockerfile.full +++ b/.conf/Dockerfile.full @@ -38,7 +38,7 @@ RUN yarn build # Step 2 FROM nginxinc/nginx-unprivileged:alpine COPY .conf/nginx.conf /etc/nginx/conf.d/default.conf -COPY --from=build-step /app/cx-portal/build /usr/share/nginx/html +COPY --from=build-step /app/build /usr/share/nginx/html # Change to root user for renaming of index.html to index.html.reference, to be used by env variables inject script USER root RUN mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.reference diff --git a/.conf/Dockerfile.prebuilt b/.conf/Dockerfile.prebuilt index cd625b91f..cb71b6b07 100644 --- a/.conf/Dockerfile.prebuilt +++ b/.conf/Dockerfile.prebuilt @@ -28,7 +28,7 @@ FROM nginxinc/nginx-unprivileged:alpine COPY .conf/nginx.conf /etc/nginx/conf.d/default.conf -COPY cx-portal/build /usr/share/nginx/html +COPY build /usr/share/nginx/html # Change to root user for renaming of index.html to index.html.reference, to be used by env variables inject script USER root RUN mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.reference diff --git a/.conf/notice-portal.md b/.conf/notice-portal.md index 69db44c37..24303c5ed 100644 --- a/.conf/notice-portal.md +++ b/.conf/notice-portal.md @@ -4,14 +4,14 @@ DockerHub: [https://hub.docker.com/r/tractusx/portal-frontend](https://hub.docke Eclipse Tractus-X product(s) installed within the image: -__Portal frontend__ +**Portal frontend** - GitHub: https://github.com/eclipse-tractusx/portal-frontend - Project home: https://projects.eclipse.org/projects/automotive.tractusx - Dockerfile: https://github.com/eclipse-tractusx/portal-frontend/blob/main/.conf/Dockerfile.prebuilt - Project license: [Apache License, Version 2.0](https://github.com/eclipse-tractusx/portal-frontend/blob/main/LICENSE) -__Used base images__ +**Used base images** - Dockerfile: [nginxinc/nginx-unprivileged:alpine](https://github.com/nginxinc/docker-nginx-unprivileged/blob/main/Dockerfile-alpine.template) - GitHub project: [https://github.com/nginxinc/docker-nginx-unprivileged](https://github.com/nginxinc/docker-nginx-unprivileged) diff --git a/.eslintignore b/.eslintignore index 33484ace3..f8ad14faa 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,5 @@ **/node_modules -**/storybook-static +**/storybook **/build **/dist **/public \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index ac53fca35..c46843efd 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,16 +1,90 @@ { - "ignorePatterns": [ - ], + "ignorePatterns": ["*.test.tsx", "*.stories.tsx"], "env": { "browser": true, "es2021": true }, "extends": [ + "standard-with-typescript", "eslint:recommended", "plugin:react/recommended", - "plugin:@typescript-eslint/recommended" + "plugin:@typescript-eslint/recommended", + "prettier" ], "parser": "@typescript-eslint/parser", + "plugins": ["react", "react-hooks", "@typescript-eslint"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", ".js", ".jsx"], + "extends": [ + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking" + ], + "parserOptions": { + "project": ["./tsconfig.json"] + }, + "rules": { + "linebreak-style": ["error", "unix"], + "quotes": ["error", "single"], + "semi": ["error", "never"], + "comma-dangle": 0, + "react/react-in-jsx-scope": 0, + "@typescript-eslint/comma-dangle": 0, + "@typescript-eslint/explicit-function-return-type": 0, + "@typescript-eslint/ban-types": 0, + "@typescript-eslint/consistent-type-imports": 0, + "@typescript-eslint/no-confusing-void-expression": 0, + "@typescript-eslint/no-empty-function": 0, + "@typescript-eslint/no-explicit-any": 0, + "@typescript-eslint/no-extra-semi": 0, + "@typescript-eslint/no-unsafe-argument": 0, + "@typescript-eslint/no-unsafe-assignment": 0, + "@typescript-eslint/no-unsafe-call": 0, + "@typescript-eslint/no-unsafe-member-access": 0, + "@typescript-eslint/no-unsafe-return": 0, + "@typescript-eslint/prefer-optional-chain": 0, + "@typescript-eslint/restrict-template-expressions": 0, + "@typescript-eslint/strict-boolean-expressions": 0, + "@typescript-eslint/array-type": 0, + "@typescript-eslint/consistent-indexed-object-style": 0, + "@typescript-eslint/consistent-type-assertions": 0, + "@typescript-eslint/consistent-type-definitions": 0, + "@typescript-eslint/dot-notation": 0, + "@typescript-eslint/no-base-to-string": 0, + "@typescript-eslint/no-floating-promises": 0, + "@typescript-eslint/no-inferrable-types": 0, + "@typescript-eslint/no-invalid-void-type": 0, + "@typescript-eslint/no-misused-promises": 0, + "@typescript-eslint/no-non-null-assertion": 0, + "@typescript-eslint/no-unnecessary-type-assertion": 0, + "@typescript-eslint/prefer-includes": 0, + "@typescript-eslint/prefer-nullish-coalescing": 0, + "@typescript-eslint/prefer-readonly": 0, + "@typescript-eslint/prefer-reduce-type-parameter": 0, + "@typescript-eslint/promise-function-async": 0, + "@typescript-eslint/require-await": 0, + "@typescript-eslint/restrict-plus-operands": 0, + "@typescript-eslint/return-await": 0, + "@typescript-eslint/triple-slash-reference": 0, + "@typescript-eslint/unbound-method": 0, + "eqeqeq": 0, + "import/no-duplicates": 0, + "n/handle-callback-err": 0, + "no-extra-boolean-cast": 0, + "no-prototype-builtins": 0, + "no-unneeded-ternary": 0, + "no-void": 0, + "object-shorthand": 0, + "prefer-const": 0, + "promise/param-names": 0, + "react/display-name": 0, + "react/jsx-key": 0, + "react/no-children-prop": 0, + "react/no-unescaped-entities": 0, + "spaced-comment": 0 + } + } + ], "parserOptions": { "ecmaFeatures": { "jsx": true @@ -18,14 +92,6 @@ "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["react", "@typescript-eslint"], - "rules": { - "indent": ["error", 2], - "linebreak-style": ["error", "unix"], - "quotes": ["error", "single"], - "semi": ["error", "never"], - "react/react-in-jsx-scope": "off" - }, "settings": { "react": { "version": "detect" diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index df65c66f3..6eb1ef7d1 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -39,8 +39,5 @@ jobs: - name: linter checks run: yarn lint - - name: Build Library - run: yarn build:lib - - name: Unit Tests run: yarn test:ci diff --git a/.github/workflows/dependencies.yaml b/.github/workflows/dependencies.yaml new file mode 100644 index 000000000..2572b1ce0 --- /dev/null +++ b/.github/workflows/dependencies.yaml @@ -0,0 +1,79 @@ +############################################################### +# Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +############################################################### + +name: Check Dependencies + +on: + push: + branches: [main, dev] + pull_request: + types: [opened, synchronize, reopened] + workflow_dispatch: + +jobs: + check-dependencies: + + runs-on: ubuntu-latest + + steps: + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Generate Dependencies file + run: java -jar ./scripts/download/org.eclipse.dash.licenses-1.0.2.jar yarn.lock -project automotive.tractusx -summary DEPENDENCIES || true + + - name: Check if dependencies were changed + id: dependencies-changed + run: | + changed=$(git diff DEPENDENCIES) + if [[ -n "$changed" ]]; then + echo "dependencies changed" + echo "changed=true" >> $GITHUB_OUTPUT + else + echo "dependencies not changed" + echo "changed=false" >> $GITHUB_OUTPUT + fi + + - name: Check for restricted dependencies + run: | + restricted=$(grep ' restricted,' DEPENDENCIES || true) + if [[ -n "$restricted" ]]; then + echo "The following dependencies are restricted: $restricted" + exit 1 + fi + if: steps.dependencies-changed.outputs.changed == 'true' + + - name: Upload DEPENDENCIES file + uses: actions/upload-artifact@v3 + with: + path: DEPENDENCIES + if: steps.dependencies-changed.outputs.changed == 'true' + + - name: Signal need to update DEPENDENCIES + run: | + echo "Dependencies need to be updated (updated DEPENDENCIES file has been uploaded to workflow run)" + exit 1 + if: steps.dependencies-changed.outputs.changed == 'true' diff --git a/.github/workflows/release-release_candidate.yml b/.github/workflows/release-release_candidate.yml index 5ced51909..829af10a9 100644 --- a/.github/workflows/release-release_candidate.yml +++ b/.github/workflows/release-release_candidate.yml @@ -114,12 +114,6 @@ jobs: repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} readme-filepath: ".conf/notice-portal.md" -# - name: Publish Shared Components to npm -# working-directory: ./cx-portal-shared-components -# run: npm publish -# env: -# NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }} - auth-and-dispatch: needs: build-and-push-release runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8dc24400a..a4f85d1d9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -115,12 +115,6 @@ jobs: repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} readme-filepath: ".conf/notice-portal.md" -# - name: Publish Shared Components to npm -# working-directory: ./cx-portal-shared-components -# run: npm publish -# env: -# NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }} - auth-and-dispatch: needs: build-and-push-release runs-on: ubuntu-latest @@ -132,8 +126,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + - name: Check for hotfix version + id: hf-check + run: | + hf=$(git ls-remote --heads origin "hotfix/${{ env.REF_NAME }}*") + if [[ -n "$hf" ]]; then + echo "hf=true" >> $GITHUB_OUTPUT + else + echo "hf=false" >> $GITHUB_OUTPUT + fi + - name: Get tags run: git fetch --tags --force + if: steps.hf-check.outputs.hf == 'false' - name: Check for previous release candidate version id: rc-check @@ -141,7 +146,10 @@ jobs: rc=$(git tag -l "${{ env.REF_NAME }}-RC*") if [[ -n "$rc" ]]; then echo "rc=true" >> $GITHUB_OUTPUT + else + echo "rc=false" >> $GITHUB_OUTPUT fi + if: steps.hf-check.outputs.hf == 'false' - name: Determine branch to update in portal-cd id: cd-branch @@ -151,6 +159,7 @@ jobs: else echo "branch=dev" >> $GITHUB_OUTPUT fi + if: steps.hf-check.outputs.hf == 'false' - name: Get token id: get_workflow_token @@ -158,6 +167,7 @@ jobs: with: application_id: ${{ secrets.ORG_PORTAL_DISPATCH_APPID }} application_private_key: ${{ secrets.ORG_PORTAL_DISPATCH_KEY }} + if: steps.hf-check.outputs.hf == 'false' - name: Trigger workflow id: call_action @@ -171,3 +181,4 @@ jobs: --header "Accept: application/vnd.github.v3+json" \ --data '{"ref":"${{ steps.cd-branch.outputs.branch }}", "inputs": { "new-image":"${{ env.REF_NAME }}" }}' \ --fail + if: steps.hf-check.outputs.hf == 'false' diff --git a/.github/workflows/release_candidate.yml b/.github/workflows/release_candidate.yml index a6d0c7429..f0b80156b 100644 --- a/.github/workflows/release_candidate.yml +++ b/.github/workflows/release_candidate.yml @@ -24,7 +24,7 @@ name: release candidate (RC) on: push: branches: - - 'release/*.*.*-RC*' + - 'release/v*.*.*-RC*' workflow_dispatch: env: @@ -95,12 +95,6 @@ jobs: repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} readme-filepath: ".conf/notice-portal.md" -# - name: Publish Shared Components to npm -# working-directory: ./cx-portal-shared-components -# run: npm publish -# env: -# NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }} - auth-and-dispatch: needs: build-and-push-image runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index f5868d471..836d2ad8a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,57 +1,11 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -### JetBrains ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -**/nbproject/private/ -**/nbproject/Makefile-*.mk -**/nbproject/Package-*.bash -build/ -nbbuild/ -dist/ -nbdist/ -.nb-gradle/ - -### Visual Studio Code ### -.vscode/* -!.vscode/settings.json - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### Log files ### -log/ - -### Secrets ### -**/secrets.* - -# dependencies -**/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production +dist +build +node_modules +storybook +.vscode +*.log *.zip -**/build -**/dist -**/storybook-static -**/_storybook -**/src/ignore - -# misc -**/.DS_Store -**/.npmrc - -npm-debug.log* -yarn-debug.log* -yarn-error.log* +*.tgz +*.tar.gz +*.ignore +.DS_Store \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..f8ad14faa --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +**/node_modules +**/storybook +**/build +**/dist +**/public \ No newline at end of file diff --git a/.sonarcloud.properties b/.sonarcloud.properties index 01f401919..72cf32dbc 100644 --- a/.sonarcloud.properties +++ b/.sonarcloud.properties @@ -1 +1 @@ -sonar.cpd.exclusions = **/*.test.* \ No newline at end of file +sonar.cpd.exclusions = **/*.test.*, **/*.stories.* \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 2e921a766..3f6715648 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,86 +1,86 @@ { - "fileHeaderComment.parameter": { - "*": { - "commentbegin": "/********************************************************************************", - "commentend": " ********************************************************************************/", - "commentprefix": "", - "commentbegin#": "###############################################################", - "commentend#": "###############################################################", - "commentprefix#": "#", - "commentbegin": "", - "commentprefix": "-", - "cx_header_default":[ - "* Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation", - " *", - " * See the NOTICE file(s) distributed with this work for additional", - " * information regarding copyright ownership.", - " *", - " * This program and the accompanying materials are made available under the", - " * terms of the Apache License, Version 2.0 which is available at", - " * https://www.apache.org/licenses/LICENSE-2.0.", - " *", - " * Unless required by applicable law or agreed to in writing, software", - " * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT", - " * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the", - " * License for the specific language governing permissions and limitations", - " * under the License.", - " *", - " * SPDX-License-Identifier: Apache-2.0" - ], - "cx_header_with_#":[ - "Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation", - "", - " See the NOTICE file(s) distributed with this work for additional", - " information regarding copyright ownership.", - "", - " This program and the accompanying materials are made available under the", - " terms of the Apache License, Version 2.0 which is available at", - " https://www.apache.org/licenses/LICENSE-2.0.", - "", - " Unless required by applicable law or agreed to in writing, software", - " distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT", - " WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the", - " License for the specific language governing permissions and limitations", - " under the License.", - "", - " SPDX-License-Identifier: Apache-2.0" - ], - "cx_header_with_":[ - "Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation", - "-", - "- See the NOTICE file(s) distributed with this work for additional", - "- information regarding copyright ownership.", - "-", - "- This program and the accompanying materials are made available under the", - "- terms of the Apache License, Version 2.0 which is available at", - "- https://www.apache.org/licenses/LICENSE-2.0.", - "-", - "- Unless required by applicable law or agreed to in writing, software", - "- distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT", - "- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the", - "- License for the specific language governing permissions and limitations", - "- under the License.", - "-", - "- SPDX-License-Identifier: Apache-2.0" - ] - } - }, - "fileHeaderComment.template": { - "cx_header_default":[ - "${commentbegin}", - "${commentprefix} ${cx_header_default}", - "${commentend}" - ], - "cx_header_with_":[ - "${commentbegin}", - "${commentprefix} ${cx_header_with_}", - "${commentend}" - ], - "cx_header_with_#":[ - "${commentbegin#}", - "${commentprefix#} ${cx_header_with_#}", - "${commentend#}" - ] + "fileHeaderComment.parameter": { + "*": { + "commentbegin": "/********************************************************************************", + "commentend": " ********************************************************************************/", + "commentprefix": "", + "commentbegin#": "###############################################################", + "commentend#": "###############################################################", + "commentprefix#": "#", + "commentbegin": "", + "commentprefix": "-", + "cx_header_default": [ + "* Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation", + " *", + " * See the NOTICE file(s) distributed with this work for additional", + " * information regarding copyright ownership.", + " *", + " * This program and the accompanying materials are made available under the", + " * terms of the Apache License, Version 2.0 which is available at", + " * https://www.apache.org/licenses/LICENSE-2.0.", + " *", + " * Unless required by applicable law or agreed to in writing, software", + " * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT", + " * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the", + " * License for the specific language governing permissions and limitations", + " * under the License.", + " *", + " * SPDX-License-Identifier: Apache-2.0" + ], + "cx_header_with_#": [ + "Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation", + "", + " See the NOTICE file(s) distributed with this work for additional", + " information regarding copyright ownership.", + "", + " This program and the accompanying materials are made available under the", + " terms of the Apache License, Version 2.0 which is available at", + " https://www.apache.org/licenses/LICENSE-2.0.", + "", + " Unless required by applicable law or agreed to in writing, software", + " distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT", + " WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the", + " License for the specific language governing permissions and limitations", + " under the License.", + "", + " SPDX-License-Identifier: Apache-2.0" + ], + "cx_header_with_": [ + "Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation", + "-", + "- See the NOTICE file(s) distributed with this work for additional", + "- information regarding copyright ownership.", + "-", + "- This program and the accompanying materials are made available under the", + "- terms of the Apache License, Version 2.0 which is available at", + "- https://www.apache.org/licenses/LICENSE-2.0.", + "-", + "- Unless required by applicable law or agreed to in writing, software", + "- distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT", + "- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the", + "- License for the specific language governing permissions and limitations", + "- under the License.", + "-", + "- SPDX-License-Identifier: Apache-2.0" + ] } -} \ No newline at end of file + }, + "fileHeaderComment.template": { + "cx_header_default": [ + "${commentbegin}", + "${commentprefix} ${cx_header_default}", + "${commentend}" + ], + "cx_header_with_": [ + "${commentbegin}", + "${commentprefix} ${cx_header_with_}", + "${commentend}" + ], + "cx_header_with_#": [ + "${commentbegin#}", + "${commentprefix#} ${cx_header_with_#}", + "${commentend#}" + ] + } +} diff --git a/CHANGELOG.md b/CHANGELOG.md index bcab957be..fedf5df91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,735 +1,879 @@ # Changelog +## 1.6.0-RC1 + +### Change + +- App Release Process + - validate and publish style updates + - updated language endpoint changed structure +- Service Release Process + - Skip technical integration for serviceTypeIds(consultancy) + +### Feature + +- App Subscription + - Add "Detail Data" Button and Overlay + - Refracting Activate Subscription Page + - Add App Filter Search Functionality +- User Account & My User Account + - Add Admin Info +- Home, Use cases and Company roles + - Mobile friendly header and stage navigation + - Slider stage header +- App overview + - Enhance Sub Menu by adding 'Change Image' for active apps + - Change Image(sub menu) functionality added for active apps + - App overview 'in review' rendering and styling changed + - Enhance Sub Menu by adding 'Change Description' for active apps + - Change Description(sub menu) functionality added for active apps +- Usecase Participation + - Created New page under User profile + - Add edit Overlay UI + - Fetch usecase via API + - Add Business Logic to upload document +- Notification + - Show done state + - Provide icon for marking a notification as read/unread + - New Header and Filter UI +- Connectors + - Disable DAPS related sections +- App Subscription + - Add and Edit Tenant URL functionality in detail overlay +- Static Pages + - Data Space + - Catena-X Participant +- SSI Certificat Credential Adminboard + - Add new page and created UI +- Portal + - Add max width + +### Technical Support + +- Project Structure + - Moved out shared components and source folders to root level + +### Bugfix + +- App Detail + - Subscribe Button - wrong state +- Service Release Process + - Service Release process not working + - Service details page crash issue +- Home - Carousel + - Responsiveness - when switching the portal width screens get rendering issues +- Service Marketplace + - Subscription Button cross service highlighted + ## 1.5.0 ### Change -* User Management - * app access management - api used to display app cards inside the user management 'App Access Management' reduced to single api call + +- User Management + - app access management - api used to display app cards inside the user management 'App Access Management' reduced to single api call ### Feature -* App Release Process - * technical integration enhanced by technical user profile configuration - * technical user profile section added inside 'Validate and Publish' step -* App Marketplace - * app detail page - sticky app detail sub-navigation added - * app detail page - technical user profile section added -* App Admin Board - * app detail page - technical user profile section added -* App Management Board - * app detail page - technical user profile section added -* Service Release Process - * technical integration added incl. technical user profile configuration - * SERVICE_LEADIMAGE upload integrated - * delete document notification/toast message added -* Service Marketplace - * service detail page - technical user profile section added -* Service Admin Board - * service detail page - technical user profile section added -* Service Management Board - * service detail page - technical user profile section added -* Service subscription - * Subscription Activation api integration - * Subscription flow UI update -* Shared Components - * about card for legal notice added -* About page for legal notice - * About card added to Shared Components - * About page added and linked in footer component - * card component integrated in About page -* Third-party-licenses page removed (replaced by About page) + +- App Release Process + - technical integration enhanced by technical user profile configuration + - technical user profile section added inside 'Validate and Publish' step +- App Marketplace + - app detail page - sticky app detail sub-navigation added + - app detail page - technical user profile section added +- App Admin Board + - app detail page - technical user profile section added +- App Management Board + - app detail page - technical user profile section added +- Service Release Process + - technical integration added incl. technical user profile configuration + - SERVICE_LEADIMAGE upload integrated + - delete document notification/toast message added +- Service Marketplace + - service detail page - technical user profile section added +- Service Admin Board + - service detail page - technical user profile section added +- Service Management Board + - service detail page - technical user profile section added +- Service subscription + - Subscription Activation api integration + - Subscription flow UI update +- Shared Components + - about card for legal notice added +- About page for legal notice + - About card added to Shared Components + - About page added and linked in footer component + - card component integrated in About page +- Third-party-licenses page removed (replaced by About page) ### Technical Support -* About page - * enabled build and release workflows to provide content + +- About page + - enabled build and release workflows to provide content ### Bugfix -* App Release Process - * conformity document deletion missing error message in failure case -* Registration Process - * 'add bpn overlay' - manually entering a bpn to an application did result into a load element on the 'add bpn overlay' of the next application (without page reload) -* My Organization - * missing subscription details fetch from api fixed -* Connectors - * Previously added data on 'add connector' overlay got not cleared in case of a success scenario -* Service Release Process - * display previous uploaded lead service image in "validate and publish" step + +- App Release Process + - conformity document deletion missing error message in failure case +- Registration Process + - 'add bpn overlay' - manually entering a bpn to an application did result into a load element on the 'add bpn overlay' of the next application (without page reload) +- My Organization + - missing subscription details fetch from api fixed +- Connectors + - Previously added data on 'add connector' overlay got not cleared in case of a success scenario +- Service Release Process + - display previous uploaded lead service image in "validate and publish" step ## 1.4.0 ### Change -* IdP Configuration - * ui styling and messages updated - * load element added for create/submit/next buttons - * implemented success & error messages depending on the error scenario while creating/configuring a new idp -* Shared UI Components - * added typography for static table to update headline sizing -* Notification - * Service_Release_Request customer message content updated - * App_Release_Request customer message content updated -* Static Templates - UseCases & CompanyRole - * new templates released - * real time language switch for static pages enabled where content is fetched from another repository (see features/language) - * support scroll-up icon on each sub-title - * enabled page sub-menu to stick on the screen top when scrolling down - * support hover tooltip in-text component + +- IdP Configuration + - ui styling and messages updated + - load element added for create/submit/next buttons + - implemented success & error messages depending on the error scenario while creating/configuring a new idp +- Shared UI Components + - added typography for static table to update headline sizing +- Notification + - Service_Release_Request customer message content updated + - App_Release_Request customer message content updated +- Static Templates - UseCases & CompanyRole + - new templates released + - real time language switch for static pages enabled where content is fetched from another repository (see features/language) + - support scroll-up icon on each sub-title + - enabled page sub-menu to stick on the screen top when scrolling down + - support hover tooltip in-text component ### Feature -* App Release Process - * added privacy policies section to "validate and publish" application form - * added app roles section to "validate and publish" application form - * added role description information inside the ui for "Technical Integration" step - * "help" button enabled along the app release process (form bottom) - * extended ui error handling for 500 backend error responses -* Service Release Process - * enabled SERVICE_LEADIMAGE document upload - * "help" button enabled along the app release process (form bottom) - * extended ui error handling for 500 backend error responses -* Service Subscription Management released (pre-version) -* Service Release Admin Board released (pre-version) - * enabled search for services - * enabled filters - * displayed all services waiting for review and active inside the admin board - * enabled view service details - * enabled approve and decline service -* App Marketplace - * added company subscription status information on the app overview (inside the card component) - * app detail page, new order status component implemented for subscription process -* Notification - * Role_Update_Core_Offer notification enabled - * Role_Update_App_Offer notification enabled -* Connector Registration - * added new section for connector providers to view and managed 3rd party/managed connectors - * added enhanced error handling for connector tables in case of service/server error -* Company Configuration - Company Role Change - * released company config page for company admins to update CX company participation role (switch between Participant, App Provider, Service Provider) incl. backend connection for agreement consent, document download and business logic to display company role change impact + +- App Release Process + - added privacy policies section to "validate and publish" application form + - added app roles section to "validate and publish" application form + - added role description information inside the ui for "Technical Integration" step + - "help" button enabled along the app release process (form bottom) + - extended ui error handling for 500 backend error responses +- Service Release Process + - enabled SERVICE_LEADIMAGE document upload + - "help" button enabled along the app release process (form bottom) + - extended ui error handling for 500 backend error responses +- Service Subscription Management released (pre-version) +- Service Release Admin Board released (pre-version) + - enabled search for services + - enabled filters + - displayed all services waiting for review and active inside the admin board + - enabled view service details + - enabled approve and decline service +- App Marketplace + - added company subscription status information on the app overview (inside the card component) + - app detail page, new order status component implemented for subscription process +- Notification + - Role_Update_Core_Offer notification enabled + - Role_Update_App_Offer notification enabled +- Connector Registration + - added new section for connector providers to view and managed 3rd party/managed connectors + - added enhanced error handling for connector tables in case of service/server error +- Company Configuration - Company Role Change + - released company config page for company admins to update CX company participation role (switch between Participant, App Provider, Service Provider) incl. backend connection for agreement consent, document download and business logic to display company role change impact ### Technical Support -* moved all portal repo images to asset repo -* removed existing in code "disable eslinter" statements inside the app release process and fixed eslinter issues -* service release endpoint path updated/changed due to an endpoint path cleanup on backend side ![Tag](https://img.shields.io/static/v1?label=&message=BreakingChange&color=yellow&style=flat) -* app release process - app card language switch fixed to only switch the language inside the app card -* changed release workflow to retrieve tag from github.ref_name (set-output command deprecated) -* added release workflow for release-candidates -* react player package added to supported multiple formats of in-page videos -* changed container registry to Docker Hub -* added pull request template + +- moved all portal repo images to asset repo +- removed existing in code "disable eslinter" statements inside the app release process and fixed eslinter issues +- service release endpoint path updated/changed due to an endpoint path cleanup on backend side ![Tag](https://img.shields.io/static/v1?label=&message=BreakingChange&color=yellow&style=flat) +- app release process - app card language switch fixed to only switch the language inside the app card +- changed release workflow to retrieve tag from github.ref_name (set-output command deprecated) +- added release workflow for release-candidates +- react player package added to supported multiple formats of in-page videos +- changed container registry to Docker Hub +- added pull request template ### Bugfix -* App Management Board (Provider) - * app endpoint path updated due to an controller change on the backend side - new path /api/apps/appChange/${appId}/deactivateApp -* Others - * top right user profile icon hover function enabled - * image zoom height fixed + +- App Management Board (Provider) + - app endpoint path updated due to an controller change on the backend side - new path /api/apps/appChange/${appId}/deactivateApp +- Others + - top right user profile icon hover function enabled + - image zoom height fixed ### Known Knowns -* Company Configuration - Company Role Change - * Overlay top summary section displays non-changed company roles as "added" instead of ignoring those roles since those are already assigned - * Role/Feature change description not correctly fetched from the config file -* Service Release Process - * Technical user profile configuration displayed for "Consultance_Services" even though its not relevant for services with this service type - error appears if user selects roles and wants to proceed -* Service Release & App Release Process - * Issue on displaying given consent after using the "back" button inside the release process. Issue appears in an inconsistent manner. + +- Company Configuration - Company Role Change + - Overlay top summary section displays non-changed company roles as "added" instead of ignoring those roles since those are already assigned + - Role/Feature change description not correctly fetched from the config file +- Service Release Process + - Technical user profile configuration displayed for "Consultance_Services" even though its not relevant for services with this service type - error appears if user selects roles and wants to proceed +- Service Release & App Release Process + - Issue on displaying given consent after using the "back" button inside the release process. Issue appears in an inconsistent manner. ## 1.3.0 ### Change -* updated document section styling for app and service detail pages -* Shared Components - * StaticTemplate: TextAndImage template spacing/element location updated -* User Account screen permission validation to access the page updated -* App Marketplace - * enabled search “no result found” response - * enabled responsiveness of the app cards to rearrange displayed app cards based on the users screen width -* User Management - app access management app cards backend api connection updated due to new endpoint business logic -* App Release Process - * updated endpoint to post and get agreement consent - * switched endpoint to retrieve cx frame documents from portal backend for consent section - * document upload error message customization activated and new error message for file size set -* Service Release Process - * updated GET and POST endpoint handling to store and fetch service details from the backend and display them inside the service release form - * switched endpoint to retrieve cx frame documents from portal backend - * updated endpoint to post agreement consent - * translations enhanced/added -* Switch IdP - * additional user support and new style added for easier process handling + +- updated document section styling for app and service detail pages +- Shared Components + - StaticTemplate: TextAndImage template spacing/element location updated +- User Account screen permission validation to access the page updated +- App Marketplace + - enabled search “no result found” response + - enabled responsiveness of the app cards to rearrange displayed app cards based on the users screen width +- User Management - app access management app cards backend api connection updated due to new endpoint business logic +- App Release Process + - updated endpoint to post and get agreement consent + - switched endpoint to retrieve cx frame documents from portal backend for consent section + - document upload error message customization activated and new error message for file size set +- Service Release Process + - updated GET and POST endpoint handling to store and fetch service details from the backend and display them inside the service release form + - switched endpoint to retrieve cx frame documents from portal backend + - updated endpoint to post agreement consent + - translations enhanced/added +- Switch IdP + - additional user support and new style added for easier process handling ### Feature -* Service Release Process - * implement service type function with backend connection - * added load button function for service release form - button "submit" and "confirm"/"proceed" -* App Release Process - * added app privacy policy select function inside the app release process form -* Service Management (Service Provider) - * implemented service overview for app provider to display all owned services in all states (incl. search, filter and sort) - * implemented service detail page + +- Service Release Process + - implement service type function with backend connection + - added load button function for service release form - button "submit" and "confirm"/"proceed" +- App Release Process + - added app privacy policy select function inside the app release process form +- Service Management (Service Provider) + - implemented service overview for app provider to display all owned services in all states (incl. search, filter and sort) + - implemented service detail page ### Technical Support -* added temp fix for CVE-2023-0464 -* added build workflow for v1.3.0 release candidate phase -* updated actions workflows + +- added temp fix for CVE-2023-0464 +- added build workflow for v1.3.0 release candidate phase +- updated actions workflows ### Bugfix -* Company Role Intro Page - updated zoomed image style by removing grey bottom line -* Service Marketplace - Service Detail Page - * updated business logic to consume use case data due to updated api response body style -* Service Release Process - * chapter "Supporting Material" deletion function fixed - * "Save" button on "Offer Page Details" fixed - * update long description pattern to support multiline (as app release process) - * reset active step back to 1 in service overview page when re-opening a service in "draft" state -* Connector Registration - input pattern for connector name updated to support special characters and customer input related error messages -* Organization data - ignore "null" values provided by backend components/apis -* Dropzone - error message customized to support multiple error scenarios with different error codes/messages -* Service Detail Page (Marketplace and Service Management) - document download fixed -* User Management - * recorded log errors fixed - * payload fixed to portal roles only when updating user assigned portal roles - * create new user account first and last name pattern updated to alow double names -* User Account - fixed page load for users without portal roles -* App Access Management - "Edit" button in user table fixed -* App Release Process - * fixed condition for 'documents' section in 'validate and publish' step to display only relevant document types - * removed placeholder section 'data security information' and 'connected data' from 'validate and publish' step - * long description input field pattern -* App Release Process - * update input field validation for longDescription input field - * fixed provider input field validation; allowed numbers -* App Release Admin Page - App Detail Page - * updated business logic to consume use case data due to updated api response body style + +- Company Role Intro Page - updated zoomed image style by removing grey bottom line +- Service Marketplace - Service Detail Page + - updated business logic to consume use case data due to updated api response body style +- Service Release Process + - chapter "Supporting Material" deletion function fixed + - "Save" button on "Offer Page Details" fixed + - update long description pattern to support multiline (as app release process) + - reset active step back to 1 in service overview page when re-opening a service in "draft" state +- Connector Registration - input pattern for connector name updated to support special characters and customer input related error messages +- Organization data - ignore "null" values provided by backend components/apis +- Dropzone - error message customized to support multiple error scenarios with different error codes/messages +- Service Detail Page (Marketplace and Service Management) - document download fixed +- User Management + - recorded log errors fixed + - payload fixed to portal roles only when updating user assigned portal roles + - create new user account first and last name pattern updated to alow double names +- User Account - fixed page load for users without portal roles +- App Access Management - "Edit" button in user table fixed +- App Release Process + - fixed condition for 'documents' section in 'validate and publish' step to display only relevant document types + - removed placeholder section 'data security information' and 'connected data' from 'validate and publish' step + - long description input field pattern +- App Release Process + - update input field validation for longDescription input field + - fixed provider input field validation; allowed numbers +- App Release Admin Page - App Detail Page + - updated business logic to consume use case data due to updated api response body style ## Known Knowns -* Eslinter checks disabled in several code sections related to the app release process -* Sorting component behavior - preselected selects are not visible and active, hover, inactive state missing -* App Release Process - step "Verify & Submit" - the app card language switch is impacting the language of the whole party instead of only updating the app card -* Image zoom in results in the useCase/company introduction page is breaking in the background when user opens the zoom in function -* User account creation success overlay is displayed. When closing the success overlay, for a millisecond an error overlay is displayed -* App Management (Provider) sub-menu broken -* App and Service Marketplace - app cards display width responsiveness missing -* Service Subscription Management not yet released, only available via API endpoints -* Service Release Admin Board not yet released, only available via API endpoints + +- Eslinter checks disabled in several code sections related to the app release process +- Sorting component behavior - preselected selects are not visible and active, hover, inactive state missing +- App Release Process - step "Verify & Submit" - the app card language switch is impacting the language of the whole party instead of only updating the app card +- Image zoom in results in the useCase/company introduction page is breaking in the background when user opens the zoom in function +- User account creation success overlay is displayed. When closing the success overlay, for a millisecond an error overlay is displayed +- App Management (Provider) sub-menu broken +- App and Service Marketplace - app cards display width responsiveness missing +- Service Subscription Management not yet released, only available via API endpoints +- Service Release Admin Board not yet released, only available via API endpoints ## 1.2.0 ### Change -* Dropzone costum error support implemented + +- Dropzone costum error support implemented ### Feature -* UserManagement - * add role description details into the user account creation overlay and linking the description with the new developed/released role description detail page -* App Marketplace - * app detail page got enhanced by "Privacy Policies" -* App Approval Admin Board - * app detail page endpoint switched to /inReview/{appId} - * app detail page "App Roles" added - * app detail page "Privacy Policy" added - * removes placeholder sections and implemented UI changes -* User Account Screen - * add section with user assigned portal roles - * add action button and overlay to update user assigned portal roles -* Service Release Process - * implement service release process form and connected backend services /createService, /serviceStatus, /and Update service apis added -* App Release Process - * enabled document download in contract and consent - * enabled document deletion inside the app release form - * changed additional document uploads from mandatory to optional and changed dropzone parameter size + +- UserManagement + - add role description details into the user account creation overlay and linking the description with the new developed/released role description detail page +- App Marketplace + - app detail page got enhanced by "Privacy Policies" +- App Approval Admin Board + - app detail page endpoint switched to /inReview/{appId} + - app detail page "App Roles" added + - app detail page "Privacy Policy" added + - removes placeholder sections and implemented UI changes +- User Account Screen + - add section with user assigned portal roles + - add action button and overlay to update user assigned portal roles +- Service Release Process + - implement service release process form and connected backend services /createService, /serviceStatus, /and Update service apis added +- App Release Process + - enabled document download in contract and consent + - enabled document deletion inside the app release form + - changed additional document uploads from mandatory to optional and changed dropzone parameter size ### Technical Support -* Improved page loading in several places (such as app overview) -* Change local port to run behind reverse proxy -* Improved responsiveness of use case introduction page and company role page + +- Improved page loading in several places (such as app overview) +- Change local port to run behind reverse proxy +- Improved responsiveness of use case introduction page and company role page ### Bugfix -* Image import via api image/document endpoint implemented for organization/myCompanySubscription section -* Fixed display documents feature. Only first document got displayed (Admin App Approval Board - App Detail page, App Marketplace App Detail Page) -* App Release Process - when opening a previously saved app - "save & proceed" is disabled is fixed -* Home - Recommended section images not loading fix -* Application Request Board styling of the application status bar for application fully "DONE" but activation outstanding -* App Release Process - updated long description input validation -* App Release Process - updated business logic to retrieve app use case in new api response format + +- Image import via api image/document endpoint implemented for organization/myCompanySubscription section +- Fixed display documents feature. Only first document got displayed (Admin App Approval Board - App Detail page, App Marketplace App Detail Page) +- App Release Process - when opening a previously saved app - "save & proceed" is disabled is fixed +- Home - Recommended section images not loading fix +- Application Request Board styling of the application status bar for application fully "DONE" but activation outstanding +- App Release Process - updated long description input validation +- App Release Process - updated business logic to retrieve app use case in new api response format ## 1.1.0 ### Change -* Service Marketplace - * documents displayed on service detail page connected to backend call (view and download documents) - * updated styling of multiple subscription display section - * service marketplace service card enhanced by short description -* SharedUIComponents - * modal image behavior for different devices updated + +- Service Marketplace + - documents displayed on service detail page connected to backend call (view and download documents) + - updated styling of multiple subscription display section + - service marketplace service card enhanced by short description +- SharedUIComponents + - modal image behavior for different devices updated ### Feature -* App Conformity Document handling enabled - * enhanced app release process with conformity upload section - * enhance app release process "verify data" with conformity document view and download option - * app admin board - app detail page enhanced by adding conformity document view and download -* SharedUIComponents - * image gallery - added grid layout & parameter to display images in 16:9 ratio -* Service Release Management - * implemented new top navigation section und sub-menu - * implemented service release process intro page - * implemented service release form (initial) + +- App Conformity Document handling enabled + - enhanced app release process with conformity upload section + - enhance app release process "verify data" with conformity document view and download option + - app admin board - app detail page enhanced by adding conformity document view and download +- SharedUIComponents + - image gallery - added grid layout & parameter to display images in 16:9 ratio +- Service Release Management + - implemented new top navigation section und sub-menu + - implemented service release process intro page + - implemented service release form (initial) ### Technical Support -* added a new smart image component to handle all kinds of images, display placeholder while loading and error image on failure -* fix(cve-2023-23916): add package upgrade as temp fix -* chore (gh-org-checks): rename file for stable trivy scan -* chore enable multi branch: add latest tag to released images -* created new component to reduce code duplications between app release process & service release process intro pages + +- added a new smart image component to handle all kinds of images, display placeholder while loading and error image on failure +- fix(cve-2023-23916): add package upgrade as temp fix +- chore (gh-org-checks): rename file for stable trivy scan +- chore enable multi branch: add latest tag to released images +- created new component to reduce code duplications between app release process & service release process intro pages ### Bugfix -* Notification - App Subscription Activation - linked URL updated to 'User Management' -* Connector - DAPS registration retriggering allowed upload document types restricted -* Application Request - Approve/Decline/Retrigger/Cancel Process actions will clear button section and update the checklist/process status inside the overlay as well as the application list + +- Notification - App Subscription Activation - linked URL updated to 'User Management' +- Connector - DAPS registration retriggering allowed upload document types restricted +- Application Request - Approve/Decline/Retrigger/Cancel Process actions will clear button section and update the checklist/process status inside the overlay as well as the application list ## 1.0.0-RC10 ### Change -* Get App Image backend connection updated for (AppMarketplace, AppDetails, App Overview & AdminBoard) + +- Get App Image backend connection updated for (AppMarketplace, AppDetails, App Overview & AdminBoard) ### Feature -* "No Items Found" page/section implemented for (AppMarketplace, ServiceMarketplace, AppOverview, AppSubscription & AdminBoard) -* Application Registration Validation Process - enabled retrigger process of application checklist steps in the overlay screens if applicable -* App Release Process - added delete document function + +- "No Items Found" page/section implemented for (AppMarketplace, ServiceMarketplace, AppOverview, AppSubscription & AdminBoard) +- Application Registration Validation Process - enabled retrigger process of application checklist steps in the overlay screens if applicable +- App Release Process - added delete document function ### Technical Support + n/a ### Bugfix -* Update styling App Management Board -* Invite Business Partner Screen - disabled "detail" button in invitees table -* Semantic Hub & Digital Twin overlays close icon fixed -* Digital Twin overlay sizing of content fixed to stay in given frame/overlay size -* App Release Process - fixed save and edit data handling to display available/saved app data to the user + +- Update styling App Management Board +- Invite Business Partner Screen - disabled "detail" button in invitees table +- Semantic Hub & Digital Twin overlays close icon fixed +- Digital Twin overlay sizing of content fixed to stay in given frame/overlay size +- App Release Process - fixed save and edit data handling to display available/saved app data to the user ## 1.0.0-RC9 ### Change -* App Release Approval Board - * Enabled overlay for decline scenario with customer message -* Notification message content updated and incl. links -* Several help connections implemented (connector, app release, etc.) -* Application Registration - * Retrigger process apis added + +- App Release Approval Board + - Enabled overlay for decline scenario with customer message +- Notification message content updated and incl. links +- Several help connections implemented (connector, app release, etc.) +- Application Registration + - Retrigger process apis added ### Feature -* Connector Registration - * new design with additional information such as host, self-description and status released + +- Connector Registration + - new design with additional information such as host, self-description and status released ### Technical Support + n/a ### Bugfix -* Back navigation issue resolved from notifications to any specific page and back + +- Back navigation issue resolved from notifications to any specific page and back ## 1.0.0-RC8 ### Change -* App Release Process: - * Technical integration - role upload ui changes to ease the usability - * Added new attribute "privacyPolicies" to app creation -* New 'Help Center' connected with the portal help button + +- App Release Process: + - Technical integration - role upload ui changes to ease the usability + - Added new attribute "privacyPolicies" to app creation +- New 'Help Center' connected with the portal help button ### Feature -* Application Approval Board - Checklist overlay - * enabled checklist details with comments and status via backend api connection - * enabled approval and decline interfaces for the manual data validation + +- Application Approval Board - Checklist overlay + - enabled checklist details with comments and status via backend api connection + - enabled approval and decline interfaces for the manual data validation ### Technical Support -* resolve dependabot findings -* temp fix for cve-2023-0286 -* add missing '--no-cache': apk update && apk add + +- resolve dependabot findings +- temp fix for cve-2023-0286 +- add missing '--no-cache': apk update && apk add ### Bugfix -* User Management: App role assignment - cache issue resolved + +- User Management: App role assignment - cache issue resolved ## 1.0.0-RC7 ### Change -* Admin App Approval Board - app detail page released when clicking on app card + +- Admin App Approval Board - app detail page released when clicking on app card ### Feature + n/a ### Technical Support + n/a ### Bugfix -* Notification delete mechanism updated - auto page reload + +- Notification delete mechanism updated - auto page reload ## 1.0.0-RC6 ### Change -* App Release Process - * Set 'UseCase selection' and 'app supported language' to mandatory - * app role upload further refined with better user support + +- App Release Process + - Set 'UseCase selection' and 'app supported language' to mandatory + - app role upload further refined with better user support ### Feature -* Company Registration Approval Board - * implemented and backend connected the application cancel process flow - * checklist-worker fully implemented for not finalized/closed applications + +- Company Registration Approval Board + - implemented and backend connected the application cancel process flow + - checklist-worker fully implemented for not finalized/closed applications ### Technical Support + n/a ### Bugfix + n/a ## 1.0.0-RC5 ### Change -* Application company detail overlay updated to manage unique ids based on the backend response -* App Release Process - * Technical Integration - roles upload & deletion functionality + +- Application company detail overlay updated to manage unique ids based on the backend response +- App Release Process + - Technical Integration - roles upload & deletion functionality ### Feature -* Application approval checklist implementation with checklist worker; status and overlay (ongoing) -* Shared Components - * Dropzone file deletion overlay for deletion confirmation released + +- Application approval checklist implementation with checklist worker; status and overlay (ongoing) +- Shared Components + - Dropzone file deletion overlay for deletion confirmation released ### Technical Support -* Static Template handling updated to fetch content from asset repo for more flexibility and code separation from content & support of multi-language activated + +- Static Template handling updated to fetch content from asset repo for more flexibility and code separation from content & support of multi-language activated ### Bugfix -* App details page fixed -* Add/Create user account field validations re-activated -* App release process - Changed regex validation for 'Provider Homepage' field -* App release process - Document upload in 'technical guide' field -* Refetch updated notification list on delete action -* Connector file type/size error updated + +- App details page fixed +- Add/Create user account field validations re-activated +- App release process - Changed regex validation for 'Provider Homepage' field +- App release process - Document upload in 'technical guide' field +- Refetch updated notification list on delete action +- Connector file type/size error updated ## 1.0.0-RC4 ### Change + n/a ### Feature + n/a ### Technical Support -* Static Template handling updated to fetch content from asset repo for more flexibility and code separation from content & support of multi-language activated + +- Static Template handling updated to fetch content from asset repo for more flexibility and code separation from content & support of multi-language activated ### Bugfix -* App release process bugs fixed such as multiple document upload, fetch uploaded roles from backend -* App release management board - views tabs fixed -* Notification URLs for notification messages updated -* Connector registration overlay overlapping tooltip icon fixed +- App release process bugs fixed such as multiple document upload, fetch uploaded roles from backend +- App release management board - views tabs fixed +- Notification URLs for notification messages updated +- Connector registration overlay overlapping tooltip icon fixed ## 1.0.0-RC3 ### Change ### Feature -* User Management - * create single user account support of company idp -* Released App Management Board for Operator to managed app publishing requests + +- User Management + - create single user account support of company idp +- Released App Management Board for Operator to managed app publishing requests ### Technical Support + n/a ### Bugfix -* Translations and couple of text messages updated -* My business apllication area fixed by removing cache relation for app card images -* App release process bugs fixed such as incorrect mandatory fields; file upload handling, etc. + +- Translations and couple of text messages updated +- My business apllication area fixed by removing cache relation for app card images +- App release process bugs fixed such as incorrect mandatory fields; file upload handling, etc. ## 1.0.0-RC2 ### Change -* Dialog Header - * Update Dialog header font size to 24px -* Admin Board - App Release (Page) - * Created Admin Board Page - * Connect with API's - * BL&API Approve app release - * BL&API Decline app release -* Bugfix - * Change Email Pattern Regex to fix Hostspot -* User Management main page - * update dialog header & font style/size -* Apps - * removed asset repo dependency and connect backend apis to fetch lead images -* App Release Process - * step 4 "role management" connected with apis to support GET / POST and DELETE - * Company role introduction page styling sizes updated - * Added content for company role introduction & use case introduction pages + +- Dialog Header + - Update Dialog header font size to 24px +- Admin Board - App Release (Page) + - Created Admin Board Page + - Connect with API's + - BL&API Approve app release + - BL&API Decline app release +- Bugfix + - Change Email Pattern Regex to fix Hostspot +- User Management main page + - update dialog header & font style/size +- Apps + - removed asset repo dependency and connect backend apis to fetch lead images +- App Release Process + - step 4 "role management" connected with apis to support GET / POST and DELETE + - Company role introduction page styling sizes updated + - Added content for company role introduction & use case introduction pages ### Feature + n/a ### Technical Support -* Email pattern / regular expression updated + +- Email pattern / regular expression updated ### Bugfix -* App access management - carousel style updated & card height fixed + +- App access management - carousel style updated & card height fixed ## 1.0.0-RC1 ### Change -* User management - * app Access placeholder component implemented which is getting used in case no active app subscription does exist - * user table headlines updated - * updated page header size and image -* Updates - Connector - * overlays updated (dropzone headline added; changed "Cancel" to "Back" Button, add top right cancel icon inside the overlay) - * tooltips added for connector table to explain status icons -* Registration Request Approval Board - * page layout updated - * filter feature enabled - * company data details overlay extended with company role and documents -* Notification - * Badge count added inside the user icon sub-navigation - * notification message title and content updated by supporting new technical keys + +- User management + - app Access placeholder component implemented which is getting used in case no active app subscription does exist + - user table headlines updated + - updated page header size and image +- Updates - Connector + - overlays updated (dropzone headline added; changed "Cancel" to "Back" Button, add top right cancel icon inside the overlay) + - tooltips added for connector table to explain status icons +- Registration Request Approval Board + - page layout updated + - filter feature enabled + - company data details overlay extended with company role and documents +- Notification + - Badge count added inside the user icon sub-navigation + - notification message title and content updated by supporting new technical keys ### Feature -* Use case introduction page released -* Shared Components - * created "Side List" component - * created "Draggable Chip" component - * created "Static Page" templates for introduction pages - * created "Image Item" with zoom and hover function as well as update of "Image Gallery" -* App Release Process - * step 4 limited to role upload/handling only - * step 5 Beta Test page updated with preview content for future releases - * app card component of step 1 connected with the leadimage load element to display the leadimage inside the card in realtime -* App Change Process released - * created deactivate sub-menu component in App Provider Overview Page - * created app deactivate page and connected the app/deactivation api -* App Subscription Management Board for app providers got newly released - * overview of active app subscriptions and new requests - * filter & search function on subscriptions - * subscription activation function implemented with direct user response such es technical user creation - * autosetup url storage for the app provider enabled via user interface -* Identity Provider Management released - * connect company OIDC idps enabled via portal user workflow - * user migration function enabled to support migration of users from one idp to another + +- Use case introduction page released +- Shared Components + - created "Side List" component + - created "Draggable Chip" component + - created "Static Page" templates for introduction pages + - created "Image Item" with zoom and hover function as well as update of "Image Gallery" +- App Release Process + - step 4 limited to role upload/handling only + - step 5 Beta Test page updated with preview content for future releases + - app card component of step 1 connected with the leadimage load element to display the leadimage inside the card in realtime +- App Change Process released + - created deactivate sub-menu component in App Provider Overview Page + - created app deactivate page and connected the app/deactivation api +- App Subscription Management Board for app providers got newly released + - overview of active app subscriptions and new requests + - filter & search function on subscriptions + - subscription activation function implemented with direct user response such es technical user creation + - autosetup url storage for the app provider enabled via user interface +- Identity Provider Management released + - connect company OIDC idps enabled via portal user workflow + - user migration function enabled to support migration of users from one idp to another ### Technical Support + Portal asset repo image drag disabled for all transactional images (such as app images) ![Tag](https://img.shields.io/static/v1?label=&message=BreakingChange&color=yellow&style=flat) ### Bugfix -* User Management: assign multiple users to an role got fixed -* Connector: - * fixed issue on clicking info icon trigger delete action - * show tooltip message on hover of info icon - * enable authentication flow -* Technical User: overlay static user data now getting fetched from the user token -* AppOverview: navigation to app release process screen with auto filled app data got fixed for apps in status "In PROGRESS" + +- User Management: assign multiple users to an role got fixed +- Connector: + - fixed issue on clicking info icon trigger delete action + - show tooltip message on hover of info icon + - enable authentication flow +- Technical User: overlay static user data now getting fetched from the user token +- AppOverview: navigation to app release process screen with auto filled app data got fixed for apps in status "In PROGRESS" ## 0.10.0 ### Change -* Shared Components - * "load more" button component released with new design - * page snackbar component released with new design - * page snackbar auto closure implemented (as variant) - * page snackbar positioning updated - * tooltip enhanced by adding light color variant -* Partner Network - * Stop throbber in case of error and show No rows present message - * Empty details overlay issue fix - + +- Shared Components + - "load more" button component released with new design + - page snackbar component released with new design + - page snackbar auto closure implemented (as variant) + - page snackbar positioning updated + - tooltip enhanced by adding light color variant +- Partner Network + - Stop throbber in case of error and show No rows present message + - Empty details overlay issue fix + ### Feature -* Service Marketplace - * new UI released - * enabled different views by service category - * enabled sorting and in-page search -* Connector Registration - * style updated and connector details enhanced inside the "my connectors" table - * added DAPS logic and file upload inside the connector registration ui and business logic -* Notifications Service - * enabled sorting and filtering - * pagination enabled by adding "load more" function and receiving pagination details via api + +- Service Marketplace + - new UI released + - enabled different views by service category + - enabled sorting and in-page search +- Connector Registration + - style updated and connector details enhanced inside the "my connectors" table + - added DAPS logic and file upload inside the connector registration ui and business logic +- Notifications Service + - enabled sorting and filtering + - pagination enabled by adding "load more" function and receiving pagination details via api ### Technical Support -* n/a + +- n/a ### Bugfix -* Technical User creation: Removed multi overlay layering and corrected response style -* Notification Service: - * modal for message deletion page positioning fixed - * sort icon behavior on click/mouse over fixed - * notification api trigger logic fixed -* App user management: user role deletion fixed +- Technical User creation: Removed multi overlay layering and corrected response style +- Notification Service: + - modal for message deletion page positioning fixed + - sort icon behavior on click/mouse over fixed + - notification api trigger logic fixed +- App user management: user role deletion fixed ## 0.9.0 ### Change -* Shared Components - * SelectList component - property/parameter added to clear the select list input -* App Release Process - * Sales Manager Get, Select and drop down enabled for app creation - * "Save" Button enabling with update PUT api call + +- Shared Components + - SelectList component - property/parameter added to clear the select list input +- App Release Process + - Sales Manager Get, Select and drop down enabled for app creation + - "Save" Button enabling with update PUT api call ### Feature -* Marketplace - * App subscription consent agreement included inside the user flow with api triggering -* Identity Provider - * Create, update and enable new idp integration for ownIdP usage (companyIdP) -* Notifications Service - * Release of new notification design with filtering, viewing & pagination - * Highlight of unread messages - * Delete notification function enabled -* Registration Approval Board - * Enable handling of registrations without bpn by adding a bpn input field with api connection -* User management - * Auto navigation to Identity Management section after deleting an user - * App User tables - content api call filtering activated to reduce response to needed result -* Company Role Introduction - * Active Participant introduction page - * App Provider introduction page - * Service Provider introduction page + +- Marketplace + - App subscription consent agreement included inside the user flow with api triggering +- Identity Provider + - Create, update and enable new idp integration for ownIdP usage (companyIdP) +- Notifications Service + - Release of new notification design with filtering, viewing & pagination + - Highlight of unread messages + - Delete notification function enabled +- Registration Approval Board + - Enable handling of registrations without bpn by adding a bpn input field with api connection +- User management + - Auto navigation to Identity Management section after deleting an user + - App User tables - content api call filtering activated to reduce response to needed result +- Company Role Introduction + - Active Participant introduction page + - App Provider introduction page + - Service Provider introduction page ### Technical Support -* n/a + +- n/a ### Bugfix -* n/a + +- n/a ## 0.8.0 ### Change -* Connector Registration - * Enable "Company as a Service" connector registration via modal; connected to portal backend and SD Factory - * Input field pattern validation established - * Updated delete connector integration + +- Connector Registration + - Enable "Company as a Service" connector registration via modal; connected to portal backend and SD Factory + - Input field pattern validation established + - Updated delete connector integration ### Feature -* User Management - user account creation for portal connected to company role validation to reduce and validate available portal roles which the member company can assign (related to the company signed company role agreements) -* User Account - * Enabled my user account deletion flow and backend integration - * Error and success overlay added for password reset button/logic - * Disabled "Suspend" user button + +- User Management - user account creation for portal connected to company role validation to reduce and validate available portal roles which the member company can assign (related to the company signed company role agreements) +- User Account + - Enabled my user account deletion flow and backend integration + - Error and success overlay added for password reset button/logic + - Disabled "Suspend" user button ### Technical Support -* n/a + +- n/a ### Bugfix -* User Invite - error pattern validation integrated -* Shared Components - * Image components updated & svg file loaded - * Drop-Down list + +- User Invite - error pattern validation integrated +- Shared Components + - Image components updated & svg file loaded + - Drop-Down list ## 0.7.0 ### Change -* App Release Process - * Added headline and subtext - * Removed input field placeholders where not necessary - * Activated app card always on viewport function inside the app card creation of the app release process - * Updated app card sizing -* Service Marketplace - * Service subscription detail section - added subscription status + +- App Release Process + - Added headline and subtext + - Removed input field placeholders where not necessary + - Activated app card always on viewport function inside the app card creation of the app release process + - Updated app card sizing +- Service Marketplace + - Service subscription detail section - added subscription status ### Feature -* App Marketplace - * Subscription data submission to third party and enablement of terms & condition agreement/consent -* User Management - * App role assignment for multiple users implemented + +- App Marketplace + - Subscription data submission to third party and enablement of terms & condition agreement/consent +- User Management + - App role assignment for multiple users implemented ### Technical Support -* n/a + +- n/a ### Bugfix -* App Release Process - Page sizing fixed -* My Organization - BPN data field allocation aligned -* User Management - User table auto-refresh enabled after new user invite; business logic of user status inside the user table updated to display correct status -* Central Search - Result list gave an issue on app title value + +- App Release Process - Page sizing fixed +- My Organization - BPN data field allocation aligned +- User Management - User table auto-refresh enabled after new user invite; business logic of user status inside the user table updated to display correct status +- Central Search - Result list gave an issue on app title value ## 0.6.0 ### Change -* n/a + +- n/a ### Feature -* Application Management Board: Manage application request (by viewing company details and documents) and approve or cancel company applications. -* User Management: View own company users, invite new users and assign app roles for subscribed apps. Additionally, the technical user self-service got released and supports now the creation of technical users as part of the user company account. -* App Marketplace: Enables user to search for apps, display app details and subscribe for an app. Also app favorites tags are added. -* App Overview: App overview supports the app provider to see own published apps, check the status, progress unfinished app releases and start the registration of a new app. -* UiComponents: SharedUiComponent library got released and is usable for other projects with a number of ui react components + +- Application Management Board: Manage application request (by viewing company details and documents) and approve or cancel company applications. +- User Management: View own company users, invite new users and assign app roles for subscribed apps. Additionally, the technical user self-service got released and supports now the creation of technical users as part of the user company account. +- App Marketplace: Enables user to search for apps, display app details and subscribe for an app. Also app favorites tags are added. +- App Overview: App overview supports the app provider to see own published apps, check the status, progress unfinished app releases and start the registration of a new app. +- UiComponents: SharedUiComponent library got released and is usable for other projects with a number of ui react components ### Technical Support -* n/a + +- n/a ### Bugfix -* n/a + +- n/a ## 0.5.5 -* Feature - App Overview page -* Feature - Add and edit Identity Provider details -* Feature - BPN add/delete flow in User Account Screen -* Feature - User Management - Success/Fail Message -* Feature - Expand on hover feature added to CardHorizontal component. -* Feature - Add download document in application request page -* Feature - Add User Role Overlay (refactoring) -* Feature - Assign user role (refactoring) -* Feature - Show subscription box after subscribed immediately -* Feature - App Release Process - upload functionality -* Feature - App Detail - Fetch Documents -* Feature - Shared Components - Transmission Chip button -* Feature - App Release Process - Business Logic & API - Submit App for review -* Feature - Transition button added to Registration table -* Feature - Expand on hover feature added to CardHorizontal component. -* Feature - Add download document in application request page -* Feature - Add User Role Overlay (refactoring) -* Feature - App Release Process - upload functionality -* Bugfix - Connect Partner Network to BPDM -* Bugfix - UI updates in UltimateToolbar component -* Bugfix - Registration table UI fixes -* Bugfix - App Release Process - Fixed browser back button issue -* Bugfix - User Management Main Page Style fix -* Bugfix - App Release Process - Fixed user directing to bottom of the page -* Bugfix - Services Card Responsive UI Fix -* Bugfix - Partner network search issue fix -* Bugfix - CardHorizontal - Height issue fix -* Bugfix - Bind app subscribe status in my organization page -* Bugfix - App Marketplace - Subscription Button update needed -* Bugfix - Service Marketplace - Page Padding Margin UI Fix and Provider Table Border Fix -* Bugfix - User Experience - delete request id from registration admin board +- Feature - App Overview page +- Feature - Add and edit Identity Provider details +- Feature - BPN add/delete flow in User Account Screen +- Feature - User Management - Success/Fail Message +- Feature - Expand on hover feature added to CardHorizontal component. +- Feature - Add download document in application request page +- Feature - Add User Role Overlay (refactoring) +- Feature - Assign user role (refactoring) +- Feature - Show subscription box after subscribed immediately +- Feature - App Release Process - upload functionality +- Feature - App Detail - Fetch Documents +- Feature - Shared Components - Transmission Chip button +- Feature - App Release Process - Business Logic & API - Submit App for review +- Feature - Transition button added to Registration table +- Feature - Expand on hover feature added to CardHorizontal component. +- Feature - Add download document in application request page +- Feature - Add User Role Overlay (refactoring) +- Feature - App Release Process - upload functionality +- Bugfix - Connect Partner Network to BPDM +- Bugfix - UI updates in UltimateToolbar component +- Bugfix - Registration table UI fixes +- Bugfix - App Release Process - Fixed browser back button issue +- Bugfix - User Management Main Page Style fix +- Bugfix - App Release Process - Fixed user directing to bottom of the page +- Bugfix - Services Card Responsive UI Fix +- Bugfix - Partner network search issue fix +- Bugfix - CardHorizontal - Height issue fix +- Bugfix - Bind app subscribe status in my organization page +- Bugfix - App Marketplace - Subscription Button update needed +- Bugfix - Service Marketplace - Page Padding Margin UI Fix and Provider Table Border Fix +- Bugfix - User Experience - delete request id from registration admin board ## 0.5.4 -* Feature - Service Marketplace -* Feature - Identity Providers -* Feature - My Organization page -* Feature - App Release Process Steps 2 with business logic, 3 with api binding, 6 with UI, 4 with UI -* Feature - Search functionality added in Register Request table -* Feature - Add "CX Membership" flag in Partner Network -* Bugfix - Show loader on clicking decline or confirm from application request screen -* Bugfix - Show error popup on failure of approve or decline request -* Bugfix - Text updates on company data overlay -* Bugfix - Fixed modal width, subscribe refetch and services loading effect -* Bugfix - User Management - AddUser Roles missing +- Feature - Service Marketplace +- Feature - Identity Providers +- Feature - My Organization page +- Feature - App Release Process Steps 2 with business logic, 3 with api binding, 6 with UI, 4 with UI +- Feature - Search functionality added in Register Request table +- Feature - Add "CX Membership" flag in Partner Network +- Bugfix - Show loader on clicking decline or confirm from application request screen +- Bugfix - Show error popup on failure of approve or decline request +- Bugfix - Text updates on company data overlay +- Bugfix - Fixed modal width, subscribe refetch and services loading effect +- Bugfix - User Management - AddUser Roles missing ## 0.5.3 -* Feature - App Release Process Step 1 implementation with api binding -* Feature - Show app roles in user details -* Feature - Connect Notifications API -* Feature - App Release Process Step 5 - Beta Test -* Feature - Search functionality added in Invite Business Partner page -* Feature - Identity provider list and detail view +- Feature - App Release Process Step 1 implementation with api binding +- Feature - Show app roles in user details +- Feature - Connect Notifications API +- Feature - App Release Process Step 5 - Beta Test +- Feature - Search functionality added in Invite Business Partner page +- Feature - Identity provider list and detail view ## 0.5.2 -* Feature - Added Release Notes ;) -* Feature - Technical User details page -* Feature - Technical User role selection dropdown -* Feature - User Management App Access Carousel -* Feature - App Release Process Step 1 -* Feature - Digital Twin Table component exchange and deletion of faulty filters -* Feature - Partner Network single search for multiple endpoints & UI update -* Feature - Search in User and App User table -* Feature - New components date picker, table style, lightweight dropzone, in screen navigation, single dropdown, load button -* Bugfix - Business Apps displayed correctly and links working -* Bugfix - Restrict supported languages to 'en' and 'de' without local variants -* Bugfix - Removed empty 'Organization' option from user menu -* Bugfix - Footer fixed to bottom of window -* Bugfix - Some alignment and content fixes +- Feature - Added Release Notes ;) +- Feature - Technical User details page +- Feature - Technical User role selection dropdown +- Feature - User Management App Access Carousel +- Feature - App Release Process Step 1 +- Feature - Digital Twin Table component exchange and deletion of faulty filters +- Feature - Partner Network single search for multiple endpoints & UI update +- Feature - Search in User and App User table +- Feature - New components date picker, table style, lightweight dropzone, in screen navigation, single dropdown, load button +- Bugfix - Business Apps displayed correctly and links working +- Bugfix - Restrict supported languages to 'en' and 'de' without local variants +- Bugfix - Removed empty 'Organization' option from user menu +- Bugfix - Footer fixed to bottom of window +- Bugfix - Some alignment and content fixes ### Older -* Defect - Page reloads when the auth token is renewed -* Defect - Latest apps are static -* Defect - Some footer pages and menu items are empty +- Defect - Page reloads when the auth token is renewed +- Defect - Latest apps are static +- Defect - Some footer pages and menu items are empty diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index b097564d5..007ea8bb6 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -68,6 +68,7 @@ Reports should be directed to . It is the Conduc The Eclipse Foundation takes all reports of potential Code violations seriously and is committed to confidentiality and a full investigation of all allegations. The identity of the reporter will be omitted from the details of the report supplied to the accused. Contributors who are being investigated for a potential Code violation will have an opportunity to be heard prior to any final determination. Those found to have violated the Code can seek reconsideration of the violation and disciplinary action decisions. Every effort will be made to have all matters disposed of within 60 days of the receipt of the complaint. ## Actions + Contributors who do not follow this Code in good faith may face temporary or permanent repercussions as determined by the Conduct Committee. This Code does not address all conduct. It works in conjunction with our [Communication Channel Guidelines](https://www.eclipse.org/org/documents/communication-channel-guidelines/), [Social Media Guidelines](https://www.eclipse.org/org/documents/social_media_guidelines.php), [Bylaws](https://www.eclipse.org/org/documents/eclipse-foundation-be-bylaws-en.pdf), and [Internal Rules](https://www.eclipse.org/org/documents/ef-be-internal-rules.pdf) which set out additional protections for, and obligations of, all contributors. The Foundation has additional policies that provide further guidance on other matters. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1915f50a3..c55939582 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,33 +14,33 @@ where these companies will be able to participate quickly and with little IT infrastructure investment. Tractus-X is meant to be the PoC project of the Catena-X alliance focusing on parts traceability. -* https://projects.eclipse.org/projects/automotive.tractusx +- https://projects.eclipse.org/projects/automotive.tractusx ## Developer resources Information regarding source code management, builds, coding standards, and more. -* https://projects.eclipse.org/projects/automotive.tractusx/developer +- https://projects.eclipse.org/projects/automotive.tractusx/developer The project maintains the source code repositories in the following GitHub organization: -* https://github.com/eclipse-tractusx/ +- https://github.com/eclipse-tractusx/ ## Eclipse Development Process This Eclipse Foundation open project is governed by the Eclipse Foundation Development Process and operates under the terms of the Eclipse IP Policy. -* https://eclipse.org/projects/dev_process -* https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf +- https://eclipse.org/projects/dev_process +- https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf ## Eclipse Contributor Agreement In order to be able to contribute to Eclipse Foundation projects you must electronically sign the Eclipse Contributor Agreement (ECA). -* http://www.eclipse.org/legal/ECA.php +- http://www.eclipse.org/legal/ECA.php The ECA provides the Eclipse Foundation with a permanent record that you agree that each of your contributions will comply with the commitments documented in @@ -55,4 +55,4 @@ https://www.eclipse.org/projects/handbook/#resources-commit Contact the project developers via the project's "dev" list. -* https://accounts.eclipse.org/mailing-list/tractusx-dev +- https://accounts.eclipse.org/mailing-list/tractusx-dev diff --git a/DEPENDENCIES b/DEPENDENCIES index 9a8efb4f9..f11019df2 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -1,6941 +1,1338 @@ -yarn licenses v1.22.19 -├─ (AFL-2.1 OR BSD-3-Clause) -│ └─ json-schema@0.4.0 -│ ├─ URL: http://github.com/kriszyp/json-schema -│ └─ VendorName: Kris Zyp -├─ (Apache-2.0 OR MPL-1.1) -│ └─ harmony-reflect@1.6.2 -│ ├─ URL: https://tvcutsem@github.com/tvcutsem/harmony-reflect.git -│ └─ VendorUrl: https://github.com/tvcutsem/harmony-reflect -├─ (BSD-3-Clause OR GPL-2.0) -│ └─ node-forge@1.3.0 -│ ├─ URL: https://github.com/digitalbazaar/forge -│ ├─ VendorName: Digital Bazaar, Inc. -│ └─ VendorUrl: https://github.com/digitalbazaar/forge -├─ (MIT AND BSD-3-Clause) -│ └─ sha.js@2.4.11 -│ ├─ URL: git://github.com/crypto-browserify/sha.js.git -│ ├─ VendorName: Dominic Tarr -│ └─ VendorUrl: https://github.com/crypto-browserify/sha.js -├─ (MIT AND Zlib) -│ └─ pako@1.0.11 -│ ├─ URL: https://github.com/nodeca/pako.git -│ └─ VendorUrl: https://github.com/nodeca/pako -├─ (MIT OR Apache-2.0) -│ └─ atob@2.1.2 -│ ├─ URL: git://git.coolaj86.com/coolaj86/atob.js.git -│ ├─ VendorName: AJ ONeal -│ └─ VendorUrl: https://git.coolaj86.com/coolaj86/atob.js.git -├─ (MIT OR CC0-1.0) -│ ├─ type-fest@0.16.0 -│ │ ├─ URL: https://github.com/sindresorhus/type-fest.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ type-fest@0.20.2 -│ │ ├─ URL: https://github.com/sindresorhus/type-fest.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ type-fest@0.21.3 -│ │ ├─ URL: https://github.com/sindresorhus/type-fest.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ type-fest@0.6.0 -│ │ ├─ URL: https://github.com/sindresorhus/type-fest.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ └─ type-fest@0.8.1 -│ ├─ URL: https://github.com/sindresorhus/type-fest.git -│ ├─ VendorName: Sindre Sorhus -│ └─ VendorUrl: sindresorhus.com -├─ (MIT OR GPL-3.0) -│ └─ store2@2.13.2 -│ ├─ URL: http://github.com/nbubna/store.git -│ ├─ VendorName: Nathan Bubna -│ └─ VendorUrl: http://www.esha.com/ -├─ 0BSD -│ ├─ tslib@1.14.1 -│ │ ├─ URL: https://github.com/Microsoft/tslib.git -│ │ ├─ VendorName: Microsoft Corp. -│ │ └─ VendorUrl: https://www.typescriptlang.org/ -│ ├─ tslib@2.3.1 -│ │ ├─ URL: https://github.com/Microsoft/tslib.git -│ │ ├─ VendorName: Microsoft Corp. -│ │ └─ VendorUrl: https://www.typescriptlang.org/ -│ └─ tslib@2.4.0 -│ ├─ URL: https://github.com/Microsoft/tslib.git -│ ├─ VendorName: Microsoft Corp. -│ └─ VendorUrl: https://www.typescriptlang.org/ -├─ Apache-2.0 -│ ├─ @ampproject/remapping@2.1.2 -│ │ ├─ URL: git+https://github.com/ampproject/remapping.git -│ │ └─ VendorName: Justin Ridgewell -│ ├─ @cnakazawa/watch@1.0.4 -│ │ ├─ URL: git://github.com/mikeal/watch.git -│ │ ├─ VendorName: Mikeal Rogers -│ │ └─ VendorUrl: https://github.com/mikeal/watch -│ ├─ @humanwhocodes/config-array@0.9.5 -│ │ ├─ URL: git+https://github.com/humanwhocodes/config-array.git -│ │ ├─ VendorName: Nicholas C. Zakas -│ │ └─ VendorUrl: https://github.com/humanwhocodes/config-array#readme -│ ├─ @surma/rollup-plugin-off-main-thread@2.2.3 -│ │ ├─ URL: https://github.com/surma/rollup-plugin-off-main-thread -│ │ └─ VendorName: Surma -│ ├─ @webassemblyjs/leb128@1.11.1 -│ │ └─ URL: https://github.com/xtuc/webassemblyjs.git -│ ├─ @xtuc/long@4.2.2 -│ │ ├─ URL: https://github.com/dcodeIO/long.js.git -│ │ └─ VendorName: Daniel Wirtz -│ ├─ acorn-node@1.8.2 -│ │ ├─ URL: https://github.com/browserify/acorn-node.git -│ │ ├─ VendorName: Renée Kooi -│ │ └─ VendorUrl: https://github.com/browserify/acorn-node -│ ├─ ansi-html-community@0.0.8 -│ │ ├─ URL: git://github.com/mahdyar/ansi-html-community.git -│ │ ├─ VendorName: mahdyar -│ │ └─ VendorUrl: https://github.com/mahdyar/ansi-html-community -│ ├─ aria-query@4.2.2 -│ │ ├─ URL: git+https://github.com/A11yance/aria-query.git -│ │ ├─ VendorName: Jesse Beach -│ │ └─ VendorUrl: https://github.com/A11yance/aria-query#readme -│ ├─ aria-query@5.0.0 -│ │ ├─ URL: git+https://github.com/A11yance/aria-query.git -│ │ ├─ VendorName: Jesse Beach -│ │ └─ VendorUrl: https://github.com/A11yance/aria-query#readme -│ ├─ axobject-query@2.2.0 -│ │ ├─ URL: git+https://github.com/A11yance/axobject-query.git -│ │ ├─ VendorName: Jesse Beach -│ │ └─ VendorUrl: https://github.com/A11yance/axobject-query#readme -│ ├─ bser@2.1.1 -│ │ ├─ URL: https://github.com/facebook/watchman -│ │ ├─ VendorName: Wez Furlong -│ │ └─ VendorUrl: https://facebook.github.io/watchman/docs/bser.html -│ ├─ cx-portal-shared-components@1.5.0 -│ │ ├─ URL: https://github.com/eclipse-tractusx/portal-frontend.git -│ │ ├─ VendorName: Catena-X Contributors -│ │ └─ VendorUrl: https://catena-x.net/ -│ ├─ cx-portal@1.5.0 -│ ├─ didyoumean@1.2.2 -│ │ ├─ URL: https://github.com/dcporter/didyoumean.js.git -│ │ ├─ VendorName: Dave Porter -│ │ └─ VendorUrl: https://github.com/dcporter/didyoumean.js -│ ├─ doctrine@2.1.0 -│ │ ├─ URL: https://github.com/eslint/doctrine.git -│ │ └─ VendorUrl: https://github.com/eslint/doctrine -│ ├─ doctrine@3.0.0 -│ │ ├─ URL: https://github.com/eslint/doctrine.git -│ │ └─ VendorUrl: https://github.com/eslint/doctrine -│ ├─ ejs@3.1.7 -│ │ ├─ URL: git://github.com/mde/ejs.git -│ │ ├─ VendorName: Matthew Eernisse -│ │ └─ VendorUrl: https://github.com/mde/ejs -│ ├─ eslint-visitor-keys@2.1.0 -│ │ ├─ URL: https://github.com/eslint/eslint-visitor-keys.git -│ │ ├─ VendorName: Toru Nagashima -│ │ └─ VendorUrl: https://github.com/eslint/eslint-visitor-keys#readme -│ ├─ eslint-visitor-keys@3.3.0 -│ │ ├─ URL: https://github.com/eslint/eslint-visitor-keys.git -│ │ ├─ VendorName: Toru Nagashima -│ │ └─ VendorUrl: https://github.com/eslint/eslint-visitor-keys#readme -│ ├─ fast-diff@1.2.0 -│ │ ├─ URL: https://github.com/jhchen/fast-diff -│ │ └─ VendorName: Jason Chen -│ ├─ faye-websocket@0.11.4 -│ │ ├─ URL: git://github.com/faye/faye-websocket-node.git -│ │ ├─ VendorName: James Coglan -│ │ └─ VendorUrl: https://github.com/faye/faye-websocket-node -│ ├─ fb-watchman@2.0.1 -│ │ ├─ URL: git@github.com:facebook/watchman.git -│ │ ├─ VendorName: Wez Furlong -│ │ └─ VendorUrl: https://facebook.github.io/watchman/ -│ ├─ filelist@1.0.3 -│ │ ├─ URL: git://github.com/mde/filelist.git -│ │ ├─ VendorName: Matthew Eernisse -│ │ └─ VendorUrl: https://github.com/mde/filelist -│ ├─ fuse.js@3.6.1 -│ │ ├─ URL: https://github.com/krisk/Fuse.git -│ │ ├─ VendorName: Kirollos Risk -│ │ └─ VendorUrl: http://fusejs.io/ -│ ├─ human-signals@2.1.0 -│ │ ├─ URL: https://github.com/ehmicky/human-signals.git -│ │ ├─ VendorName: ehmicky -│ │ └─ VendorUrl: https://git.io/JeluP -│ ├─ jake@10.8.5 -│ │ ├─ URL: git://github.com/jakejs/jake.git -│ │ ├─ VendorName: Matthew Eernisse -│ │ └─ VendorUrl: http://fleegix.org -│ ├─ keycloak-js@17.0.0 -│ │ ├─ URL: https://github.com/keycloak/keycloak -│ │ ├─ VendorName: Keycloak -│ │ └─ VendorUrl: https://www.keycloak.org/ -│ ├─ lazy-universal-dotenv@3.0.1 -│ │ ├─ URL: git+https://github.com/storybooks/lazy-universal-dotenv.git -│ │ ├─ VendorName: Storybook Team -│ │ └─ VendorUrl: https://github.com/storybooks/lazy-universal-dotenv#readme -│ ├─ react-helmet-async@1.2.3 -│ │ ├─ URL: http://github.com/staylor/react-helmet-async -│ │ └─ VendorName: Scott Taylor -│ ├─ spdx-correct@3.1.1 -│ │ ├─ URL: https://github.com/jslicense/spdx-correct.js.git -│ │ ├─ VendorName: Kyle E. Mitchell -│ │ └─ VendorUrl: https://kemitchell.com -│ ├─ typescript@4.6.2 -│ │ ├─ URL: https://github.com/Microsoft/TypeScript.git -│ │ ├─ VendorName: Microsoft Corp. -│ │ └─ VendorUrl: https://www.typescriptlang.org/ -│ ├─ validate-npm-package-license@3.0.4 -│ │ ├─ URL: https://github.com/kemitchell/validate-npm-package-license.js.git -│ │ ├─ VendorName: Kyle E. Mitchell -│ │ └─ VendorUrl: https://kemitchell.com -│ ├─ walker@1.0.8 -│ │ ├─ URL: https://github.com/daaku/nodejs-walker -│ │ ├─ VendorName: Naitik Shah -│ │ └─ VendorUrl: https://github.com/daaku/nodejs-walker -│ ├─ websocket-driver@0.7.4 -│ │ ├─ URL: git://github.com/faye/websocket-driver-node.git -│ │ ├─ VendorName: James Coglan -│ │ └─ VendorUrl: https://github.com/faye/websocket-driver-node -│ ├─ websocket-extensions@0.1.4 -│ │ ├─ URL: git://github.com/faye/websocket-extensions-node.git -│ │ ├─ VendorName: James Coglan -│ │ └─ VendorUrl: http://github.com/faye/websocket-extensions-node -│ ├─ workspace-aggregator-3fb187a5-bc1e-4bdc-823e-aa8e9947d70a@1.5.0 -│ └─ xml-name-validator@3.0.0 -│ ├─ URL: https://github.com/jsdom/xml-name-validator.git -│ ├─ VendorName: Domenic Denicola -│ └─ VendorUrl: https://domenic.me/ -├─ BSD -│ └─ glob-to-regexp@0.3.0 -│ ├─ URL: https://github.com/fitzgen/glob-to-regexp.git -│ └─ VendorName: Nick Fitzgerald -├─ BSD-2-Clause -│ ├─ @base2/pretty-print-object@1.0.1 -│ │ ├─ URL: https://github.com/Chris-Baker/pretty-print-object -│ │ └─ VendorName: Chris Baker -│ ├─ @typescript-eslint/parser@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ @typescript-eslint/typescript-estree@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ browser-process-hrtime@1.0.0 -│ │ ├─ URL: git://github.com/kumavis/browser-process-hrtime.git -│ │ └─ VendorName: kumavis -│ ├─ css-select@2.1.0 -│ │ ├─ URL: git://github.com/fb55/css-select.git -│ │ └─ VendorName: Felix Boehm -│ ├─ css-select@4.2.1 -│ │ ├─ URL: git://github.com/fb55/css-select.git -│ │ └─ VendorName: Felix Boehm -│ ├─ css-what@3.4.2 -│ │ ├─ URL: https://github.com/fb55/css-what -│ │ ├─ VendorName: Felix Böhm -│ │ └─ VendorUrl: http://feedic.com -│ ├─ css-what@5.1.0 -│ │ ├─ URL: https://github.com/fb55/css-what -│ │ ├─ VendorName: Felix Böhm -│ │ └─ VendorUrl: http://feedic.com -│ ├─ damerau-levenshtein@1.0.8 -│ │ ├─ URL: https://github.com/tad-lispy/node-damerau-levenshtein.git -│ │ └─ VendorName: The Spanish Inquisition -│ ├─ default-gateway@6.0.3 -│ │ ├─ URL: https://github.com/silverwind/default-gateway.git -│ │ └─ VendorName: silverwind -│ ├─ domelementtype@1.3.1 -│ │ ├─ URL: git://github.com/fb55/domelementtype.git -│ │ └─ VendorName: Felix Boehm -│ ├─ domelementtype@2.2.0 -│ │ ├─ URL: git://github.com/fb55/domelementtype.git -│ │ └─ VendorName: Felix Boehm -│ ├─ domhandler@4.3.0 -│ │ ├─ URL: git://github.com/fb55/domhandler.git -│ │ └─ VendorName: Felix Boehm -│ ├─ domutils@1.7.0 -│ │ ├─ URL: git://github.com/FB55/domutils.git -│ │ └─ VendorName: Felix Boehm -│ ├─ domutils@2.8.0 -│ │ ├─ URL: git://github.com/fb55/domutils.git -│ │ └─ VendorName: Felix Boehm -│ ├─ dotenv-expand@5.1.0 -│ │ └─ VendorName: motdotla -│ ├─ dotenv@10.0.0 -│ │ └─ URL: git://github.com/motdotla/dotenv.git -│ ├─ dotenv@8.6.0 -│ │ └─ URL: git://github.com/motdotla/dotenv.git -│ ├─ entities@2.2.0 -│ │ ├─ URL: git://github.com/fb55/entities.git -│ │ └─ VendorName: Felix Boehm -│ ├─ escodegen@2.0.0 -│ │ ├─ URL: http://github.com/estools/escodegen.git -│ │ └─ VendorUrl: http://github.com/estools/escodegen -│ ├─ eslint-scope@4.0.3 -│ │ ├─ URL: https://github.com/eslint/eslint-scope.git -│ │ └─ VendorUrl: http://github.com/eslint/eslint-scope -│ ├─ eslint-scope@5.1.1 -│ │ ├─ URL: https://github.com/eslint/eslint-scope.git -│ │ └─ VendorUrl: http://github.com/eslint/eslint-scope -│ ├─ eslint-scope@7.1.1 -│ │ ├─ URL: https://github.com/eslint/eslint-scope.git -│ │ └─ VendorUrl: http://github.com/eslint/eslint-scope -│ ├─ espree@9.3.1 -│ │ ├─ URL: https://github.com/eslint/espree.git -│ │ ├─ VendorName: Nicholas C. Zakas -│ │ └─ VendorUrl: https://github.com/eslint/espree -│ ├─ esprima@4.0.1 -│ │ ├─ URL: https://github.com/jquery/esprima.git -│ │ ├─ VendorName: Ariya Hidayat -│ │ └─ VendorUrl: http://esprima.org/ -│ ├─ esrecurse@4.3.0 -│ │ ├─ URL: https://github.com/estools/esrecurse.git -│ │ └─ VendorUrl: https://github.com/estools/esrecurse -│ ├─ estraverse@4.3.0 -│ │ ├─ URL: http://github.com/estools/estraverse.git -│ │ └─ VendorUrl: https://github.com/estools/estraverse -│ ├─ estraverse@5.3.0 -│ │ ├─ URL: http://github.com/estools/estraverse.git -│ │ └─ VendorUrl: https://github.com/estools/estraverse -│ ├─ esutils@2.0.3 -│ │ ├─ URL: http://github.com/estools/esutils.git -│ │ └─ VendorUrl: https://github.com/estools/esutils -│ ├─ glob-to-regexp@0.4.1 -│ │ ├─ URL: https://github.com/fitzgen/glob-to-regexp.git -│ │ └─ VendorName: Nick Fitzgerald -│ ├─ mississippi@3.0.0 -│ │ ├─ URL: git+https://github.com/maxogden/mississippi.git -│ │ ├─ VendorName: max ogden -│ │ └─ VendorUrl: https://github.com/maxogden/mississippi#readme -│ ├─ normalize-package-data@2.5.0 -│ │ ├─ URL: git://github.com/npm/normalize-package-data.git -│ │ └─ VendorName: Meryn Stol -│ ├─ nth-check@2.0.1 -│ │ ├─ URL: https://github.com/fb55/nth-check -│ │ ├─ VendorName: Felix Boehm -│ │ └─ VendorUrl: https://github.com/fb55/nth-check -│ ├─ regjsparser@0.8.4 -│ │ ├─ URL: git@github.com:jviereck/regjsparser.git -│ │ ├─ VendorName: 'Julian Viereck' -│ │ └─ VendorUrl: https://github.com/jviereck/regjsparser -│ ├─ stringify-object@3.3.0 -│ │ ├─ URL: https://github.com/yeoman/stringify-object.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ terser@5.16.8 -│ │ ├─ URL: https://github.com/terser/terser -│ │ ├─ VendorName: Mihai Bazon -│ │ └─ VendorUrl: https://terser.org/ -│ ├─ uglify-js@3.15.3 -│ │ ├─ URL: https://github.com/mishoo/UglifyJS.git -│ │ ├─ VendorName: Mihai Bazon -│ │ └─ VendorUrl: http://lisperator.net/ -│ ├─ uri-js@4.4.1 -│ │ ├─ URL: http://github.com/garycourt/uri-js -│ │ ├─ VendorName: Gary Court -│ │ └─ VendorUrl: https://github.com/garycourt/uri-js -│ ├─ webidl-conversions@3.0.1 -│ │ ├─ URL: https://github.com/jsdom/webidl-conversions.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ ├─ webidl-conversions@4.0.2 -│ │ ├─ URL: https://github.com/jsdom/webidl-conversions.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ ├─ webidl-conversions@5.0.0 -│ │ ├─ URL: https://github.com/jsdom/webidl-conversions.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ ├─ webidl-conversions@6.1.0 -│ │ ├─ URL: https://github.com/jsdom/webidl-conversions.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ └─ yarn@1.22.18 -│ └─ URL: https://github.com/yarnpkg/yarn.git -├─ BSD-3-Clause -│ ├─ @humanwhocodes/object-schema@1.2.1 -│ │ ├─ URL: git+https://github.com/humanwhocodes/object-schema.git -│ │ ├─ VendorName: Nicholas C. Zakas -│ │ └─ VendorUrl: https://github.com/humanwhocodes/object-schema#readme -│ ├─ @sinonjs/commons@1.8.3 -│ │ ├─ URL: git+https://github.com/sinonjs/commons.git -│ │ └─ VendorUrl: https://github.com/sinonjs/commons#readme -│ ├─ @sinonjs/fake-timers@8.1.0 -│ │ ├─ URL: https://github.com/sinonjs/fake-timers.git -│ │ ├─ VendorName: Christian Johansen -│ │ └─ VendorUrl: https://github.com/sinonjs/fake-timers -│ ├─ @xtuc/ieee754@1.2.0 -│ │ ├─ URL: git://github.com/feross/ieee754.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: http://feross.org -│ ├─ abab@2.0.5 -│ │ ├─ URL: git+https://github.com/jsdom/abab.git -│ │ ├─ VendorName: Jeff Carpenter -│ │ └─ VendorUrl: https://github.com/jsdom/abab#readme -│ ├─ babel-plugin-istanbul@6.1.1 -│ │ ├─ URL: git+https://github.com/istanbuljs/babel-plugin-istanbul.git -│ │ ├─ VendorName: Thai Pangsakulyanont @dtinth -│ │ └─ VendorUrl: https://github.com/istanbuljs/babel-plugin-istanbul#readme -│ ├─ eslint-plugin-flowtype@8.0.3 -│ │ ├─ URL: https://github.com/gajus/eslint-plugin-flowtype -│ │ ├─ VendorName: Gajus Kuizinas -│ │ └─ VendorUrl: http://gajus.com -│ ├─ esquery@1.4.0 -│ │ ├─ URL: https://github.com/estools/esquery.git -│ │ ├─ VendorName: Joel Feenstra -│ │ └─ VendorUrl: https://github.com/estools/esquery/ -│ ├─ filesize@8.0.7 -│ │ ├─ URL: git://github.com/avoidwork/filesize.js.git -│ │ ├─ VendorName: Jason Mulligan -│ │ └─ VendorUrl: https://filesizejs.com/ -│ ├─ highlight.js@10.7.3 -│ │ ├─ URL: git://github.com/highlightjs/highlight.js.git -│ │ ├─ VendorName: Ivan Sagalaev -│ │ └─ VendorUrl: https://highlightjs.org/ -│ ├─ hoist-non-react-statics@3.3.2 -│ │ ├─ URL: git://github.com/mridgway/hoist-non-react-statics.git -│ │ └─ VendorName: Michael Ridgway -│ ├─ ieee754@1.2.1 -│ │ ├─ URL: git://github.com/feross/ieee754.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: https://feross.org -│ ├─ istanbul-lib-coverage@3.2.0 -│ │ ├─ URL: git+ssh://git@github.com/istanbuljs/istanbuljs.git -│ │ ├─ VendorName: Krishnan Anantheswaran -│ │ └─ VendorUrl: https://istanbul.js.org/ -│ ├─ istanbul-lib-instrument@5.1.0 -│ │ ├─ URL: git+ssh://git@github.com/istanbuljs/istanbuljs.git -│ │ ├─ VendorName: Krishnan Anantheswaran -│ │ └─ VendorUrl: https://istanbul.js.org/ -│ ├─ istanbul-lib-report@3.0.0 -│ │ ├─ URL: git+ssh://git@github.com/istanbuljs/istanbuljs.git -│ │ ├─ VendorName: Krishnan Anantheswaran -│ │ └─ VendorUrl: https://istanbul.js.org/ -│ ├─ istanbul-lib-source-maps@4.0.1 -│ │ ├─ URL: git+ssh://git@github.com/istanbuljs/istanbuljs.git -│ │ ├─ VendorName: Krishnan Anantheswaran -│ │ └─ VendorUrl: https://istanbul.js.org/ -│ ├─ istanbul-reports@3.1.4 -│ │ ├─ URL: git+ssh://git@github.com/istanbuljs/istanbuljs.git -│ │ ├─ VendorName: Krishnan Anantheswaran -│ │ └─ VendorUrl: https://istanbul.js.org/ -│ ├─ makeerror@1.0.12 -│ │ ├─ URL: https://github.com/daaku/nodejs-makeerror -│ │ └─ VendorName: Naitik Shah -│ ├─ qs@6.10.3 -│ │ ├─ URL: https://github.com/ljharb/qs.git -│ │ └─ VendorUrl: https://github.com/ljharb/qs -│ ├─ qs@6.9.7 -│ │ ├─ URL: https://github.com/ljharb/qs.git -│ │ └─ VendorUrl: https://github.com/ljharb/qs -│ ├─ react-transition-group@4.4.2 -│ │ ├─ URL: https://github.com/reactjs/react-transition-group.git -│ │ └─ VendorUrl: https://github.com/reactjs/react-transition-group#readme -│ ├─ react-transition-group@4.4.5 -│ │ ├─ URL: https://github.com/reactjs/react-transition-group.git -│ │ └─ VendorUrl: https://github.com/reactjs/react-transition-group#readme -│ ├─ serialize-javascript@4.0.0 -│ │ ├─ URL: git+https://github.com/yahoo/serialize-javascript.git -│ │ ├─ VendorName: Eric Ferraiuolo -│ │ └─ VendorUrl: https://github.com/yahoo/serialize-javascript -│ ├─ serialize-javascript@5.0.1 -│ │ ├─ URL: git+https://github.com/yahoo/serialize-javascript.git -│ │ ├─ VendorName: Eric Ferraiuolo -│ │ └─ VendorUrl: https://github.com/yahoo/serialize-javascript -│ ├─ serialize-javascript@6.0.0 -│ │ ├─ URL: git+https://github.com/yahoo/serialize-javascript.git -│ │ ├─ VendorName: Eric Ferraiuolo -│ │ └─ VendorUrl: https://github.com/yahoo/serialize-javascript -│ ├─ source-map-js@1.0.2 -│ │ ├─ URL: https://github.com/7rulnik/source-map-js.git -│ │ ├─ VendorName: Valentin 7rulnik Semirulnik -│ │ └─ VendorUrl: https://github.com/7rulnik/source-map-js -│ ├─ source-map@0.5.7 -│ │ ├─ URL: http://github.com/mozilla/source-map.git -│ │ ├─ VendorName: Nick Fitzgerald -│ │ └─ VendorUrl: https://github.com/mozilla/source-map -│ ├─ source-map@0.6.1 -│ │ ├─ URL: http://github.com/mozilla/source-map.git -│ │ ├─ VendorName: Nick Fitzgerald -│ │ └─ VendorUrl: https://github.com/mozilla/source-map -│ ├─ source-map@0.7.3 -│ │ ├─ URL: http://github.com/mozilla/source-map.git -│ │ ├─ VendorName: Nick Fitzgerald -│ │ └─ VendorUrl: https://github.com/mozilla/source-map -│ ├─ source-map@0.8.0-beta.0 -│ │ ├─ URL: http://github.com/mozilla/source-map.git -│ │ ├─ VendorName: Nick Fitzgerald -│ │ └─ VendorUrl: https://github.com/mozilla/source-map -│ ├─ sprintf-js@1.0.3 -│ │ ├─ URL: https://github.com/alexei/sprintf.js.git -│ │ ├─ VendorName: Alexandru Marasteanu -│ │ └─ VendorUrl: http://alexei.ro/ -│ ├─ synchronous-promise@2.0.15 -│ │ ├─ URL: git+https://github.com/fluffynuts/synchronous-promise.git -│ │ ├─ VendorName: Davyd McColl -│ │ └─ VendorUrl: https://github.com/fluffynuts -│ ├─ tmpl@1.0.5 -│ │ ├─ URL: https://github.com/daaku/nodejs-tmpl -│ │ ├─ VendorName: Naitik Shah -│ │ └─ VendorUrl: https://github.com/daaku/nodejs-tmpl -│ └─ tough-cookie@4.0.0 -│ ├─ URL: git://github.com/salesforce/tough-cookie.git -│ ├─ VendorName: Jeremy Stashewsky -│ └─ VendorUrl: https://github.com/salesforce/tough-cookie -├─ CC-BY-3.0 -│ └─ spdx-exceptions@2.3.0 -│ ├─ URL: https://github.com/kemitchell/spdx-exceptions.json.git -│ └─ VendorName: The Linux Foundation -├─ CC-BY-4.0 -│ └─ caniuse-lite@1.0.30001406 -│ ├─ URL: https://github.com/browserslist/caniuse-lite.git -│ ├─ VendorName: Ben Briggs -│ └─ VendorUrl: http://beneb.info -├─ CC0-1.0 -│ ├─ @csstools/normalize.css@12.0.0 -│ │ ├─ URL: https://github.com/csstools/normalize.css.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/normalize.css#readme -│ ├─ @csstools/postcss-color-function@1.0.3 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-function#readme -│ ├─ @csstools/postcss-font-format-keywords@1.0.0 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-font-format-keywords#readme -│ ├─ @csstools/postcss-hwb-function@1.0.0 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-hwb-function#readme -│ ├─ @csstools/postcss-ic-unit@1.0.0 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-ic-unit#readme -│ ├─ @csstools/postcss-is-pseudo-class@2.0.1 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-is-pseudo-class#readme -│ ├─ @csstools/postcss-normalize-display-values@1.0.0 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ └─ VendorName: Jonathan Neal -│ ├─ @csstools/postcss-oklab-function@1.0.2 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-oklab-function#readme -│ ├─ @csstools/postcss-progressive-custom-properties@1.3.0 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ └─ VendorName: Jonathan Neal -│ ├─ css-blank-pseudo@3.0.3 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/css-blank-pseudo#readme -│ ├─ css-has-pseudo@3.0.4 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/css-has-pseudo#readme -│ ├─ css-prefers-color-scheme@6.0.3 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/css-prefers-color-scheme#readme -│ ├─ cssdb@6.5.0 -│ │ ├─ URL: https://github.com/csstools/cssdb.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/cssdb#readme -│ ├─ mdn-data@2.0.14 -│ │ ├─ URL: https://github.com/mdn/data.git -│ │ ├─ VendorName: Mozilla Developer Network -│ │ └─ VendorUrl: https://developer.mozilla.org/ -│ ├─ mdn-data@2.0.4 -│ │ ├─ URL: https://github.com/mdn/data.git -│ │ ├─ VendorName: Mozilla Developer Network -│ │ └─ VendorUrl: https://developer.mozilla.org/ -│ ├─ postcss-browser-comments@4.0.0 -│ │ ├─ URL: https://github.com/csstools/postcss-browser-comments.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-browser-comments#readme -│ ├─ postcss-color-functional-notation@4.2.2 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-functional-notation#readme -│ ├─ postcss-color-rebeccapurple@7.0.2 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-rebeccapurple#readme -│ ├─ postcss-dir-pseudo-class@6.0.4 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-dir-pseudo-class#readme -│ ├─ postcss-double-position-gradients@3.1.1 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-double-position-gradients#readme -│ ├─ postcss-env-function@4.0.5 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-env-function#readme -│ ├─ postcss-focus-visible@6.0.4 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-focus-visible#readme -│ ├─ postcss-focus-within@5.0.4 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-focus-within#readme -│ ├─ postcss-gap-properties@3.0.3 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gap-properties#readme -│ ├─ postcss-image-set-function@4.0.6 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-image-set-function#readme -│ ├─ postcss-lab-function@4.1.2 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-lab-function#readme -│ ├─ postcss-logical@5.0.4 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical#readme -│ ├─ postcss-nesting@10.1.3 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting#readme -│ ├─ postcss-normalize@10.0.1 -│ │ ├─ URL: https://github.com/csstools/postcss-normalize.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-normalize#readme -│ ├─ postcss-overflow-shorthand@3.0.3 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-overflow-shorthand#readme -│ ├─ postcss-place@7.0.4 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-place#readme -│ ├─ postcss-preset-env@7.4.2 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env#readme -│ ├─ postcss-pseudo-class-any-link@7.1.1 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-pseudo-class-any-link#readme -│ ├─ sanitize.css@13.0.0 -│ │ ├─ URL: https://github.com/csstools/sanitize.css.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/sanitize.css#readme -│ └─ spdx-license-ids@3.0.11 -│ ├─ URL: https://github.com/jslicense/spdx-license-ids.git -│ ├─ VendorName: Shinnosuke Watanabe -│ └─ VendorUrl: https://github.com/shinnn -├─ ISC -│ ├─ @istanbuljs/load-nyc-config@1.1.0 -│ │ ├─ URL: git+https://github.com/istanbuljs/load-nyc-config.git -│ │ └─ VendorUrl: https://github.com/istanbuljs/load-nyc-config#readme -│ ├─ @npmcli/fs@1.1.1 -│ │ └─ VendorName: GitHub Inc. -│ ├─ @storybook/semver@7.3.2 -│ │ └─ URL: https://github.com/storybookjs/browser-semver -│ ├─ @trysound/sax@0.2.0 -│ │ ├─ URL: git://github.com/svg/sax.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ @webassemblyjs/helper-fsm@1.9.0 -│ │ └─ VendorName: Mauro Bringolf -│ ├─ ansi-align@3.0.1 -│ │ ├─ URL: git+https://github.com/nexdrew/ansi-align.git -│ │ ├─ VendorName: nexdrew -│ │ └─ VendorUrl: https://github.com/nexdrew/ansi-align#readme -│ ├─ anymatch@2.0.0 -│ │ ├─ URL: https://github.com/micromatch/anymatch -│ │ ├─ VendorName: Elan Shanker -│ │ └─ VendorUrl: https://github.com/micromatch/anymatch -│ ├─ anymatch@3.1.2 -│ │ ├─ URL: https://github.com/micromatch/anymatch -│ │ ├─ VendorName: Elan Shanker -│ │ └─ VendorUrl: https://github.com/micromatch/anymatch -│ ├─ aproba@1.2.0 -│ │ ├─ URL: https://github.com/iarna/aproba -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://github.com/iarna/aproba -│ ├─ aproba@2.0.0 -│ │ ├─ URL: https://github.com/iarna/aproba -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://github.com/iarna/aproba -│ ├─ are-we-there-yet@2.0.0 -│ │ ├─ URL: https://github.com/npm/are-we-there-yet.git -│ │ ├─ VendorName: GitHub Inc. -│ │ └─ VendorUrl: https://github.com/npm/are-we-there-yet -│ ├─ ast-types-flow@0.0.7 -│ │ ├─ URL: git+https://github.com/kyldvs/ast-types-flow.git -│ │ ├─ VendorName: kyldvs -│ │ └─ VendorUrl: https://github.com/kyldvs/ast-types-flow#readme -│ ├─ at-least-node@1.0.0 -│ │ ├─ URL: git+https://github.com/RyanZim/at-least-node.git -│ │ ├─ VendorName: Ryan Zimmerman -│ │ └─ VendorUrl: https://github.com/RyanZim/at-least-node#readme -│ ├─ boolbase@1.0.0 -│ │ ├─ URL: https://github.com/fb55/boolbase -│ │ ├─ VendorName: Felix Boehm -│ │ └─ VendorUrl: https://github.com/fb55/boolbase -│ ├─ browserify-sign@4.2.1 -│ │ └─ URL: https://github.com/crypto-browserify/browserify-sign.git -│ ├─ c8@7.11.0 -│ │ ├─ URL: git@github.com:bcoe/c8.git -│ │ └─ VendorName: Ben Coe -│ ├─ cacache@12.0.4 -│ │ ├─ URL: https://github.com/npm/cacache -│ │ └─ VendorName: Kat Marchán -│ ├─ cacache@15.3.0 -│ │ └─ URL: https://github.com/npm/cacache -│ ├─ capture-exit@2.0.0 -│ │ ├─ URL: git+https://github.com/stefanpenner/capture-exit.git -│ │ ├─ VendorName: Stefan Penner -│ │ └─ VendorUrl: https://github.com/stefanpenner/capture-exit#readme -│ ├─ chownr@1.1.4 -│ │ ├─ URL: git://github.com/isaacs/chownr.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ chownr@2.0.0 -│ │ ├─ URL: git://github.com/isaacs/chownr.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ cliui@7.0.4 -│ │ ├─ URL: https://github.com/yargs/cliui.git -│ │ └─ VendorName: Ben Coe -│ ├─ color-support@1.1.3 -│ │ ├─ URL: git+https://github.com/isaacs/color-support.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ common-path-prefix@3.0.0 -│ │ ├─ URL: git+https://github.com/novemberborn/common-path-prefix.git -│ │ ├─ VendorName: Mark Wubben -│ │ └─ VendorUrl: https://github.com/novemberborn/common-path-prefix#readme -│ ├─ console-control-strings@1.1.0 -│ │ ├─ URL: https://github.com/iarna/console-control-strings -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: http://re-becca.org/ -│ ├─ copy-concurrently@1.0.5 -│ │ ├─ URL: git+https://github.com/npm/copy-concurrently.git -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://www.npmjs.com/package/copy-concurrently -│ ├─ css-color-keywords@1.0.0 -│ │ ├─ URL: https://github.com/sonicdoe/css-color-keywords.git -│ │ └─ VendorName: Jakob Krigovsky -│ ├─ css-declaration-sorter@6.1.4 -│ │ ├─ URL: https://github.com/Siilwyn/css-declaration-sorter.git -│ │ ├─ VendorName: Selwyn -│ │ └─ VendorUrl: https://selwyn.cc/ -│ ├─ electron-to-chromium@1.4.88 -│ │ ├─ URL: https://github.com/kilian/electron-to-chromium/ -│ │ └─ VendorName: Kilian Valkhof -│ ├─ fastq@1.13.0 -│ │ ├─ URL: git+https://github.com/mcollina/fastq.git -│ │ ├─ VendorName: Matteo Collina -│ │ └─ VendorUrl: https://github.com/mcollina/fastq#readme -│ ├─ figgy-pudding@3.5.2 -│ │ ├─ URL: https://github.com/npm/figgy-pudding -│ │ └─ VendorName: Kat Marchán -│ ├─ flatted@3.2.5 -│ │ ├─ URL: git+https://github.com/WebReflection/flatted.git -│ │ ├─ VendorName: Andrea Giammarchi -│ │ └─ VendorUrl: https://github.com/WebReflection/flatted#readme -│ ├─ foreground-child@2.0.0 -│ │ ├─ URL: git+https://github.com/tapjs/foreground-child.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://github.com/tapjs/foreground-child#readme -│ ├─ fs-minipass@2.1.0 -│ │ ├─ URL: git+https://github.com/npm/fs-minipass.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://github.com/npm/fs-minipass#readme -│ ├─ fs-write-stream-atomic@1.0.10 -│ │ ├─ URL: https://github.com/npm/fs-write-stream-atomic -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://github.com/npm/fs-write-stream-atomic -│ ├─ fs.realpath@1.0.0 -│ │ ├─ URL: git+https://github.com/isaacs/fs.realpath.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ gauge@3.0.2 -│ │ ├─ URL: https://github.com/iarna/gauge -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://github.com/npm/gauge -│ ├─ get-caller-file@2.0.5 -│ │ ├─ URL: git+https://github.com/stefanpenner/get-caller-file.git -│ │ ├─ VendorName: Stefan Penner -│ │ └─ VendorUrl: https://github.com/stefanpenner/get-caller-file#readme -│ ├─ get-own-enumerable-property-symbols@3.0.2 -│ │ ├─ URL: git+https://github.com/mightyiam/get-own-enumerable-property-symbols.git -│ │ ├─ VendorName: Shahar Or -│ │ └─ VendorUrl: https://github.com/mightyiam/get-own-enumerable-property-symbols#readme -│ ├─ github-slugger@1.4.0 -│ │ ├─ URL: https://github.com/Flet/github-slugger.git -│ │ ├─ VendorName: Dan Flettre -│ │ └─ VendorUrl: https://github.com/Flet/github-slugger -│ ├─ glob-parent@5.1.2 -│ │ ├─ URL: https://github.com/gulpjs/glob-parent.git -│ │ ├─ VendorName: Gulp Team -│ │ └─ VendorUrl: https://gulpjs.com/ -│ ├─ glob-parent@6.0.2 -│ │ ├─ URL: https://github.com/gulpjs/glob-parent.git -│ │ ├─ VendorName: Gulp Team -│ │ └─ VendorUrl: https://gulpjs.com/ -│ ├─ glob-promise@3.4.0 -│ │ ├─ URL: https://github.com/ahmadnassri/glob-promise.git -│ │ ├─ VendorName: Ahmad Nassri -│ │ └─ VendorUrl: https://github.com/ahmadnassri/glob-promise -│ ├─ glob@7.2.0 -│ │ ├─ URL: git://github.com/isaacs/node-glob.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ graceful-fs@4.2.11 -│ │ └─ URL: https://github.com/isaacs/node-graceful-fs -│ ├─ graceful-fs@4.2.9 -│ │ └─ URL: https://github.com/isaacs/node-graceful-fs -│ ├─ has-unicode@2.0.1 -│ │ ├─ URL: https://github.com/iarna/has-unicode -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://github.com/iarna/has-unicode -│ ├─ hosted-git-info@2.8.9 -│ │ ├─ URL: git+https://github.com/npm/hosted-git-info.git -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://github.com/npm/hosted-git-info -│ ├─ icss-utils@4.1.1 -│ │ ├─ URL: git+https://github.com/css-modules/icss-utils.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://github.com/css-modules/icss-utils#readme -│ ├─ icss-utils@5.1.0 -│ │ ├─ URL: git+https://github.com/css-modules/icss-utils.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://github.com/css-modules/icss-utils#readme -│ ├─ idb@6.1.5 -│ │ ├─ URL: git://github.com/jakearchibald/idb.git -│ │ └─ VendorName: Jake Archibald -│ ├─ infer-owner@1.0.4 -│ │ ├─ URL: https://github.com/npm/infer-owner -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://izs.me -│ ├─ inflight@1.0.6 -│ │ ├─ URL: https://github.com/npm/inflight.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://github.com/isaacs/inflight -│ ├─ inherits@2.0.1 -│ │ └─ URL: git://github.com/isaacs/inherits -│ ├─ inherits@2.0.3 -│ │ └─ URL: git://github.com/isaacs/inherits -│ ├─ inherits@2.0.4 -│ │ └─ URL: git://github.com/isaacs/inherits -│ ├─ ini@1.3.8 -│ │ ├─ URL: git://github.com/isaacs/ini.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ isexe@2.0.0 -│ │ ├─ URL: git+https://github.com/isaacs/isexe.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://github.com/isaacs/isexe#readme -│ ├─ lru-cache@4.1.5 -│ │ ├─ URL: git://github.com/isaacs/node-lru-cache.git -│ │ └─ VendorName: Isaac Z. Schlueter -│ ├─ lru-cache@5.1.1 -│ │ ├─ URL: git://github.com/isaacs/node-lru-cache.git -│ │ └─ VendorName: Isaac Z. Schlueter -│ ├─ lru-cache@6.0.0 -│ │ ├─ URL: git://github.com/isaacs/node-lru-cache.git -│ │ └─ VendorName: Isaac Z. Schlueter -│ ├─ minimalistic-assert@1.0.1 -│ │ ├─ URL: https://github.com/calvinmetcalf/minimalistic-assert.git -│ │ └─ VendorUrl: https://github.com/calvinmetcalf/minimalistic-assert -│ ├─ minimatch@3.1.2 -│ │ ├─ URL: git://github.com/isaacs/minimatch.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me -│ ├─ minimatch@5.1.6 -│ │ ├─ URL: git://github.com/isaacs/minimatch.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me -│ ├─ minipass-collect@1.0.2 -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://izs.me -│ ├─ minipass-flush@1.0.5 -│ │ ├─ URL: git+https://github.com/isaacs/minipass-flush.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://izs.me -│ ├─ minipass-pipeline@1.2.4 -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://izs.me -│ ├─ minipass@3.1.6 -│ │ ├─ URL: git+https://github.com/isaacs/minipass.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ move-concurrently@1.0.1 -│ │ ├─ URL: git+https://github.com/npm/move-concurrently.git -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://www.npmjs.com/package/move-concurrently -│ ├─ npmlog@5.0.1 -│ │ ├─ URL: https://github.com/npm/npmlog.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ objectorarray@1.0.5 -│ │ ├─ URL: git+https://github.com/ZhouHansen/objectnotnull.git -│ │ ├─ VendorName: zhouhancheng -│ │ └─ VendorUrl: https://github.com/ZhouHansen/objectnotnull#readme -│ ├─ once@1.4.0 -│ │ ├─ URL: git://github.com/isaacs/once -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ parse-asn1@5.1.6 -│ │ └─ URL: git://github.com/crypto-browserify/parse-asn1.git -│ ├─ picocolors@0.2.1 -│ │ ├─ URL: https://github.com/alexeyraspopov/picocolors.git -│ │ └─ VendorName: Alexey Raspopov -│ ├─ picocolors@1.0.0 -│ │ ├─ URL: https://github.com/alexeyraspopov/picocolors.git -│ │ └─ VendorName: Alexey Raspopov -│ ├─ postcss-modules-extract-imports@2.0.0 -│ │ ├─ URL: https://github.com/css-modules/postcss-modules-extract-imports.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://github.com/css-modules/postcss-modules-extract-imports -│ ├─ postcss-modules-extract-imports@3.0.0 -│ │ ├─ URL: https://github.com/css-modules/postcss-modules-extract-imports.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://github.com/css-modules/postcss-modules-extract-imports -│ ├─ postcss-modules-scope@2.2.0 -│ │ ├─ URL: https://github.com/css-modules/postcss-modules-scope.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://github.com/css-modules/postcss-modules-scope -│ ├─ postcss-modules-scope@3.0.0 -│ │ ├─ URL: https://github.com/css-modules/postcss-modules-scope.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://github.com/css-modules/postcss-modules-scope -│ ├─ postcss-modules-values@3.0.0 -│ │ ├─ URL: git+https://github.com/css-modules/postcss-modules-values.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://github.com/css-modules/postcss-modules-values#readme -│ ├─ postcss-modules-values@4.0.0 -│ │ ├─ URL: git+https://github.com/css-modules/postcss-modules-values.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://github.com/css-modules/postcss-modules-values#readme -│ ├─ promise-inflight@1.0.1 -│ │ ├─ URL: git+https://github.com/iarna/promise-inflight.git -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://github.com/iarna/promise-inflight#readme -│ ├─ pseudomap@1.0.2 -│ │ ├─ URL: git+https://github.com/isaacs/pseudomap.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://github.com/isaacs/pseudomap#readme -│ ├─ remove-trailing-separator@1.1.0 -│ │ ├─ URL: git+https://github.com/darsain/remove-trailing-separator.git -│ │ ├─ VendorName: darsain -│ │ └─ VendorUrl: https://github.com/darsain/remove-trailing-separator#readme -│ ├─ rimraf@2.7.1 -│ │ ├─ URL: git://github.com/isaacs/rimraf.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ rimraf@3.0.2 -│ │ ├─ URL: git://github.com/isaacs/rimraf.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ run-queue@1.0.3 -│ │ ├─ URL: git+https://github.com/iarna/run-queue.git -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://npmjs.com/package/run-queue -│ ├─ sax@1.2.4 -│ │ ├─ URL: git://github.com/isaacs/sax-js.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ saxes@5.0.1 -│ │ ├─ URL: https://github.com/lddubeau/saxes.git -│ │ └─ VendorName: Louis-Dominique Dubeau -│ ├─ semver@5.7.1 -│ │ └─ URL: https://github.com/npm/node-semver -│ ├─ semver@6.3.0 -│ │ └─ URL: https://github.com/npm/node-semver -│ ├─ semver@7.0.0 -│ │ └─ URL: https://github.com/npm/node-semver -│ ├─ semver@7.3.5 -│ │ └─ URL: https://github.com/npm/node-semver -│ ├─ set-blocking@2.0.0 -│ │ ├─ URL: git+https://github.com/yargs/set-blocking.git -│ │ ├─ VendorName: Ben Coe -│ │ └─ VendorUrl: https://github.com/yargs/set-blocking#readme -│ ├─ setprototypeof@1.1.0 -│ │ ├─ URL: https://github.com/wesleytodd/setprototypeof.git -│ │ ├─ VendorName: Wes Todd -│ │ └─ VendorUrl: https://github.com/wesleytodd/setprototypeof -│ ├─ setprototypeof@1.2.0 -│ │ ├─ URL: https://github.com/wesleytodd/setprototypeof.git -│ │ ├─ VendorName: Wes Todd -│ │ └─ VendorUrl: https://github.com/wesleytodd/setprototypeof -│ ├─ signal-exit@3.0.7 -│ │ ├─ URL: https://github.com/tapjs/signal-exit.git -│ │ ├─ VendorName: Ben Coe -│ │ └─ VendorUrl: https://github.com/tapjs/signal-exit -│ ├─ ssri@6.0.2 -│ │ ├─ URL: https://github.com/zkat/ssri -│ │ └─ VendorName: Kat Marchán -│ ├─ ssri@8.0.1 -│ │ ├─ URL: https://github.com/npm/ssri -│ │ └─ VendorName: Kat Marchán -│ ├─ tar@6.1.11 -│ │ ├─ URL: https://github.com/npm/node-tar.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ test-exclude@6.0.0 -│ │ ├─ URL: git+https://github.com/istanbuljs/test-exclude.git -│ │ ├─ VendorName: Ben Coe -│ │ └─ VendorUrl: https://istanbul.js.org/ -│ ├─ unique-filename@1.1.1 -│ │ ├─ URL: https://github.com/iarna/unique-filename.git -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://github.com/iarna/unique-filename -│ ├─ unique-slug@2.0.2 -│ │ ├─ URL: git://github.com/iarna/unique-slug.git -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: http://re-becca.org -│ ├─ v8-to-istanbul@8.1.1 -│ │ ├─ URL: https://github.com/istanbuljs/v8-to-istanbul.git -│ │ └─ VendorName: Ben Coe -│ ├─ which@1.3.1 -│ │ ├─ URL: git://github.com/isaacs/node-which.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me -│ ├─ which@2.0.2 -│ │ ├─ URL: git://github.com/isaacs/node-which.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me -│ ├─ wide-align@1.1.5 -│ │ ├─ URL: https://github.com/iarna/wide-align -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: http://re-becca.org/ -│ ├─ wrappy@1.0.2 -│ │ ├─ URL: https://github.com/npm/wrappy -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: https://github.com/npm/wrappy -│ ├─ write-file-atomic@3.0.3 -│ │ ├─ URL: git://github.com/npm/write-file-atomic.git -│ │ ├─ VendorName: Rebecca Turner -│ │ └─ VendorUrl: https://github.com/npm/write-file-atomic -│ ├─ y18n@4.0.3 -│ │ ├─ URL: git@github.com:yargs/y18n.git -│ │ ├─ VendorName: Ben Coe -│ │ └─ VendorUrl: https://github.com/yargs/y18n -│ ├─ y18n@5.0.8 -│ │ ├─ URL: https://github.com/yargs/y18n.git -│ │ ├─ VendorName: Ben Coe -│ │ └─ VendorUrl: https://github.com/yargs/y18n -│ ├─ yallist@2.1.2 -│ │ ├─ URL: git+https://github.com/isaacs/yallist.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ yallist@3.1.1 -│ │ ├─ URL: git+https://github.com/isaacs/yallist.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ yallist@4.0.0 -│ │ ├─ URL: git+https://github.com/isaacs/yallist.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ yaml@1.10.2 -│ │ ├─ URL: https://github.com/eemeli/yaml.git -│ │ ├─ VendorName: Eemeli Aro -│ │ └─ VendorUrl: https://eemeli.org/yaml/v1/ -│ └─ yargs-parser@20.2.9 -│ ├─ URL: https://github.com/yargs/yargs-parser.git -│ └─ VendorName: Ben Coe -├─ MIT -│ ├─ @apideck/better-ajv-errors@0.3.3 -│ │ ├─ URL: https://github.com/apideck-libraries/better-ajv-errors -│ │ ├─ VendorName: Apideck -│ │ └─ VendorUrl: https://apideck.com/ -│ ├─ @babel/code-frame@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-code-frame -│ ├─ @babel/compat-data@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/core@7.12.9 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: Sebastian McKenzie -│ │ └─ VendorUrl: https://babeljs.io/ -│ ├─ @babel/core@7.17.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-core -│ ├─ @babel/eslint-parser@7.17.0 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/ -│ ├─ @babel/generator@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-generator -│ ├─ @babel/helper-annotate-as-pure@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-annotate-as-pure -│ ├─ @babel/helper-builder-binary-assignment-operator-visitor@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-builder-binary-assignment-operator-visitor -│ ├─ @babel/helper-compilation-targets@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/helper-create-class-features-plugin@7.17.6 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/helper-create-regexp-features-plugin@7.17.0 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/helper-define-polyfill-provider@0.1.5 -│ │ └─ URL: https://github.com/babel/babel-polyfills.git -│ ├─ @babel/helper-define-polyfill-provider@0.3.1 -│ │ └─ URL: https://github.com/babel/babel-polyfills.git -│ ├─ @babel/helper-environment-visitor@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-environment-visitor -│ ├─ @babel/helper-explode-assignable-expression@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-explode-assignable-expression -│ ├─ @babel/helper-function-name@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-function-name -│ ├─ @babel/helper-get-function-arity@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-get-function-arity -│ ├─ @babel/helper-hoist-variables@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-hoist-variables -│ ├─ @babel/helper-member-expression-to-functions@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-member-expression-to-functions -│ ├─ @babel/helper-module-imports@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-module-imports -│ ├─ @babel/helper-module-transforms@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-module-transforms -│ ├─ @babel/helper-optimise-call-expression@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-optimise-call-expression -│ ├─ @babel/helper-plugin-utils@7.10.4 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: Logan Smyth -│ │ └─ VendorUrl: https://babeljs.io/ -│ ├─ @babel/helper-plugin-utils@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-plugin-utils -│ ├─ @babel/helper-remap-async-to-generator@7.16.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-remap-async-to-generator -│ ├─ @babel/helper-replace-supers@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-replace-supers -│ ├─ @babel/helper-simple-access@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-simple-access -│ ├─ @babel/helper-skip-transparent-expression-wrappers@7.16.0 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/helper-split-export-declaration@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-split-export-declaration -│ ├─ @babel/helper-validator-identifier@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/helper-validator-option@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/helper-wrap-function@7.16.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helper-wrap-function -│ ├─ @babel/helpers@7.17.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-helpers -│ ├─ @babel/highlight@7.16.10 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-highlight -│ ├─ @babel/parser@7.17.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-parser -│ ├─ @babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression -│ ├─ @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining -│ ├─ @babel/plugin-proposal-async-generator-functions@7.16.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-async-generator-functions -│ ├─ @babel/plugin-proposal-class-properties@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-class-properties -│ ├─ @babel/plugin-proposal-class-static-block@7.17.6 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-class-static-block -│ ├─ @babel/plugin-proposal-decorators@7.17.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-decorators -│ ├─ @babel/plugin-proposal-dynamic-import@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/plugin-proposal-export-default-from@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-export-default-from -│ ├─ @babel/plugin-proposal-export-namespace-from@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-export-namespace-from -│ ├─ @babel/plugin-proposal-json-strings@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-json-strings -│ ├─ @babel/plugin-proposal-logical-assignment-operators@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-logical-assignment-operators -│ ├─ @babel/plugin-proposal-nullish-coalescing-operator@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-nullish-coalescing-operator -│ ├─ @babel/plugin-proposal-numeric-separator@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-numeric-separator -│ ├─ @babel/plugin-proposal-object-rest-spread@7.12.1 -│ │ └─ URL: https://github.com/babel/babel.git -│ ├─ @babel/plugin-proposal-object-rest-spread@7.17.3 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-object-rest-spread -│ ├─ @babel/plugin-proposal-optional-catch-binding@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-optional-catch-binding -│ ├─ @babel/plugin-proposal-optional-chaining@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-optional-chaining -│ ├─ @babel/plugin-proposal-private-methods@7.16.11 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-private-methods -│ ├─ @babel/plugin-proposal-private-property-in-object@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-private-property-in-object -│ ├─ @babel/plugin-proposal-unicode-property-regex@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-proposal-unicode-property-regex -│ ├─ @babel/plugin-syntax-async-generators@7.8.4 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators -│ ├─ @babel/plugin-syntax-bigint@7.8.3 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-bigint -│ ├─ @babel/plugin-syntax-class-properties@7.12.13 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-class-properties -│ ├─ @babel/plugin-syntax-class-static-block@7.14.5 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-class-static-block -│ ├─ @babel/plugin-syntax-decorators@7.17.0 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-decorators -│ ├─ @babel/plugin-syntax-dynamic-import@7.8.3 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import -│ ├─ @babel/plugin-syntax-export-default-from@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-export-default-from -│ ├─ @babel/plugin-syntax-export-namespace-from@7.8.3 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-export-namespace-from -│ ├─ @babel/plugin-syntax-flow@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-flow -│ ├─ @babel/plugin-syntax-import-meta@7.10.4 -│ │ └─ URL: https://github.com/babel/babel.git -│ ├─ @babel/plugin-syntax-json-strings@7.8.3 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings -│ ├─ @babel/plugin-syntax-jsx@7.12.1 -│ │ └─ URL: https://github.com/babel/babel.git -│ ├─ @babel/plugin-syntax-jsx@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-jsx -│ ├─ @babel/plugin-syntax-logical-assignment-operators@7.10.4 -│ │ └─ URL: https://github.com/babel/babel.git -│ ├─ @babel/plugin-syntax-nullish-coalescing-operator@7.8.3 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-nullish-coalescing-operator -│ ├─ @babel/plugin-syntax-numeric-separator@7.10.4 -│ │ └─ URL: https://github.com/babel/babel.git -│ ├─ @babel/plugin-syntax-object-rest-spread@7.8.3 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread -│ ├─ @babel/plugin-syntax-optional-catch-binding@7.8.3 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding -│ ├─ @babel/plugin-syntax-optional-chaining@7.8.3 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-chaining -│ ├─ @babel/plugin-syntax-private-property-in-object@7.14.5 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-private-property-in-object -│ ├─ @babel/plugin-syntax-top-level-await@7.14.5 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-top-level-await -│ ├─ @babel/plugin-syntax-typescript@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-syntax-typescript -│ ├─ @babel/plugin-transform-arrow-functions@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-arrow-functions -│ ├─ @babel/plugin-transform-async-to-generator@7.16.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-async-to-generator -│ ├─ @babel/plugin-transform-block-scoped-functions@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-block-scoped-functions -│ ├─ @babel/plugin-transform-block-scoping@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-block-scoping -│ ├─ @babel/plugin-transform-classes@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-classes -│ ├─ @babel/plugin-transform-computed-properties@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-computed-properties -│ ├─ @babel/plugin-transform-destructuring@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-destructuring -│ ├─ @babel/plugin-transform-dotall-regex@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-dotall-regex -│ ├─ @babel/plugin-transform-duplicate-keys@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-duplicate-keys -│ ├─ @babel/plugin-transform-exponentiation-operator@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-exponentiation-operator -│ ├─ @babel/plugin-transform-flow-strip-types@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-flow-strip-types -│ ├─ @babel/plugin-transform-for-of@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-for-of -│ ├─ @babel/plugin-transform-function-name@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-function-name -│ ├─ @babel/plugin-transform-literals@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-literals -│ ├─ @babel/plugin-transform-member-expression-literals@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-member-expression-literals -│ ├─ @babel/plugin-transform-modules-amd@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-modules-amd -│ ├─ @babel/plugin-transform-modules-commonjs@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-modules-commonjs -│ ├─ @babel/plugin-transform-modules-systemjs@7.17.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-modules-systemjs -│ ├─ @babel/plugin-transform-modules-umd@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-modules-umd -│ ├─ @babel/plugin-transform-named-capturing-groups-regex@7.16.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-named-capturing-groups-regex -│ ├─ @babel/plugin-transform-new-target@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-new-target -│ ├─ @babel/plugin-transform-object-super@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-object-super -│ ├─ @babel/plugin-transform-parameters@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-parameters -│ ├─ @babel/plugin-transform-property-literals@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-property-literals -│ ├─ @babel/plugin-transform-react-constant-elements@7.17.6 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-react-constant-elements -│ ├─ @babel/plugin-transform-react-display-name@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-react-display-name -│ ├─ @babel/plugin-transform-react-jsx-development@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/plugin-transform-react-jsx@7.17.3 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-react-jsx -│ ├─ @babel/plugin-transform-react-pure-annotations@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/plugin-transform-regenerator@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-regenerator -│ ├─ @babel/plugin-transform-reserved-words@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-reserved-words -│ ├─ @babel/plugin-transform-runtime@7.17.0 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-runtime -│ ├─ @babel/plugin-transform-shorthand-properties@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-shorthand-properties -│ ├─ @babel/plugin-transform-spread@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-spread -│ ├─ @babel/plugin-transform-sticky-regex@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-sticky-regex -│ ├─ @babel/plugin-transform-template-literals@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-template-literals -│ ├─ @babel/plugin-transform-typeof-symbol@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-typeof-symbol -│ ├─ @babel/plugin-transform-typescript@7.16.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-typescript -│ ├─ @babel/plugin-transform-unicode-escapes@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-unicode-escapes -│ ├─ @babel/plugin-transform-unicode-regex@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-plugin-transform-unicode-regex -│ ├─ @babel/preset-env@7.16.11 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-preset-env -│ ├─ @babel/preset-flow@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-preset-flow -│ ├─ @babel/preset-modules@0.1.5 -│ │ └─ URL: https://github.com/babel/preset-modules.git -│ ├─ @babel/preset-react@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-preset-react -│ ├─ @babel/preset-typescript@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-preset-typescript -│ ├─ @babel/register@7.17.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-register -│ ├─ @babel/runtime-corejs3@7.17.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/team -│ ├─ @babel/runtime@7.17.8 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-runtime -│ ├─ @babel/runtime@7.17.9 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-runtime -│ ├─ @babel/runtime@7.18.9 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-runtime -│ ├─ @babel/runtime@7.19.4 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-runtime -│ ├─ @babel/template@7.16.7 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-template -│ ├─ @babel/traverse@7.17.3 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-traverse -│ ├─ @babel/types@7.17.0 -│ │ ├─ URL: https://github.com/babel/babel.git -│ │ ├─ VendorName: The Babel Team -│ │ └─ VendorUrl: https://babel.dev/docs/en/next/babel-types -│ ├─ @bcoe/v8-coverage@0.2.3 -│ │ ├─ URL: git://github.com/demurgos/v8-coverage.git -│ │ ├─ VendorName: Charles Samborski -│ │ └─ VendorUrl: https://demurgos.github.io/v8-coverage -│ ├─ @date-io/core@2.14.0 -│ │ ├─ URL: https://github.com/dmtrKovalenko/date-io -│ │ └─ VendorName: Dmitriy Kovalenko -│ ├─ @date-io/core@2.16.0 -│ │ ├─ URL: https://github.com/dmtrKovalenko/date-io -│ │ └─ VendorName: Dmitriy Kovalenko -│ ├─ @date-io/date-fns@2.14.0 -│ │ ├─ URL: https://github.com/dmtrKovalenko/date-io -│ │ └─ VendorName: Dmitriy Kovalenko -│ ├─ @date-io/date-fns@2.16.0 -│ │ ├─ URL: https://github.com/dmtrKovalenko/date-io -│ │ └─ VendorName: Dmitriy Kovalenko -│ ├─ @date-io/dayjs@2.16.0 -│ │ ├─ URL: https://github.com/dmtrKovalenko/date-io -│ │ └─ VendorName: Dmitriy Kovalenko -│ ├─ @date-io/luxon@2.16.0 -│ │ ├─ URL: https://github.com/dmtrKovalenko/date-io -│ │ └─ VendorName: Dmitriy Kovalenko -│ ├─ @date-io/moment@2.16.0 -│ │ ├─ URL: https://github.com/dmtrKovalenko/date-io -│ │ └─ VendorName: Dmitriy Kovalenko -│ ├─ @discoveryjs/json-ext@0.5.7 -│ │ ├─ URL: https://github.com/discoveryjs/json-ext.git -│ │ ├─ VendorName: Roman Dvornov -│ │ └─ VendorUrl: https://github.com/lahmatiy -│ ├─ @emotion/babel-plugin@11.7.2 -│ │ ├─ URL: https://github.com/emotion-js/emotion/tree/main/packages/babel-plugin -│ │ ├─ VendorName: Kye Hohenberger -│ │ └─ VendorUrl: https://emotion.sh/ -│ ├─ @emotion/cache@10.0.29 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/cache -│ ├─ @emotion/cache@11.7.1 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/main/packages/cache -│ ├─ @emotion/core@10.3.1 -│ │ ├─ URL: https://github.com/emotion-js/emotion/tree/master/packages/core -│ │ └─ VendorName: mitchellhamilton -│ ├─ @emotion/css@10.0.27 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/css -│ ├─ @emotion/hash@0.8.0 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/hash -│ ├─ @emotion/is-prop-valid@0.8.8 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/is-prop-valid -│ ├─ @emotion/is-prop-valid@1.1.2 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid -│ ├─ @emotion/memoize@0.7.4 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/memoize -│ ├─ @emotion/memoize@0.7.5 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/memoize -│ ├─ @emotion/react@11.8.2 -│ │ ├─ URL: https://github.com/emotion-js/emotion/tree/main/packages/react -│ │ └─ VendorName: Emotion Contributors -│ ├─ @emotion/serialize@0.11.16 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/serialize -│ ├─ @emotion/serialize@1.0.2 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/main/packages/serialize -│ ├─ @emotion/sheet@0.9.4 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/sheet -│ ├─ @emotion/sheet@1.1.0 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/main/packages/sheet -│ ├─ @emotion/styled-base@10.3.0 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/styled-base -│ ├─ @emotion/styled@10.3.0 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/styled -│ ├─ @emotion/styled@11.8.1 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/main/packages/styled -│ ├─ @emotion/stylis@0.8.5 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/stylis -│ ├─ @emotion/unitless@0.7.5 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/unitless -│ ├─ @emotion/utils@0.11.3 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/serialize -│ ├─ @emotion/utils@1.1.0 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/main/packages/utils -│ ├─ @emotion/weak-memoize@0.2.5 -│ │ └─ URL: https://github.com/emotion-js/emotion/tree/master/packages/weak-memoize -│ ├─ @eslint/eslintrc@1.2.1 -│ │ ├─ URL: https://github.com/eslint/eslintrc.git -│ │ ├─ VendorName: Nicholas C. Zakas -│ │ └─ VendorUrl: https://github.com/eslint/eslintrc#readme -│ ├─ @gar/promisify@1.1.3 -│ │ ├─ URL: https://github.com/wraithgar/gar-promisify.git -│ │ └─ VendorName: Gar -│ ├─ @hookform/error-message@2.0.1 -│ │ ├─ URL: git+https://github.com/react-hook-form/error-message.git -│ │ ├─ VendorName: bluebill1049 -│ │ └─ VendorUrl: https://react-hook-form.com/ -│ ├─ @istanbuljs/schema@0.1.3 -│ │ ├─ URL: git+https://github.com/istanbuljs/schema.git -│ │ ├─ VendorName: Corey Farrell -│ │ └─ VendorUrl: https://github.com/istanbuljs/schema#readme -│ ├─ @jest/console@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/core@27.5.1 -│ │ ├─ URL: https://github.com/facebook/jest -│ │ └─ VendorUrl: https://jestjs.io/ -│ ├─ @jest/environment@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/fake-timers@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/globals@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/reporters@27.5.1 -│ │ ├─ URL: https://github.com/facebook/jest -│ │ └─ VendorUrl: https://jestjs.io/ -│ ├─ @jest/source-map@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/test-result@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/test-sequencer@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/transform@26.6.2 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/transform@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/types@24.9.0 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/types@25.5.0 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/types@26.6.2 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jest/types@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ @jridgewell/gen-mapping@0.3.2 -│ │ ├─ URL: https://github.com/jridgewell/gen-mapping -│ │ └─ VendorName: Justin Ridgewell -│ ├─ @jridgewell/resolve-uri@3.0.5 -│ │ ├─ URL: https://github.com/jridgewell/resolve-uri -│ │ └─ VendorName: Justin Ridgewell -│ ├─ @jridgewell/resolve-uri@3.1.0 -│ │ ├─ URL: https://github.com/jridgewell/resolve-uri -│ │ └─ VendorName: Justin Ridgewell -│ ├─ @jridgewell/set-array@1.1.2 -│ │ ├─ URL: https://github.com/jridgewell/set-array -│ │ └─ VendorName: Justin Ridgewell -│ ├─ @jridgewell/source-map@0.3.2 -│ │ ├─ URL: https://github.com/jridgewell/source-map -│ │ └─ VendorName: Justin Ridgewell -│ ├─ @jridgewell/sourcemap-codec@1.4.11 -│ │ ├─ URL: git+https://github.com/jridgewell/sourcemap-codec.git -│ │ └─ VendorName: Rich Harris -│ ├─ @jridgewell/sourcemap-codec@1.4.14 -│ │ ├─ URL: git+https://github.com/jridgewell/sourcemap-codec.git -│ │ └─ VendorName: Rich Harris -│ ├─ @jridgewell/trace-mapping@0.3.17 -│ │ ├─ URL: git+https://github.com/jridgewell/trace-mapping.git -│ │ └─ VendorName: Justin Ridgewell -│ ├─ @jridgewell/trace-mapping@0.3.4 -│ │ ├─ URL: git+https://github.com/jridgewell/trace-mapping.git -│ │ └─ VendorName: Justin Ridgewell -│ ├─ @mdx-js/loader@1.6.22 -│ │ ├─ URL: https://github.com/mdx-js/mdx.git -│ │ ├─ VendorName: John Otander -│ │ └─ VendorUrl: https://mdxjs.com/ -│ ├─ @mdx-js/mdx@1.6.22 -│ │ ├─ URL: https://github.com/mdx-js/mdx.git -│ │ ├─ VendorName: John Otander -│ │ └─ VendorUrl: https://mdxjs.com/ -│ ├─ @mdx-js/react@1.6.22 -│ │ ├─ URL: https://github.com/mdx-js/mdx.git -│ │ ├─ VendorName: John Otander -│ │ └─ VendorUrl: https://mdxjs.com/ -│ ├─ @mdx-js/util@1.6.22 -│ │ ├─ URL: https://github.com/mdx-js/mdx.git -│ │ ├─ VendorName: John Otander -│ │ └─ VendorUrl: https://mdxjs.com/ -│ ├─ @mrmlnc/readdir-enhanced@2.2.1 -│ │ ├─ URL: https://github.com/bigstickcarpet/readdir-enhanced.git -│ │ ├─ VendorName: James Messinger -│ │ └─ VendorUrl: https://github.com/bigstickcarpet/readdir-enhanced -│ ├─ @mui/base@5.0.0-alpha.72 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://mui.com/customization/unstyled-components/ -│ ├─ @mui/icons-material@5.5.1 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://mui.com/components/material-icons/ -│ ├─ @mui/material@5.5.1 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://mui.com/ -│ ├─ @mui/private-theming@5.4.4 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://mui.com/ -│ ├─ @mui/styled-engine@5.4.4 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://mui.com/guides/styled-engine/ -│ ├─ @mui/system@5.5.1 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://mui.com/system/basics/ -│ ├─ @mui/types@7.1.3 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://github.com/mui/material-ui/tree/master/packages/mui-types -│ ├─ @mui/utils@5.10.9 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://github.com/mui/material-ui/tree/master/packages/mui-utils -│ ├─ @mui/utils@5.4.4 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://github.com/mui/material-ui/tree/master/packages/mui-utils -│ ├─ @mui/utils@5.9.3 -│ │ ├─ URL: https://github.com/mui/material-ui.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://github.com/mui/material-ui/tree/master/packages/mui-utils -│ ├─ @mui/x-data-grid@5.15.0 -│ │ ├─ URL: https://github.com/mui/mui-x.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://mui.com/x/react-data-grid/ -│ ├─ @mui/x-date-pickers@5.0.4 -│ │ ├─ URL: https://github.com/mui/mui-x.git -│ │ ├─ VendorName: MUI Team -│ │ └─ VendorUrl: https://mui.com/x/react-date-pickers/getting-started/ -│ ├─ @nodelib/fs.scandir@2.1.5 -│ │ └─ URL: https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir -│ ├─ @nodelib/fs.stat@1.1.3 -│ │ └─ URL: https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat -│ ├─ @nodelib/fs.stat@2.0.5 -│ │ └─ URL: https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat -│ ├─ @nodelib/fs.walk@1.2.8 -│ │ └─ URL: https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk -│ ├─ @npmcli/move-file@1.1.2 -│ │ └─ URL: git+https://github.com/npm/move-file -│ ├─ @pmmmwh/react-refresh-webpack-plugin@0.5.4 -│ │ ├─ URL: git+https://github.com/pmmmwh/react-refresh-webpack-plugin.git -│ │ ├─ VendorName: Michael Mok -│ │ └─ VendorUrl: https://github.com/pmmmwh/react-refresh-webpack-plugin#readme -│ ├─ @popperjs/core@2.11.4 -│ │ ├─ URL: https://github.com/popperjs/popper-core.git -│ │ └─ VendorName: Federico Zivolo -│ ├─ @react-hook/cache@1.1.1 -│ │ ├─ URL: https://github.com/jaredLunde/react-hook.git -│ │ ├─ VendorName: Jared Lunde -│ │ └─ VendorUrl: https://github.com/jaredLunde/react-hook/tree/master/packages/cache#readme -│ ├─ @react-hook/latest@1.0.3 -│ │ ├─ URL: https://github.com/jaredLunde/react-hook.git -│ │ ├─ VendorName: Jared Lunde -│ │ └─ VendorUrl: https://github.com/jaredLunde/react-hook/tree/master/packages/latest#readme -│ ├─ @reduxjs/toolkit@1.8.0 -│ │ ├─ URL: git+https://github.com/reduxjs/redux-toolkit.git -│ │ ├─ VendorName: Mark Erikson -│ │ └─ VendorUrl: https://redux-toolkit.js.org/ -│ ├─ @rollup/plugin-babel@5.3.1 -│ │ ├─ URL: https://github.com/rollup/plugins.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/rollup/plugins/tree/master/packages/babel#readme -│ ├─ @rollup/plugin-commonjs@21.0.2 -│ │ ├─ URL: https://github.com/rollup/plugins.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/rollup/plugins/tree/master/packages/commonjs/#readme -│ ├─ @rollup/plugin-node-resolve@11.2.1 -│ │ ├─ URL: https://github.com/rollup/plugins.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/rollup/plugins/tree/master/packages/node-resolve/#readme -│ ├─ @rollup/plugin-node-resolve@13.1.3 -│ │ ├─ URL: https://github.com/rollup/plugins.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/rollup/plugins/tree/master/packages/node-resolve/#readme -│ ├─ @rollup/plugin-replace@2.4.2 -│ │ ├─ URL: https://github.com/rollup/plugins.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/rollup/plugins/tree/master/packages/replace#readme -│ ├─ @rollup/plugin-typescript@8.3.1 -│ │ ├─ URL: https://github.com/rollup/plugins.git -│ │ ├─ VendorName: Oskar Segersvärd -│ │ └─ VendorUrl: https://github.com/rollup/plugins/tree/master/packages/typescript/#readme -│ ├─ @rollup/pluginutils@3.1.0 -│ │ ├─ URL: https://github.com/rollup/plugins.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/rollup/plugins/tree/master/packages/pluginutils#readme -│ ├─ @rushstack/eslint-patch@1.1.1 -│ │ ├─ URL: https://github.com/microsoft/rushstack.git -│ │ └─ VendorUrl: https://rushstack.io/ -│ ├─ @sheerun/mutationobserver-shim@0.3.3 -│ │ └─ URL: github.com/megawac/MutationObserver.js -│ ├─ @storybook/addon-actions@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/actions -│ ├─ @storybook/addon-backgrounds@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ ├─ VendorName: jbaxleyiii -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/backgrounds -│ ├─ @storybook/addon-controls@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/next/addons/controls -│ ├─ @storybook/addon-docs@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/docs -│ ├─ @storybook/addon-essentials@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/essentials -│ ├─ @storybook/addon-interactions@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/interactions -│ ├─ @storybook/addon-links@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/links -│ ├─ @storybook/addon-measure@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ ├─ VendorName: winkerVSbecks -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/measure -│ ├─ @storybook/addon-outline@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ ├─ VendorName: winkerVSbecks -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/outline -│ ├─ @storybook/addon-toolbars@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/next/addons/toolbars -│ ├─ @storybook/addon-viewport@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/addons/viewport -│ ├─ @storybook/addons@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/addons -│ ├─ @storybook/api@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/api -│ ├─ @storybook/builder-webpack4@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core -│ ├─ @storybook/builder-webpack5@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core -│ ├─ @storybook/channel-postmessage@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/channel-postmessage -│ ├─ @storybook/channel-websocket@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/channel-websocket -│ ├─ @storybook/channels@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/channels -│ ├─ @storybook/client-api@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/client-api -│ ├─ @storybook/client-logger@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/client-logger -│ ├─ @storybook/components@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/components -│ ├─ @storybook/core-client@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core -│ ├─ @storybook/core-common@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core -│ ├─ @storybook/core-events@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core-events -│ ├─ @storybook/core-server@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core -│ ├─ @storybook/core@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core -│ ├─ @storybook/csf-tools@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/csf-tools -│ ├─ @storybook/csf@0.0.2--canary.87bc651.0 -│ │ ├─ URL: https://github.com/ComponentDriven/csf.git -│ │ └─ VendorUrl: https://github.com/ComponentDriven/csf -│ ├─ @storybook/instrumenter@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/instrumenter -│ ├─ @storybook/manager-webpack4@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core -│ ├─ @storybook/manager-webpack5@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/core -│ ├─ @storybook/node-logger@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/node-logger -│ ├─ @storybook/postinstall@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/postinstall -│ ├─ @storybook/preset-create-react-app@4.1.0 -│ │ ├─ URL: https://github.com/storybookjs/presets.git -│ │ └─ VendorUrl: https://github.com/storybookjs/presets/tree/master/packages/preset-create-react-app -│ ├─ @storybook/preview-web@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/preview-web -│ ├─ @storybook/react-docgen-typescript-plugin@1.0.2-canary.253f8c1.0 -│ │ ├─ URL: https://github.com/hipstersmoothie/react-docgen-typescript-plugin.git -│ │ └─ VendorName: Andrew Lisowski -│ ├─ @storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0 -│ │ ├─ URL: https://github.com/storybookjs/react-docgen-typescript-plugin.git -│ │ └─ VendorName: Andrew Lisowski -│ ├─ @storybook/react@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/app/react -│ ├─ @storybook/router@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/router -│ ├─ @storybook/source-loader@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/source-loader -│ ├─ @storybook/store@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/store -│ ├─ @storybook/testing-library@0.0.9 -│ │ ├─ URL: https://github.com/storybookjs/testing-library.git -│ │ └─ VendorName: yannbf@gmail.com -│ ├─ @storybook/theming@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/theming -│ ├─ @storybook/ui@6.4.19 -│ │ ├─ URL: https://github.com/storybookjs/storybook.git -│ │ └─ VendorUrl: https://github.com/storybookjs/storybook/tree/main/lib/ui -│ ├─ @svgr/babel-plugin-add-jsx-attribute@5.4.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-add-jsx-attribute -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/babel-plugin-remove-jsx-attribute@5.4.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-remove-jsx-attribute -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/babel-plugin-remove-jsx-empty-expression@5.0.1 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-remove-jsx-empty-expression -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/babel-plugin-replace-jsx-attribute-value@5.0.1 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-replace-jsx-attribute-value -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/babel-plugin-svg-dynamic-title@5.4.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-svg-dynamic-title -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/babel-plugin-svg-em-dimensions@5.4.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-svg-em-dimensions -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/babel-plugin-transform-react-native-svg@5.4.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-transform-react-native-svg -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/babel-plugin-transform-svg-component@5.5.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-transform-svg-component -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/babel-preset@5.5.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/babel-preset -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/core@5.5.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/core -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/hast-util-to-babel-ast@5.5.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/hast-util-to-babel-ast -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/plugin-jsx@5.5.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/plugin-jsx -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/plugin-svgo@5.5.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/plugin-svgo -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @svgr/webpack@5.5.0 -│ │ ├─ URL: https://github.com/gregberge/svgr/tree/master/packages/webpack -│ │ ├─ VendorName: Greg Bergé -│ │ └─ VendorUrl: https://react-svgr.com/ -│ ├─ @testing-library/dom@6.16.0 -│ │ ├─ URL: https://github.com/testing-library/dom-testing-library.git -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://github.com/testing-library/dom-testing-library#readme -│ ├─ @testing-library/dom@8.11.3 -│ │ ├─ URL: https://github.com/testing-library/dom-testing-library -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://github.com/testing-library/dom-testing-library#readme -│ ├─ @testing-library/dom@8.13.0 -│ │ ├─ URL: https://github.com/testing-library/dom-testing-library -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://github.com/testing-library/dom-testing-library#readme -│ ├─ @testing-library/jest-dom@4.2.4 -│ │ ├─ URL: https://github.com/testing-library/jest-dom.git -│ │ ├─ VendorName: Ernesto Garcia -│ │ └─ VendorUrl: https://github.com/testing-library/jest-dom#readme -│ ├─ @testing-library/jest-dom@5.16.3 -│ │ ├─ URL: https://github.com/testing-library/jest-dom -│ │ ├─ VendorName: Ernesto Garcia -│ │ └─ VendorUrl: https://github.com/testing-library/jest-dom#readme -│ ├─ @testing-library/react@12.1.2 -│ │ ├─ URL: https://github.com/testing-library/react-testing-library -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://github.com/testing-library/react-testing-library#readme -│ ├─ @testing-library/react@9.5.0 -│ │ ├─ URL: https://github.com/testing-library/react-testing-library.git -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://github.com/testing-library/react-testing-library#readme -│ ├─ @testing-library/user-event@13.5.0 -│ │ ├─ URL: https://github.com/testing-library/user-event -│ │ ├─ VendorName: Giorgio Polvara -│ │ └─ VendorUrl: https://github.com/testing-library/user-event#readme -│ ├─ @testing-library/user-event@14.0.4 -│ │ ├─ URL: https://github.com/testing-library/user-event -│ │ ├─ VendorName: Giorgio Polvara -│ │ └─ VendorUrl: https://github.com/testing-library/user-event#readme -│ ├─ @testing-library/user-event@7.2.1 -│ │ ├─ URL: https://github.com/testing-library/user-event.git -│ │ ├─ VendorName: Giorgio Polvara -│ │ └─ VendorUrl: https://github.com/testing-library/user-event#readme -│ ├─ @tootallnate/once@1.1.2 -│ │ ├─ URL: git://github.com/TooTallNate/once.git -│ │ ├─ VendorName: Nathan Rajlich -│ │ └─ VendorUrl: http://n8.io/ -│ ├─ @types/aria-query@4.2.2 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/aria-query -│ ├─ @types/autosuggest-highlight@3.2.0 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/autosuggest-highlight -│ ├─ @types/babel__core@7.1.18 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/babel__core -│ ├─ @types/babel__generator@7.6.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/babel__generator -│ ├─ @types/babel__template@7.4.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/babel__template -│ ├─ @types/babel__traverse@7.14.2 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/babel__traverse -│ ├─ @types/body-parser@1.19.2 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/body-parser -│ ├─ @types/bonjour@3.5.10 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/bonjour -│ ├─ @types/color-convert@2.0.0 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/color-name@1.1.1 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/connect-history-api-fallback@1.3.5 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/connect-history-api-fallback -│ ├─ @types/connect@3.4.35 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/connect -│ ├─ @types/eslint-scope@3.7.3 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint-scope -│ ├─ @types/eslint@7.29.0 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint -│ ├─ @types/eslint@8.4.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint -│ ├─ @types/estree@0.0.39 -│ │ └─ URL: https://www.github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/estree@0.0.51 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree -│ ├─ @types/express-serve-static-core@4.17.28 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/express-serve-static-core -│ ├─ @types/express@4.17.13 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/express -│ ├─ @types/glob@7.2.0 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/glob -│ ├─ @types/graceful-fs@4.1.5 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/hast@2.3.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/hast -│ ├─ @types/hoist-non-react-statics@3.3.1 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/html-minifier-terser@5.1.2 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/html-minifier-terser -│ ├─ @types/html-minifier-terser@6.1.0 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/html-minifier-terser -│ ├─ @types/http-proxy@1.17.8 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/http-proxy -│ ├─ @types/is-function@1.0.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/is-function -│ ├─ @types/istanbul-lib-coverage@2.0.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/istanbul-lib-coverage -│ ├─ @types/istanbul-lib-report@3.0.0 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/istanbul-reports@1.1.2 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/istanbul-reports@3.0.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/istanbul-reports -│ ├─ @types/jest@24.9.1 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/jest@27.4.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest -│ ├─ @types/json-schema@7.0.10 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/json-schema -│ ├─ @types/json5@0.0.29 -│ │ ├─ URL: https://www.github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorName: Jason Swearingen -│ ├─ @types/lodash.debounce@4.0.6 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/lodash.uniq@4.5.7 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash.uniq -│ ├─ @types/lodash@4.14.180 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash -│ ├─ @types/mdast@3.0.10 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mdast -│ ├─ @types/mime@1.3.2 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/minimatch@3.0.5 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/minimatch -│ ├─ @types/node-fetch@2.6.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-fetch -│ ├─ @types/node@12.20.47 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node -│ ├─ @types/node@14.18.12 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node -│ ├─ @types/node@17.0.21 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node -│ ├─ @types/node@17.0.23 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node -│ ├─ @types/normalize-package-data@2.4.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/normalize-package-data -│ ├─ @types/npmlog@4.1.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/npmlog -│ ├─ @types/overlayscrollbars@1.12.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/overlayscrollbars -│ ├─ @types/parse-json@4.0.0 -│ │ └─ URL: https://www.github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/parse5@5.0.3 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/prettier@2.4.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/prettier -│ ├─ @types/pretty-hrtime@1.0.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/pretty-hrtime -│ ├─ @types/prop-types@15.7.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/prop-types -│ ├─ @types/prop-types@15.7.5 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/prop-types -│ ├─ @types/q@1.5.5 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/q -│ ├─ @types/qs@6.9.7 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/qs -│ ├─ @types/range-parser@1.2.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/range-parser -│ ├─ @types/react-dom@16.9.14 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom -│ ├─ @types/react-dom@17.0.14 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom -│ ├─ @types/react-is@17.0.3 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-is -│ ├─ @types/react-redux@7.1.23 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-redux -│ ├─ @types/react-slick@0.23.8 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-slick -│ ├─ @types/react-syntax-highlighter@11.0.5 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/react-transition-group@4.4.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-transition-group -│ ├─ @types/react-transition-group@4.4.5 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-transition-group -│ ├─ @types/react@16.14.24 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react -│ ├─ @types/react@17.0.41 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react -│ ├─ @types/resolve@1.17.1 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/retry@0.12.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/retry -│ ├─ @types/scheduler@0.16.2 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/scheduler -│ ├─ @types/serve-index@1.9.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/serve-index -│ ├─ @types/serve-static@1.13.10 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/serve-static -│ ├─ @types/sockjs@0.3.33 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sockjs -│ ├─ @types/source-list-map@0.1.2 -│ │ └─ URL: https://www.github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/stack-utils@2.0.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/stack-utils -│ ├─ @types/tapable@1.0.8 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/tapable -│ ├─ @types/testing-library__dom@6.14.0 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/testing-library__dom@7.5.0 -│ │ └─ URL: https://github.com/testing-library/dom-testing-library -│ ├─ @types/testing-library__jest-dom@5.14.3 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/testing-library__jest-dom -│ ├─ @types/testing-library__react@9.1.3 -│ │ └─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ ├─ @types/trusted-types@2.0.2 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/trusted-types -│ ├─ @types/uglify-js@3.13.1 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uglify-js -│ ├─ @types/unist@2.0.6 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/unist -│ ├─ @types/webpack-env@1.16.3 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/webpack-env -│ ├─ @types/webpack-sources@3.2.0 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/webpack-sources -│ ├─ @types/webpack@4.41.32 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/webpack -│ ├─ @types/ws@8.5.3 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ws -│ ├─ @types/yargs-parser@21.0.0 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/yargs-parser -│ ├─ @types/yargs@13.0.12 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/yargs -│ ├─ @types/yargs@15.0.14 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/yargs -│ ├─ @types/yargs@16.0.4 -│ │ ├─ URL: https://github.com/DefinitelyTyped/DefinitelyTyped.git -│ │ └─ VendorUrl: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/yargs -│ ├─ @typescript-eslint/eslint-plugin@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ @typescript-eslint/experimental-utils@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ @typescript-eslint/scope-manager@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ @typescript-eslint/type-utils@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ @typescript-eslint/types@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ @typescript-eslint/utils@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ @typescript-eslint/visitor-keys@5.15.0 -│ │ └─ URL: https://github.com/typescript-eslint/typescript-eslint.git -│ ├─ @webassemblyjs/ast@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/ast@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/floating-point-hex-parser@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Mauro Bringolf -│ ├─ @webassemblyjs/floating-point-hex-parser@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Mauro Bringolf -│ ├─ @webassemblyjs/helper-api-error@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-api-error@1.9.0 -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-buffer@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-buffer@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-code-frame@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-module-context@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-numbers@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-wasm-bytecode@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-wasm-bytecode@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-wasm-section@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/helper-wasm-section@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/ieee754@1.11.1 -│ │ └─ URL: https://github.com/xtuc/webassemblyjs.git -│ ├─ @webassemblyjs/ieee754@1.9.0 -│ ├─ @webassemblyjs/leb128@1.9.0 -│ ├─ @webassemblyjs/utf8@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/utf8@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wasm-edit@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wasm-edit@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wasm-gen@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wasm-gen@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wasm-opt@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wasm-opt@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wasm-parser@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wasm-parser@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wast-parser@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wast-printer@1.11.1 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webassemblyjs/wast-printer@1.9.0 -│ │ ├─ URL: https://github.com/xtuc/webassemblyjs.git -│ │ └─ VendorName: Sven Sauleau -│ ├─ @webpack-cli/configtest@1.1.1 -│ │ ├─ URL: https://github.com/webpack/webpack-cli.git -│ │ └─ VendorUrl: https://github.com/webpack/webpack-cli/tree/master/packages/configtest -│ ├─ @webpack-cli/info@1.4.1 -│ │ ├─ URL: https://github.com/webpack/webpack-cli.git -│ │ └─ VendorUrl: https://github.com/webpack/webpack-cli/tree/master/packages/info -│ ├─ @webpack-cli/serve@1.6.1 -│ │ ├─ URL: https://github.com/webpack/webpack-cli.git -│ │ └─ VendorUrl: https://github.com/webpack/webpack-cli/tree/master/packages/serve -│ ├─ accepts@1.3.8 -│ │ └─ URL: https://github.com/jshttp/accepts.git -│ ├─ acorn-globals@6.0.0 -│ │ ├─ URL: https://github.com/ForbesLindesay/acorn-globals.git -│ │ └─ VendorName: ForbesLindesay -│ ├─ acorn-import-assertions@1.8.0 -│ │ ├─ URL: https://github.com/xtuc/acorn-import-assertions -│ │ └─ VendorName: Sven Sauleau -│ ├─ acorn-jsx@5.3.2 -│ │ ├─ URL: https://github.com/acornjs/acorn-jsx -│ │ └─ VendorUrl: https://github.com/acornjs/acorn-jsx -│ ├─ acorn-walk@7.2.0 -│ │ ├─ URL: https://github.com/acornjs/acorn.git -│ │ └─ VendorUrl: https://github.com/acornjs/acorn -│ ├─ acorn@6.4.2 -│ │ ├─ URL: https://github.com/acornjs/acorn.git -│ │ └─ VendorUrl: https://github.com/acornjs/acorn -│ ├─ acorn@7.4.1 -│ │ ├─ URL: https://github.com/acornjs/acorn.git -│ │ └─ VendorUrl: https://github.com/acornjs/acorn -│ ├─ acorn@8.7.0 -│ │ ├─ URL: https://github.com/acornjs/acorn.git -│ │ └─ VendorUrl: https://github.com/acornjs/acorn -│ ├─ acorn@8.8.2 -│ │ ├─ URL: https://github.com/acornjs/acorn.git -│ │ └─ VendorUrl: https://github.com/acornjs/acorn -│ ├─ address@1.1.2 -│ │ ├─ URL: git://github.com/node-modules/address.git -│ │ └─ VendorName: fengmk2 -│ ├─ adjust-sourcemap-loader@4.0.0 -│ │ ├─ URL: git+https://github.com/bholloway/adjust-sourcemap-loader.git -│ │ ├─ VendorName: bholloway -│ │ └─ VendorUrl: https://github.com/bholloway/adjust-sourcemap-loader -│ ├─ agent-base@6.0.2 -│ │ ├─ URL: git://github.com/TooTallNate/node-agent-base.git -│ │ ├─ VendorName: Nathan Rajlich -│ │ └─ VendorUrl: http://n8.io/ -│ ├─ aggregate-error@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/aggregate-error.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ airbnb-js-shims@2.2.1 -│ │ ├─ URL: git://github.com/airbnb/js-shims.git -│ │ └─ VendorName: Jordan Harband -│ ├─ ajv-errors@1.0.1 -│ │ ├─ URL: git+https://github.com/epoberezkin/ajv-errors.git -│ │ └─ VendorUrl: https://github.com/epoberezkin/ajv-errors#readme -│ ├─ ajv-formats@2.1.1 -│ │ ├─ URL: git+https://github.com/ajv-validator/ajv-formats.git -│ │ ├─ VendorName: Evgeny Poberezkin -│ │ └─ VendorUrl: https://github.com/ajv-validator/ajv-formats#readme -│ ├─ ajv-keywords@3.5.2 -│ │ ├─ URL: git+https://github.com/epoberezkin/ajv-keywords.git -│ │ ├─ VendorName: Evgeny Poberezkin -│ │ └─ VendorUrl: https://github.com/epoberezkin/ajv-keywords#readme -│ ├─ ajv-keywords@5.1.0 -│ │ ├─ URL: git+https://github.com/epoberezkin/ajv-keywords.git -│ │ ├─ VendorName: Evgeny Poberezkin -│ │ └─ VendorUrl: https://github.com/epoberezkin/ajv-keywords#readme -│ ├─ ajv@6.12.6 -│ │ ├─ URL: https://github.com/ajv-validator/ajv.git -│ │ ├─ VendorName: Evgeny Poberezkin -│ │ └─ VendorUrl: https://github.com/ajv-validator/ajv -│ ├─ ajv@8.10.0 -│ │ ├─ URL: https://github.com/ajv-validator/ajv.git -│ │ ├─ VendorName: Evgeny Poberezkin -│ │ └─ VendorUrl: https://ajv.js.org/ -│ ├─ ansi-colors@3.2.4 -│ │ ├─ URL: https://github.com/doowb/ansi-colors.git -│ │ ├─ VendorName: Brian Woodward -│ │ └─ VendorUrl: https://github.com/doowb/ansi-colors -│ ├─ ansi-escapes@4.3.2 -│ │ ├─ URL: https://github.com/sindresorhus/ansi-escapes.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ ansi-regex@2.1.1 -│ │ ├─ URL: https://github.com/chalk/ansi-regex.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ ansi-regex@4.1.1 -│ │ ├─ URL: https://github.com/chalk/ansi-regex.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ ansi-regex@5.0.1 -│ │ ├─ URL: https://github.com/chalk/ansi-regex.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ ansi-regex@6.0.1 -│ │ ├─ URL: https://github.com/chalk/ansi-regex.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ ansi-styles@3.2.1 -│ │ ├─ URL: https://github.com/chalk/ansi-styles.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ ansi-styles@4.3.0 -│ │ ├─ URL: https://github.com/chalk/ansi-styles.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ ansi-styles@5.2.0 -│ │ ├─ URL: https://github.com/chalk/ansi-styles.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ ansi-to-html@0.6.15 -│ │ ├─ URL: https://github.com/rburns/ansi-to-html.git -│ │ ├─ VendorName: Rob Burns -│ │ └─ VendorUrl: https://github.com/rburns/ansi-to-html -│ ├─ app-root-dir@1.0.2 -│ │ ├─ URL: https://github.com/philidem/node-app-root-dir.git -│ │ ├─ VendorName: Phillip Gates-Idem -│ │ └─ VendorUrl: https://github.com/philidem/node-app-root-dir -│ ├─ arg@5.0.1 -│ │ ├─ URL: https://github.com/vercel/arg.git -│ │ └─ VendorName: Josh Junon -│ ├─ argparse@1.0.10 -│ │ └─ URL: https://github.com/nodeca/argparse.git -│ ├─ arr-diff@4.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/arr-diff.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/arr-diff -│ ├─ arr-flatten@1.1.0 -│ │ ├─ URL: https://github.com/jonschlinkert/arr-flatten.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/arr-flatten -│ ├─ arr-union@3.1.0 -│ │ ├─ URL: https://github.com/jonschlinkert/arr-union.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/arr-union -│ ├─ array-flatten@1.1.1 -│ │ ├─ URL: git://github.com/blakeembrey/array-flatten.git -│ │ ├─ VendorName: Blake Embrey -│ │ └─ VendorUrl: https://github.com/blakeembrey/array-flatten -│ ├─ array-flatten@2.1.2 -│ │ ├─ URL: git://github.com/blakeembrey/array-flatten.git -│ │ ├─ VendorName: Blake Embrey -│ │ └─ VendorUrl: https://github.com/blakeembrey/array-flatten -│ ├─ array-includes@3.1.4 -│ │ ├─ URL: git://github.com/es-shims/array-includes.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: http://ljharb.codes -│ ├─ array-union@1.0.2 -│ │ ├─ URL: https://github.com/sindresorhus/array-union.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ array-union@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/array-union.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ array-uniq@1.0.3 -│ │ ├─ URL: https://github.com/sindresorhus/array-uniq.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ array-unique@0.3.2 -│ │ ├─ URL: https://github.com/jonschlinkert/array-unique.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/array-unique -│ ├─ array.prototype.flat@1.2.5 -│ │ ├─ URL: git://github.com/es-shims/Array.prototype.flat.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: http://ljharb.codes -│ ├─ array.prototype.flatmap@1.2.5 -│ │ ├─ URL: git://github.com/es-shims/Array.prototype.flatMap.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: http://ljharb.codes -│ ├─ array.prototype.map@1.0.4 -│ │ ├─ URL: git+https://github.com/es-shims/Array.prototype.map.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/es-shims/Array.prototype.map#readme -│ ├─ arrify@2.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/arrify.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ asap@2.0.6 -│ │ └─ URL: https://github.com/kriskowal/asap.git -│ ├─ asn1.js@5.4.1 -│ │ ├─ URL: git@github.com:indutny/asn1.js -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/asn1.js -│ ├─ assert@1.5.0 -│ │ ├─ URL: git://github.com/browserify/commonjs-assert.git -│ │ └─ VendorUrl: https://github.com/browserify/commonjs-assert -│ ├─ assign-symbols@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/assign-symbols.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/assign-symbols -│ ├─ ast-types@0.14.2 -│ │ ├─ URL: git://github.com/benjamn/ast-types.git -│ │ ├─ VendorName: Ben Newman -│ │ └─ VendorUrl: http://github.com/benjamn/ast-types -│ ├─ async-each@1.0.6 -│ │ ├─ URL: git+https://github.com/paulmillr/async-each.git -│ │ ├─ VendorName: Paul Miller -│ │ └─ VendorUrl: https://github.com/paulmillr/async-each/ -│ ├─ async@2.6.4 -│ │ ├─ URL: https://github.com/caolan/async.git -│ │ ├─ VendorName: Caolan McMahon -│ │ └─ VendorUrl: https://caolan.github.io/async/ -│ ├─ async@3.2.3 -│ │ ├─ URL: https://github.com/caolan/async.git -│ │ ├─ VendorName: Caolan McMahon -│ │ └─ VendorUrl: https://caolan.github.io/async/ -│ ├─ asynckit@0.4.0 -│ │ ├─ URL: git+https://github.com/alexindigo/asynckit.git -│ │ ├─ VendorName: Alex Indigo -│ │ └─ VendorUrl: https://github.com/alexindigo/asynckit#readme -│ ├─ attr-accept@2.2.2 -│ │ ├─ URL: https://github.com/react-dropzone/attr-accept.git -│ │ ├─ VendorName: Andrey Okonetchnikov @okonetchnikov -│ │ └─ VendorUrl: https://github.com/react-dropzone/attr-accept#readme -│ ├─ autoprefixer@10.4.4 -│ │ ├─ URL: https://github.com/postcss/autoprefixer.git -│ │ └─ VendorName: Andrey Sitnik -│ ├─ autoprefixer@9.8.8 -│ │ ├─ URL: https://github.com/postcss/autoprefixer.git -│ │ └─ VendorName: Andrey Sitnik -│ ├─ autosuggest-highlight@3.2.1 -│ │ ├─ URL: https://github.com/moroshko/autosuggest-highlight.git -│ │ └─ VendorName: Misha Moroshko -│ ├─ axios@0.26.1 -│ │ ├─ URL: https://github.com/axios/axios.git -│ │ ├─ VendorName: Matt Zabriskie -│ │ └─ VendorUrl: https://axios-http.com/ -│ ├─ babel-jest@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ babel-loader@8.2.3 -│ │ ├─ URL: https://github.com/babel/babel-loader.git -│ │ ├─ VendorName: Luis Couto -│ │ └─ VendorUrl: https://github.com/babel/babel-loader -│ ├─ babel-plugin-add-react-displayname@0.0.5 -│ │ ├─ URL: git+https://github.com/opbeat/babel-plugin-add-react-displayname.git -│ │ ├─ VendorName: Ron Cohen -│ │ └─ VendorUrl: https://github.com/opbeat/babel-plugin-add-react-displayname#readme -│ ├─ babel-plugin-apply-mdx-type-prop@1.6.22 -│ │ ├─ URL: https://github.com/mdx-js/mdx.git -│ │ ├─ VendorName: John Otander -│ │ └─ VendorUrl: https://mdxjs.com/ -│ ├─ babel-plugin-dynamic-import-node@2.3.3 -│ │ ├─ URL: git+https://github.com/airbnb/babel-plugin-dynamic-import-node.git -│ │ ├─ VendorName: Jordan Gensler -│ │ └─ VendorUrl: https://github.com/airbnb/babel-plugin-dynamic-import-node#readme -│ ├─ babel-plugin-emotion@10.2.2 -│ │ ├─ URL: https://github.com/emotion-js/emotion/tree/master/packages/babel-plugin-emotion -│ │ ├─ VendorName: Kye Hohenberger -│ │ └─ VendorUrl: https://emotion.sh/ -│ ├─ babel-plugin-extract-import-names@1.6.22 -│ │ ├─ URL: https://github.com/mdx-js/mdx.git -│ │ ├─ VendorName: John Otander -│ │ └─ VendorUrl: https://mdxjs.com/ -│ ├─ babel-plugin-jest-hoist@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ babel-plugin-macros@2.8.0 -│ │ ├─ URL: https://github.com/kentcdodds/babel-plugin-macros.git -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://github.com/kentcdodds/babel-plugin-macros#readme -│ ├─ babel-plugin-macros@3.1.0 -│ │ ├─ URL: https://github.com/kentcdodds/babel-plugin-macros -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://github.com/kentcdodds/babel-plugin-macros#readme -│ ├─ babel-plugin-named-asset-import@0.3.8 -│ │ └─ URL: https://github.com/facebook/create-react-app.git -│ ├─ babel-plugin-polyfill-corejs2@0.3.1 -│ │ └─ URL: https://github.com/babel/babel-polyfills.git -│ ├─ babel-plugin-polyfill-corejs3@0.1.7 -│ │ └─ URL: https://github.com/babel/babel-polyfills.git -│ ├─ babel-plugin-polyfill-corejs3@0.5.2 -│ │ └─ URL: https://github.com/babel/babel-polyfills.git -│ ├─ babel-plugin-polyfill-regenerator@0.3.1 -│ │ └─ URL: https://github.com/babel/babel-polyfills.git -│ ├─ babel-plugin-react-docgen@4.2.1 -│ │ ├─ URL: https://github.com/storybooks/babel-plugin-react-docgen -│ │ └─ VendorName: Madushan Nishantha -│ ├─ babel-plugin-styled-components@2.0.6 -│ │ ├─ URL: https://github.com/styled-components/babel-plugin-styled-components.git -│ │ └─ VendorUrl: https://styled-components.com/docs/tooling#babel-plugin -│ ├─ babel-plugin-syntax-jsx@6.18.0 -│ │ └─ URL: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-jsx -│ ├─ babel-plugin-transform-react-remove-prop-types@0.4.24 -│ │ ├─ URL: https://github.com/oliviertassinari/babel-plugin-transform-react-remove-prop-types.git -│ │ └─ VendorName: Nikita Gusakov -│ ├─ babel-preset-current-node-syntax@1.0.1 -│ │ ├─ URL: https://github.com/nicolo-ribaudo/babel-preset-current-node-syntax.git -│ │ ├─ VendorName: Nicolò Ribaudo -│ │ └─ VendorUrl: https://github.com/nicolo-ribaudo -│ ├─ babel-preset-jest@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ babel-preset-react-app@10.0.1 -│ │ └─ URL: https://github.com/facebook/create-react-app.git -│ ├─ bail@1.0.5 -│ │ ├─ URL: https://github.com/wooorm/bail.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ balanced-match@1.0.2 -│ │ ├─ URL: git://github.com/juliangruber/balanced-match.git -│ │ ├─ VendorName: Julian Gruber -│ │ └─ VendorUrl: https://github.com/juliangruber/balanced-match -│ ├─ base@0.11.2 -│ │ ├─ URL: https://github.com/node-base/base.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/node-base/base -│ ├─ base64-js@1.5.1 -│ │ ├─ URL: git://github.com/beatgammit/base64-js.git -│ │ ├─ VendorName: T. Jameson Little -│ │ └─ VendorUrl: https://github.com/beatgammit/base64-js -│ ├─ batch-processor@1.0.0 -│ │ ├─ URL: https://github.com/wnr/batch-processor.git -│ │ ├─ VendorName: Lucas Wiener -│ │ └─ VendorUrl: https://github.com/wnr/batch-processor -│ ├─ batch@0.6.1 -│ │ ├─ URL: https://github.com/visionmedia/batch.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ better-opn@2.1.1 -│ │ ├─ URL: https://github.com/ExiaSR/better-opn -│ │ └─ VendorName: Michael Lin -│ ├─ bfj@7.0.2 -│ │ ├─ URL: https://gitlab.com/philbooth/bfj.git -│ │ ├─ VendorName: Phil Booth -│ │ └─ VendorUrl: https://gitlab.com/philbooth/bfj -│ ├─ big.js@5.2.2 -│ │ ├─ URL: https://github.com/MikeMcl/big.js.git -│ │ └─ VendorName: Michael Mclaughlin -│ ├─ binary-extensions@1.13.1 -│ │ ├─ URL: https://github.com/sindresorhus/binary-extensions.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ binary-extensions@2.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/binary-extensions.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ bindings@1.5.0 -│ │ ├─ URL: git://github.com/TooTallNate/node-bindings.git -│ │ ├─ VendorName: Nathan Rajlich -│ │ └─ VendorUrl: https://github.com/TooTallNate/node-bindings -│ ├─ bluebird@3.7.2 -│ │ ├─ URL: git://github.com/petkaantonov/bluebird.git -│ │ ├─ VendorName: Petka Antonov -│ │ └─ VendorUrl: https://github.com/petkaantonov/bluebird -│ ├─ bn.js@4.12.0 -│ │ ├─ URL: git@github.com:indutny/bn.js -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/bn.js -│ ├─ bn.js@5.2.1 -│ │ ├─ URL: git@github.com:indutny/bn.js -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/bn.js -│ ├─ body-parser@1.19.2 -│ │ └─ URL: https://github.com/expressjs/body-parser.git -│ ├─ bonjour@3.5.0 -│ │ ├─ URL: https://github.com/watson/bonjour.git -│ │ ├─ VendorName: Thomas Watson Steen -│ │ └─ VendorUrl: https://github.com/watson/bonjour -│ ├─ boxen@5.1.2 -│ │ ├─ URL: https://github.com/sindresorhus/boxen.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ brace-expansion@1.1.11 -│ │ ├─ URL: git://github.com/juliangruber/brace-expansion.git -│ │ ├─ VendorName: Julian Gruber -│ │ └─ VendorUrl: https://github.com/juliangruber/brace-expansion -│ ├─ brace-expansion@2.0.1 -│ │ ├─ URL: git://github.com/juliangruber/brace-expansion.git -│ │ ├─ VendorName: Julian Gruber -│ │ └─ VendorUrl: https://github.com/juliangruber/brace-expansion -│ ├─ braces@2.3.2 -│ │ ├─ URL: https://github.com/micromatch/braces.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/braces -│ ├─ braces@3.0.2 -│ │ ├─ URL: https://github.com/micromatch/braces.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/braces -│ ├─ brorand@1.1.0 -│ │ ├─ URL: git@github.com:indutny/brorand -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/brorand -│ ├─ browserify-aes@1.2.0 -│ │ ├─ URL: git://github.com/crypto-browserify/browserify-aes.git -│ │ └─ VendorUrl: https://github.com/crypto-browserify/browserify-aes -│ ├─ browserify-cipher@1.0.1 -│ │ ├─ URL: git@github.com:crypto-browserify/browserify-cipher.git -│ │ └─ VendorName: Calvin Metcalf -│ ├─ browserify-des@1.0.2 -│ │ ├─ URL: git+https://github.com/crypto-browserify/browserify-des.git -│ │ ├─ VendorName: Calvin Metcalf -│ │ └─ VendorUrl: https://github.com/crypto-browserify/browserify-des#readme -│ ├─ browserify-rsa@4.1.0 -│ │ └─ URL: https://github.com:crypto-browserify/browserify-rsa.git -│ ├─ browserify-zlib@0.2.0 -│ │ ├─ URL: git+https://github.com/devongovett/browserify-zlib.git -│ │ ├─ VendorName: Devon Govett -│ │ └─ VendorUrl: https://github.com/devongovett/browserify-zlib -│ ├─ browserslist@4.20.2 -│ │ ├─ URL: https://github.com/browserslist/browserslist.git -│ │ └─ VendorName: Andrey Sitnik -│ ├─ buffer-from@1.1.2 -│ │ └─ URL: https://github.com/LinusU/buffer-from.git -│ ├─ buffer-indexof@1.1.1 -│ │ ├─ URL: git://github.com/soldair/node-buffer-indexof.git -│ │ └─ VendorName: Ryan Day -│ ├─ buffer-xor@1.0.3 -│ │ ├─ URL: https://github.com/crypto-browserify/buffer-xor.git -│ │ ├─ VendorName: Daniel Cousens -│ │ └─ VendorUrl: https://github.com/crypto-browserify/buffer-xor -│ ├─ buffer@4.9.2 -│ │ ├─ URL: git://github.com/feross/buffer.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: https://github.com/feross/buffer -│ ├─ builtin-modules@3.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/builtin-modules.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ builtin-status-codes@3.0.0 -│ │ ├─ URL: https://github.com/bendrucker/builtin-status-codes.git -│ │ ├─ VendorName: Ben Drucker -│ │ └─ VendorUrl: bendrucker.me -│ ├─ bytes@3.0.0 -│ │ ├─ URL: https://github.com/visionmedia/bytes.js.git -│ │ ├─ VendorName: TJ Holowaychuk -│ │ └─ VendorUrl: http://tjholowaychuk.com -│ ├─ bytes@3.1.2 -│ │ ├─ URL: https://github.com/visionmedia/bytes.js.git -│ │ ├─ VendorName: TJ Holowaychuk -│ │ └─ VendorUrl: http://tjholowaychuk.com -│ ├─ cache-base@1.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/cache-base.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/cache-base -│ ├─ call-bind@1.0.2 -│ │ ├─ URL: git+https://github.com/ljharb/call-bind.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/call-bind#readme -│ ├─ call-me-maybe@1.0.1 -│ │ ├─ URL: git+https://github.com/limulus/call-me-maybe.git -│ │ ├─ VendorName: Eric McCarthy -│ │ └─ VendorUrl: https://github.com/limulus/call-me-maybe#readme -│ ├─ callsites@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/callsites.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ camel-case@4.1.2 -│ │ ├─ URL: git://github.com/blakeembrey/change-case.git -│ │ ├─ VendorName: Blake Embrey -│ │ └─ VendorUrl: https://github.com/blakeembrey/change-case/tree/master/packages/camel-case#readme -│ ├─ camelcase-css@2.0.1 -│ │ ├─ URL: https://github.com/stevenvachon/camelcase-css.git -│ │ ├─ VendorName: Steven Vachon -│ │ └─ VendorUrl: https://www.svachon.com/ -│ ├─ camelcase@5.3.1 -│ │ ├─ URL: https://github.com/sindresorhus/camelcase.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ camelcase@6.3.0 -│ │ ├─ URL: https://github.com/sindresorhus/camelcase.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ camelize@1.0.0 -│ │ ├─ URL: git://github.com/substack/camelize.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/camelize -│ ├─ caniuse-api@3.0.0 -│ │ └─ URL: https://github.com/nyalab/caniuse-api.git -│ ├─ case-sensitive-paths-webpack-plugin@2.4.0 -│ │ ├─ URL: git+https://github.com/Urthen/case-sensitive-paths-webpack-plugin.git -│ │ ├─ VendorName: Michael Pratt -│ │ └─ VendorUrl: https://github.com/Urthen/case-sensitive-paths-webpack-plugin#readme -│ ├─ ccount@1.1.0 -│ │ ├─ URL: https://github.com/wooorm/ccount.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ chalk@2.4.2 -│ │ └─ URL: https://github.com/chalk/chalk.git -│ ├─ chalk@3.0.0 -│ │ └─ URL: https://github.com/chalk/chalk.git -│ ├─ chalk@4.1.2 -│ │ └─ URL: https://github.com/chalk/chalk.git -│ ├─ char-regex@1.0.2 -│ │ ├─ URL: https://github.com/Richienb/char-regex.git -│ │ └─ VendorName: Richie Bendall -│ ├─ char-regex@2.0.1 -│ │ ├─ URL: https://github.com/Richienb/char-regex.git -│ │ └─ VendorName: Richie Bendall -│ ├─ character-entities-legacy@1.1.4 -│ │ ├─ URL: https://github.com/wooorm/character-entities-legacy.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ character-entities@1.2.4 -│ │ ├─ URL: https://github.com/wooorm/character-entities.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ character-reference-invalid@1.1.4 -│ │ ├─ URL: https://github.com/wooorm/character-reference-invalid.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ charcodes@0.2.0 -│ │ ├─ URL: git+https://github.com/xtuc/charcodes.git -│ │ ├─ VendorName: Sven Sauleau -│ │ └─ VendorUrl: https://github.com/xtuc/charcodes#readme -│ ├─ check-types@11.1.2 -│ │ ├─ URL: https://gitlab.com/philbooth/check-types.js.git -│ │ ├─ VendorName: Phil Booth -│ │ └─ VendorUrl: https://gitlab.com/philbooth/check-types.js -│ ├─ chokidar@2.1.8 -│ │ ├─ URL: https://github.com/paulmillr/chokidar.git -│ │ ├─ VendorName: Paul Miller -│ │ └─ VendorUrl: https://github.com/paulmillr/chokidar -│ ├─ chokidar@3.5.3 -│ │ ├─ URL: git+https://github.com/paulmillr/chokidar.git -│ │ ├─ VendorName: Paul Miller -│ │ └─ VendorUrl: https://github.com/paulmillr/chokidar -│ ├─ chrome-trace-event@1.0.3 -│ │ ├─ URL: https://github.com/samccone/chrome-trace-event.git -│ │ └─ VendorName: Trent Mick, Sam Saccone -│ ├─ ci-info@2.0.0 -│ │ ├─ URL: https://github.com/watson/ci-info.git -│ │ ├─ VendorName: Thomas Watson Steen -│ │ └─ VendorUrl: https://github.com/watson/ci-info -│ ├─ ci-info@3.3.0 -│ │ ├─ URL: https://github.com/watson/ci-info.git -│ │ ├─ VendorName: Thomas Watson Steen -│ │ └─ VendorUrl: https://github.com/watson/ci-info -│ ├─ cipher-base@1.0.4 -│ │ ├─ URL: git+https://github.com/crypto-browserify/cipher-base.git -│ │ ├─ VendorName: Calvin Metcalf -│ │ └─ VendorUrl: https://github.com/crypto-browserify/cipher-base#readme -│ ├─ cjs-module-lexer@1.2.2 -│ │ ├─ URL: git+https://github.com/guybedford/cjs-module-lexer.git -│ │ ├─ VendorName: Guy Bedford -│ │ └─ VendorUrl: https://github.com/guybedford/cjs-module-lexer#readme -│ ├─ class-utils@0.3.6 -│ │ ├─ URL: https://github.com/jonschlinkert/class-utils.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/class-utils -│ ├─ classnames@2.3.1 -│ │ ├─ URL: https://github.com/JedWatson/classnames.git -│ │ └─ VendorName: Jed Watson -│ ├─ clean-css@4.2.4 -│ │ ├─ URL: https://github.com/jakubpawlowicz/clean-css.git -│ │ ├─ VendorName: Jakub Pawlowicz -│ │ └─ VendorUrl: https://github.com/jakubpawlowicz/clean-css -│ ├─ clean-css@5.2.4 -│ │ ├─ URL: https://github.com/clean-css/clean-css.git -│ │ ├─ VendorName: Jakub Pawlowicz -│ │ └─ VendorUrl: https://github.com/clean-css/clean-css -│ ├─ clean-stack@2.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/clean-stack.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ cli-boxes@2.2.1 -│ │ ├─ URL: https://github.com/sindresorhus/cli-boxes.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ cli-table3@0.6.1 -│ │ ├─ URL: https://github.com/cli-table/cli-table3.git -│ │ ├─ VendorName: James Talmage -│ │ └─ VendorUrl: https://github.com/cli-table/cli-table3 -│ ├─ clone-deep@4.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/clone-deep.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/clone-deep -│ ├─ clsx@1.1.1 -│ │ ├─ URL: https://github.com/lukeed/clsx.git -│ │ ├─ VendorName: Luke Edwards -│ │ └─ VendorUrl: https://lukeed.com -│ ├─ clsx@1.2.1 -│ │ ├─ URL: https://github.com/lukeed/clsx.git -│ │ ├─ VendorName: Luke Edwards -│ │ └─ VendorUrl: https://lukeed.com -│ ├─ co@4.6.0 -│ │ └─ URL: https://github.com/tj/co.git -│ ├─ coa@2.0.2 -│ │ ├─ URL: git://github.com/veged/coa.git -│ │ ├─ VendorName: Sergey Berezhnoy -│ │ └─ VendorUrl: http://github.com/veged/coa -│ ├─ collapse-white-space@1.0.6 -│ │ ├─ URL: https://github.com/wooorm/collapse-white-space.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ collect-v8-coverage@1.0.1 -│ │ └─ URL: https://github.com/SimenB/collect-v8-coverage.git -│ ├─ collection-visit@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/collection-visit.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/collection-visit -│ ├─ color-convert@1.9.3 -│ │ ├─ URL: https://github.com/Qix-/color-convert.git -│ │ └─ VendorName: Heather Arthur -│ ├─ color-convert@2.0.1 -│ │ ├─ URL: https://github.com/Qix-/color-convert.git -│ │ └─ VendorName: Heather Arthur -│ ├─ color-name@1.1.3 -│ │ ├─ URL: git@github.com:dfcreative/color-name.git -│ │ ├─ VendorName: DY -│ │ └─ VendorUrl: https://github.com/dfcreative/color-name -│ ├─ color-name@1.1.4 -│ │ ├─ URL: git@github.com:colorjs/color-name.git -│ │ ├─ VendorName: DY -│ │ └─ VendorUrl: https://github.com/colorjs/color-name -│ ├─ colord@2.9.2 -│ │ ├─ URL: https://github.com/omgovich/colord.git -│ │ └─ VendorName: Vlad Shilov -│ ├─ colorette@1.4.0 -│ │ ├─ URL: https://github.com/jorgebucaran/colorette.git -│ │ └─ VendorName: Jorge Bucaran -│ ├─ colorette@2.0.16 -│ │ ├─ URL: https://github.com/jorgebucaran/colorette.git -│ │ └─ VendorName: Jorge Bucaran -│ ├─ colors@1.4.0 -│ │ ├─ URL: http://github.com/Marak/colors.js.git -│ │ ├─ VendorName: Marak Squires -│ │ └─ VendorUrl: https://github.com/Marak/colors.js -│ ├─ combined-stream@1.0.8 -│ │ ├─ URL: git://github.com/felixge/node-combined-stream.git -│ │ ├─ VendorName: Felix Geisendörfer -│ │ └─ VendorUrl: https://github.com/felixge/node-combined-stream -│ ├─ comma-separated-tokens@1.0.8 -│ │ ├─ URL: https://github.com/wooorm/comma-separated-tokens.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ commander@2.20.3 -│ │ ├─ URL: https://github.com/tj/commander.js.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ commander@4.1.1 -│ │ ├─ URL: https://github.com/tj/commander.js.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ commander@6.2.1 -│ │ ├─ URL: https://github.com/tj/commander.js.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ commander@7.2.0 -│ │ ├─ URL: https://github.com/tj/commander.js.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ commander@8.3.0 -│ │ ├─ URL: https://github.com/tj/commander.js.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ common-tags@1.8.2 -│ │ ├─ URL: https://github.com/zspecza/common-tags -│ │ ├─ VendorName: Declan de Wet -│ │ └─ VendorUrl: https://github.com/zspecza/common-tags -│ ├─ commondir@1.0.1 -│ │ ├─ URL: http://github.com/substack/node-commondir.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ component-emitter@1.3.0 -│ │ └─ URL: https://github.com/component/emitter.git -│ ├─ compressible@2.0.18 -│ │ └─ URL: https://github.com/jshttp/compressible.git -│ ├─ compression@1.7.4 -│ │ └─ URL: https://github.com/expressjs/compression.git -│ ├─ compute-scroll-into-view@1.0.17 -│ │ ├─ URL: git+https://github.com/stipsan/compute-scroll-into-view.git -│ │ ├─ VendorName: Cody Olsen -│ │ └─ VendorUrl: https://scroll-into-view-if-needed.netlify.com/ -│ ├─ concat-map@0.0.1 -│ │ ├─ URL: git://github.com/substack/node-concat-map.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ concat-stream@1.6.2 -│ │ ├─ URL: http://github.com/maxogden/concat-stream.git -│ │ └─ VendorName: Max Ogden -│ ├─ confusing-browser-globals@1.0.11 -│ │ └─ URL: https://github.com/facebook/create-react-app.git -│ ├─ connect-history-api-fallback@1.6.0 -│ │ ├─ URL: http://github.com/bripkens/connect-history-api-fallback.git -│ │ ├─ VendorName: Ben Ripkens -│ │ └─ VendorUrl: http://bripkens.de -│ ├─ console-browserify@1.2.0 -│ │ ├─ URL: git://github.com/browserify/console-browserify.git -│ │ ├─ VendorName: Raynos -│ │ └─ VendorUrl: https://github.com/browserify/console-browserify -│ ├─ constants-browserify@1.0.0 -│ │ ├─ URL: git://github.com/juliangruber/constants-browserify.git -│ │ ├─ VendorName: Julian Gruber -│ │ └─ VendorUrl: https://github.com/juliangruber/constants-browserify -│ ├─ content-disposition@0.5.4 -│ │ ├─ URL: https://github.com/jshttp/content-disposition.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ content-type@1.0.4 -│ │ ├─ URL: https://github.com/jshttp/content-type.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ convert-source-map@1.8.0 -│ │ ├─ URL: git://github.com/thlorenz/convert-source-map.git -│ │ ├─ VendorName: Thorsten Lorenz -│ │ └─ VendorUrl: https://github.com/thlorenz/convert-source-map -│ ├─ cookie-signature@1.0.6 -│ │ ├─ URL: https://github.com/visionmedia/node-cookie-signature.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ cookie@0.4.2 -│ │ ├─ URL: https://github.com/jshttp/cookie.git -│ │ └─ VendorName: Roman Shtylman -│ ├─ copy-descriptor@0.1.1 -│ │ ├─ URL: https://github.com/jonschlinkert/copy-descriptor.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/copy-descriptor -│ ├─ copy-to-clipboard@3.3.1 -│ │ ├─ URL: git+https://github.com/sudodoki/copy-to-clipboard -│ │ └─ VendorName: sudodoki -│ ├─ core-js-compat@3.21.1 -│ │ └─ URL: https://github.com/zloirock/core-js.git -│ ├─ core-js-pure@3.21.1 -│ │ └─ URL: https://github.com/zloirock/core-js.git -│ ├─ core-js@3.21.1 -│ │ └─ URL: https://github.com/zloirock/core-js.git -│ ├─ core-util-is@1.0.3 -│ │ ├─ URL: git://github.com/isaacs/core-util-is -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ cosmiconfig@6.0.0 -│ │ ├─ URL: git+https://github.com/davidtheclark/cosmiconfig.git -│ │ ├─ VendorName: David Clark -│ │ └─ VendorUrl: https://github.com/davidtheclark/cosmiconfig#readme -│ ├─ cosmiconfig@7.0.1 -│ │ ├─ URL: git+https://github.com/davidtheclark/cosmiconfig.git -│ │ ├─ VendorName: David Clark -│ │ └─ VendorUrl: https://github.com/davidtheclark/cosmiconfig#readme -│ ├─ cp-file@7.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/cp-file.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ cpy@8.1.2 -│ │ ├─ URL: https://github.com/sindresorhus/cpy.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ create-ecdh@4.0.4 -│ │ ├─ URL: https://github.com/crypto-browserify/createECDH.git -│ │ ├─ VendorName: Calvin Metcalf -│ │ └─ VendorUrl: https://github.com/crypto-browserify/createECDH -│ ├─ create-hash@1.2.0 -│ │ ├─ URL: git@github.com:crypto-browserify/createHash.git -│ │ └─ VendorUrl: https://github.com/crypto-browserify/createHash -│ ├─ create-hmac@1.1.7 -│ │ ├─ URL: https://github.com/crypto-browserify/createHmac.git -│ │ └─ VendorUrl: https://github.com/crypto-browserify/createHmac -│ ├─ cross-env@5.0.5 -│ │ ├─ URL: https://github.com/kentcdodds/cross-env.git -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://github.com/kentcdodds/cross-env#readme -│ ├─ cross-spawn@5.1.0 -│ │ ├─ URL: git://github.com/IndigoUnited/node-cross-spawn.git -│ │ ├─ VendorName: IndigoUnited -│ │ └─ VendorUrl: http://indigounited.com -│ ├─ cross-spawn@6.0.5 -│ │ ├─ URL: git@github.com:moxystudio/node-cross-spawn.git -│ │ ├─ VendorName: André Cruz -│ │ └─ VendorUrl: https://github.com/moxystudio/node-cross-spawn -│ ├─ cross-spawn@7.0.3 -│ │ ├─ URL: git@github.com:moxystudio/node-cross-spawn.git -│ │ ├─ VendorName: André Cruz -│ │ └─ VendorUrl: https://github.com/moxystudio/node-cross-spawn -│ ├─ crypto-browserify@3.12.0 -│ │ ├─ URL: git://github.com/crypto-browserify/crypto-browserify.git -│ │ ├─ VendorName: Dominic Tarr -│ │ └─ VendorUrl: https://github.com/crypto-browserify/crypto-browserify -│ ├─ crypto-random-string@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/crypto-random-string.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ css-loader@3.6.0 -│ │ ├─ URL: https://github.com/webpack-contrib/css-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/css-loader -│ ├─ css-loader@5.2.7 -│ │ ├─ URL: https://github.com/webpack-contrib/css-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/css-loader -│ ├─ css-loader@6.7.1 -│ │ ├─ URL: https://github.com/webpack-contrib/css-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/css-loader -│ ├─ css-minimizer-webpack-plugin@3.4.1 -│ │ ├─ URL: https://github.com/webpack-contrib/css-minimizer-webpack-plugin.git -│ │ ├─ VendorName: Loann Neveu -│ │ └─ VendorUrl: https://github.com/webpack-contrib/css-minimizer-webpack-plugin -│ ├─ css-select-base-adapter@0.1.1 -│ │ ├─ URL: https://github.com/nrkn/css-select-base-adapter.git -│ │ ├─ VendorName: Nik Coughlin -│ │ └─ VendorUrl: https://github.com/nrkn/css-select-base-adapter#readme -│ ├─ css-to-react-native@3.0.0 -│ │ ├─ URL: git+https://github.com/styled-components/css-to-react-native.git -│ │ ├─ VendorName: Jacob Parker -│ │ └─ VendorUrl: https://github.com/styled-components/css-to-react-native#readme -│ ├─ css-tree@1.0.0-alpha.37 -│ │ ├─ URL: https://github.com/csstree/csstree.git -│ │ ├─ VendorName: Roman Dvornov -│ │ └─ VendorUrl: https://github.com/lahmatiy -│ ├─ css-tree@1.1.3 -│ │ ├─ URL: https://github.com/csstree/csstree.git -│ │ ├─ VendorName: Roman Dvornov -│ │ └─ VendorUrl: https://github.com/lahmatiy -│ ├─ css.escape@1.5.1 -│ │ ├─ URL: https://github.com/mathiasbynens/CSS.escape.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/cssescape -│ ├─ css@2.2.4 -│ │ ├─ URL: https://github.com/reworkcss/css.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ css@3.0.0 -│ │ ├─ URL: https://github.com/reworkcss/css.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ cssesc@3.0.0 -│ │ ├─ URL: https://github.com/mathiasbynens/cssesc.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/cssesc -│ ├─ cssnano-preset-default@5.2.4 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ cssnano-utils@3.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ cssnano@5.1.4 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ csso@4.2.0 -│ │ ├─ URL: https://github.com/css/csso.git -│ │ ├─ VendorName: Sergey Kryzhanovsky -│ │ └─ VendorUrl: https://github.com/css/csso -│ ├─ cssom@0.3.8 -│ │ ├─ URL: https://github.com/NV/CSSOM.git -│ │ └─ VendorName: Nikita Vasilyev -│ ├─ cssom@0.4.4 -│ │ ├─ URL: https://github.com/NV/CSSOM.git -│ │ └─ VendorName: Nikita Vasilyev -│ ├─ cssstyle@2.3.0 -│ │ ├─ URL: https://github.com/jsdom/cssstyle.git -│ │ └─ VendorUrl: https://github.com/jsdom/cssstyle -│ ├─ csstype@2.6.20 -│ │ ├─ URL: https://github.com/frenic/csstype -│ │ └─ VendorName: Fredrik Nicol -│ ├─ csstype@3.0.11 -│ │ ├─ URL: https://github.com/frenic/csstype -│ │ └─ VendorName: Fredrik Nicol -│ ├─ cyclist@1.0.1 -│ │ ├─ URL: git://github.com/mafintosh/cyclist -│ │ ├─ VendorName: Mathias Buus Madsen -│ │ └─ VendorUrl: https://github.com/mafintosh/cyclist -│ ├─ data-urls@2.0.0 -│ │ ├─ URL: https://github.com/jsdom/data-urls.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ ├─ date-fns@2.29.1 -│ │ └─ URL: https://github.com/date-fns/date-fns -│ ├─ dayjs@1.11.4 -│ │ ├─ URL: https://github.com/iamkun/dayjs.git -│ │ ├─ VendorName: iamkun -│ │ └─ VendorUrl: https://day.js.org/ -│ ├─ debug@2.6.9 -│ │ ├─ URL: git://github.com/visionmedia/debug.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ debug@3.2.7 -│ │ ├─ URL: git://github.com/visionmedia/debug.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ debug@4.3.4 -│ │ ├─ URL: git://github.com/debug-js/debug.git -│ │ └─ VendorName: Josh Junon -│ ├─ decimal.js@10.3.1 -│ │ ├─ URL: https://github.com/MikeMcl/decimal.js.git -│ │ └─ VendorName: Michael Mclaughlin -│ ├─ decode-uri-component@0.2.2 -│ │ ├─ URL: https://github.com/SamVerschueren/decode-uri-component.git -│ │ ├─ VendorName: Sam Verschueren -│ │ └─ VendorUrl: github.com/SamVerschueren -│ ├─ dedent@0.7.0 -│ │ ├─ URL: git://github.com/dmnd/dedent.git -│ │ ├─ VendorName: Desmond Brand -│ │ └─ VendorUrl: https://github.com/dmnd/dedent -│ ├─ deep-equal@1.1.1 -│ │ ├─ URL: http://github.com/substack/node-deep-equal.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ deep-is@0.1.4 -│ │ ├─ URL: http://github.com/thlorenz/deep-is.git -│ │ ├─ VendorName: Thorsten Lorenz -│ │ └─ VendorUrl: http://thlorenz.com -│ ├─ deep-object-diff@1.1.9 -│ │ ├─ URL: git+https://github.com/mattphillips/deep-object-diff.git -│ │ ├─ VendorName: Matt Phillips -│ │ └─ VendorUrl: https://github.com/mattphillips/deep-object-diff#readme -│ ├─ deepmerge@4.2.2 -│ │ ├─ URL: git://github.com/TehShrike/deepmerge.git -│ │ └─ VendorUrl: https://github.com/TehShrike/deepmerge -│ ├─ deepmerge@4.3.1 -│ │ ├─ URL: git://github.com/TehShrike/deepmerge.git -│ │ └─ VendorUrl: https://github.com/TehShrike/deepmerge -│ ├─ define-lazy-prop@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/define-lazy-prop.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ define-properties@1.1.3 -│ │ ├─ URL: git://github.com/ljharb/define-properties.git -│ │ └─ VendorName: Jordan Harband -│ ├─ define-property@0.2.5 -│ │ ├─ URL: https://github.com/jonschlinkert/define-property.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/define-property -│ ├─ define-property@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/define-property.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/define-property -│ ├─ define-property@2.0.2 -│ │ ├─ URL: https://github.com/jonschlinkert/define-property.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/define-property -│ ├─ defined@1.0.0 -│ │ ├─ URL: git://github.com/substack/defined.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/defined -│ ├─ del@6.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/del.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ delayed-stream@1.0.0 -│ │ ├─ URL: git://github.com/felixge/node-delayed-stream.git -│ │ ├─ VendorName: Felix Geisendörfer -│ │ └─ VendorUrl: https://github.com/felixge/node-delayed-stream -│ ├─ delegates@1.0.0 -│ │ └─ URL: https://github.com/visionmedia/node-delegates.git -│ ├─ depd@1.1.2 -│ │ ├─ URL: https://github.com/dougwilson/nodejs-depd.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ des.js@1.0.1 -│ │ ├─ URL: git+ssh://git@github.com/indutny/des.js.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/des.js#readme -│ ├─ destroy@1.0.4 -│ │ ├─ URL: https://github.com/stream-utils/destroy.git -│ │ ├─ VendorName: Jonathan Ong -│ │ └─ VendorUrl: http://jongleberry.com -│ ├─ detab@2.0.4 -│ │ ├─ URL: https://github.com/wooorm/detab.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ detect-newline@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/detect-newline.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ detect-node@2.1.0 -│ │ ├─ URL: https://github.com/iliakan/detect-node -│ │ ├─ VendorName: Ilya Kantor -│ │ └─ VendorUrl: https://github.com/iliakan/detect-node -│ ├─ detect-port-alt@1.1.6 -│ │ ├─ URL: git://github.com/node-modules/detect-port.git -│ │ └─ VendorUrl: https://github.com/node-modules/detect-port -│ ├─ detect-port@1.3.0 -│ │ ├─ URL: git://github.com/node-modules/detect-port.git -│ │ └─ VendorUrl: https://github.com/node-modules/detect-port -│ ├─ detective@5.2.0 -│ │ ├─ URL: git://github.com/browserify/detective.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ diacritic@0.0.2 -│ │ ├─ URL: git@github.com:Nijikokun/Diacritics.js.git -│ │ └─ VendorName: Nijiko Yonskai -│ ├─ diff-sequences@24.9.0 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ diff-sequences@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ diffie-hellman@5.0.3 -│ │ ├─ URL: https://github.com/crypto-browserify/diffie-hellman.git -│ │ ├─ VendorName: Calvin Metcalf -│ │ └─ VendorUrl: https://github.com/crypto-browserify/diffie-hellman -│ ├─ dir-glob@2.2.2 -│ │ ├─ URL: https://github.com/kevva/dir-glob.git -│ │ ├─ VendorName: Kevin Mårtensson -│ │ └─ VendorUrl: github.com/kevva -│ ├─ dir-glob@3.0.1 -│ │ ├─ URL: https://github.com/kevva/dir-glob.git -│ │ ├─ VendorName: Kevin Mårtensson -│ │ └─ VendorUrl: github.com/kevva -│ ├─ dlv@1.1.3 -│ │ ├─ URL: https://github.com/developit/dlv.git -│ │ ├─ VendorName: Jason Miller -│ │ └─ VendorUrl: http://jasonformat.com -│ ├─ dns-equal@1.0.0 -│ │ ├─ URL: git+https://github.com/watson/dns-equal.git -│ │ ├─ VendorName: Thomas Watson Steen -│ │ └─ VendorUrl: https://github.com/watson/dns-equal#readme -│ ├─ dns-packet@1.3.4 -│ │ ├─ URL: https://github.com/mafintosh/dns-packet -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/dns-packet -│ ├─ dns-txt@2.0.2 -│ │ ├─ URL: https://github.com/watson/dns-txt.git -│ │ ├─ VendorName: Thomas Watson Steen -│ │ └─ VendorUrl: https://github.com/watson/dns-txt -│ ├─ dom-accessibility-api@0.3.0 -│ │ └─ URL: https://github.com/eps1lon/dom-accessibility-api.git -│ ├─ dom-accessibility-api@0.5.13 -│ │ └─ URL: https://github.com/eps1lon/dom-accessibility-api.git -│ ├─ dom-converter@0.2.0 -│ │ ├─ URL: https://github.com/AriaMinaei/dom-converter -│ │ └─ VendorName: Aria Minaei -│ ├─ dom-helpers@5.2.1 -│ │ ├─ URL: git+https://github.com/react-bootstrap/dom-helpers.git -│ │ ├─ VendorName: Jason Quense -│ │ └─ VendorUrl: https://github.com/react-bootstrap/dom-helpers#readme -│ ├─ dom-serializer@0.2.2 -│ │ ├─ URL: git://github.com/cheeriojs/dom-renderer.git -│ │ └─ VendorName: Felix Boehm -│ ├─ dom-serializer@1.3.2 -│ │ ├─ URL: git://github.com/cheeriojs/dom-renderer.git -│ │ └─ VendorName: Felix Boehm -│ ├─ dom-walk@0.1.2 -│ │ ├─ URL: git://github.com/Raynos/dom-walk.git -│ │ ├─ VendorName: Raynos -│ │ └─ VendorUrl: https://github.com/Raynos/dom-walk -│ ├─ domain-browser@1.2.0 -│ │ ├─ URL: https://github.com/bevry/domain-browser.git -│ │ ├─ VendorName: 2013+ Bevry Pty Ltd -│ │ └─ VendorUrl: https://github.com/bevry/domain-browser -│ ├─ domexception@2.0.1 -│ │ ├─ URL: https://github.com/jsdom/domexception.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ ├─ dot-case@3.0.4 -│ │ ├─ URL: git://github.com/blakeembrey/change-case.git -│ │ ├─ VendorName: Blake Embrey -│ │ └─ VendorUrl: https://github.com/blakeembrey/change-case/tree/master/packages/dot-case#readme -│ ├─ downshift@6.1.7 -│ │ ├─ URL: https://github.com/downshift-js/downshift.git -│ │ ├─ VendorName: Kent C. Dodds -│ │ └─ VendorUrl: https://downshift-js.com/ -│ ├─ duplexer@0.1.2 -│ │ ├─ URL: git://github.com/Raynos/duplexer.git -│ │ ├─ VendorName: Raynos -│ │ └─ VendorUrl: https://github.com/Raynos/duplexer -│ ├─ duplexify@3.7.1 -│ │ ├─ URL: git://github.com/mafintosh/duplexify -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/duplexify -│ ├─ ee-first@1.1.1 -│ │ ├─ URL: https://github.com/jonathanong/ee-first.git -│ │ ├─ VendorName: Jonathan Ong -│ │ └─ VendorUrl: http://jongleberry.com -│ ├─ element-resize-detector@1.2.4 -│ │ ├─ URL: git://github.com/wnr/element-resize-detector.git -│ │ └─ VendorUrl: https://github.com/wnr/element-resize-detector -│ ├─ elliptic@6.5.4 -│ │ ├─ URL: git@github.com:indutny/elliptic -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/elliptic -│ ├─ emittery@0.8.1 -│ │ ├─ URL: https://github.com/sindresorhus/emittery.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ emoji-regex@8.0.0 -│ │ ├─ URL: https://github.com/mathiasbynens/emoji-regex.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/emoji-regex -│ ├─ emoji-regex@9.2.2 -│ │ ├─ URL: https://github.com/mathiasbynens/emoji-regex.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/emoji-regex -│ ├─ emojis-list@3.0.0 -│ │ ├─ URL: git+https://github.com/kikobeats/emojis-list.git -│ │ ├─ VendorName: Kiko Beats -│ │ └─ VendorUrl: https://nidecoc.io/Kikobeats/emojis-list -│ ├─ emotion-theming@10.3.0 -│ │ ├─ URL: https://github.com/emotion-js/emotion/tree/master/packages/emotion-theming -│ │ ├─ VendorName: styled-components team -│ │ └─ VendorUrl: https://emotion.sh/ -│ ├─ encodeurl@1.0.2 -│ │ └─ URL: https://github.com/pillarjs/encodeurl.git -│ ├─ end-of-stream@1.4.4 -│ │ ├─ URL: git://github.com/mafintosh/end-of-stream.git -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/end-of-stream -│ ├─ endent@2.1.0 -│ │ ├─ URL: git://github.com/ZhouHansen/endent.git -│ │ ├─ VendorName: zhouhancheng -│ │ └─ VendorUrl: https://github.com/ZhouHansen/endent#readme -│ ├─ enhanced-resolve@4.5.0 -│ │ ├─ URL: git://github.com/webpack/enhanced-resolve.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: http://github.com/webpack/enhanced-resolve -│ ├─ enhanced-resolve@5.12.0 -│ │ ├─ URL: git://github.com/webpack/enhanced-resolve.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: http://github.com/webpack/enhanced-resolve -│ ├─ enquire.js@2.1.6 -│ │ ├─ URL: git://github.com/WickyNilliams/enquire.js.git -│ │ ├─ VendorName: Nick Williams -│ │ └─ VendorUrl: http://wicky.nillia.ms/enquire.js -│ ├─ envinfo@7.8.1 -│ │ ├─ URL: https://github.com/tabrindle/envinfo -│ │ └─ VendorName: tabrindle@gmail.com -│ ├─ errno@0.1.8 -│ │ └─ URL: https://github.com/rvagg/node-errno.git -│ ├─ error-ex@1.3.2 -│ │ └─ URL: https://github.com/qix-/node-error-ex.git -│ ├─ error-stack-parser@2.0.7 -│ │ ├─ URL: git://github.com/stacktracejs/error-stack-parser.git -│ │ └─ VendorUrl: https://www.stacktracejs.com/ -│ ├─ es-abstract@1.19.1 -│ │ ├─ URL: git://github.com/ljharb/es-abstract.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: http://ljharb.codes -│ ├─ es-array-method-boxes-properly@1.0.0 -│ │ ├─ URL: git+https://github.com/ljharb/es-array-method-boxes-properly.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/es-array-method-boxes-properly#readme -│ ├─ es-get-iterator@1.1.2 -│ │ ├─ URL: git+https://github.com/ljharb/es-get-iterator.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/es-get-iterator#readme -│ ├─ es-module-lexer@0.9.3 -│ │ ├─ URL: git+https://github.com/guybedford/es-module-lexer.git -│ │ ├─ VendorName: Guy Bedford -│ │ └─ VendorUrl: https://github.com/guybedford/es-module-lexer#readme -│ ├─ es-to-primitive@1.2.1 -│ │ ├─ URL: git://github.com/ljharb/es-to-primitive.git -│ │ └─ VendorName: Jordan Harband -│ ├─ es5-shim@4.6.5 -│ │ ├─ URL: https://github.com/es-shims/es5-shim.git -│ │ └─ VendorUrl: https://github.com/es-shims/es5-shim/ -│ ├─ es6-shim@0.35.6 -│ │ ├─ URL: git://github.com/paulmillr/es6-shim.git -│ │ ├─ VendorName: Paul Miller -│ │ └─ VendorUrl: https://github.com/paulmillr/es6-shim/ -│ ├─ escalade@3.1.1 -│ │ ├─ URL: https://github.com/lukeed/escalade.git -│ │ ├─ VendorName: Luke Edwards -│ │ └─ VendorUrl: https://lukeed.com -│ ├─ escape-html@1.0.3 -│ │ └─ URL: https://github.com/component/escape-html.git -│ ├─ escape-string-regexp@1.0.5 -│ │ ├─ URL: https://github.com/sindresorhus/escape-string-regexp.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ escape-string-regexp@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/escape-string-regexp.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ escape-string-regexp@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/escape-string-regexp.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ eslint-config-prettier@8.5.0 -│ │ ├─ URL: https://github.com/prettier/eslint-config-prettier.git -│ │ └─ VendorName: Simon Lydell -│ ├─ eslint-config-react-app@7.0.1 -│ │ └─ URL: https://github.com/facebook/create-react-app.git -│ ├─ eslint-import-resolver-node@0.3.6 -│ │ ├─ URL: https://github.com/import-js/eslint-plugin-import -│ │ ├─ VendorName: Ben Mosher -│ │ └─ VendorUrl: https://github.com/import-js/eslint-plugin-import -│ ├─ eslint-module-utils@2.7.3 -│ │ ├─ URL: git+https://github.com/import-js/eslint-plugin-import.git -│ │ ├─ VendorName: Ben Mosher -│ │ └─ VendorUrl: https://github.com/import-js/eslint-plugin-import#readme -│ ├─ eslint-plugin-import@2.25.4 -│ │ ├─ URL: https://github.com/import-js/eslint-plugin-import -│ │ ├─ VendorName: Ben Mosher -│ │ └─ VendorUrl: https://github.com/import-js/eslint-plugin-import -│ ├─ eslint-plugin-jest@25.7.0 -│ │ ├─ URL: https://github.com/jest-community/eslint-plugin-jest.git -│ │ ├─ VendorName: Jonathan Kim -│ │ └─ VendorUrl: jkimbo.com -│ ├─ eslint-plugin-jsx-a11y@6.5.1 -│ │ ├─ URL: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y -│ │ └─ VendorName: Ethan Cohen -│ ├─ eslint-plugin-prettier@4.0.0 -│ │ ├─ URL: git+https://github.com/prettier/eslint-plugin-prettier.git -│ │ ├─ VendorName: Teddy Katz -│ │ └─ VendorUrl: https://github.com/prettier/eslint-plugin-prettier#readme -│ ├─ eslint-plugin-react-hooks@4.3.0 -│ │ ├─ URL: https://github.com/facebook/react.git -│ │ └─ VendorUrl: https://reactjs.org/ -│ ├─ eslint-plugin-react@7.29.4 -│ │ ├─ URL: https://github.com/yannickcr/eslint-plugin-react -│ │ ├─ VendorName: Yannick Croissant -│ │ └─ VendorUrl: https://github.com/yannickcr/eslint-plugin-react -│ ├─ eslint-plugin-testing-library@5.1.0 -│ │ ├─ URL: https://github.com/testing-library/eslint-plugin-testing-library -│ │ ├─ VendorName: Mario Beltrán Alarcón -│ │ └─ VendorUrl: https://github.com/testing-library/eslint-plugin-testing-library -│ ├─ eslint-utils@3.0.0 -│ │ ├─ URL: git+https://github.com/mysticatea/eslint-utils.git -│ │ ├─ VendorName: Toru Nagashima -│ │ └─ VendorUrl: https://github.com/mysticatea/eslint-utils#readme -│ ├─ eslint-webpack-plugin@3.1.1 -│ │ ├─ URL: https://github.com/webpack-contrib/eslint-webpack-plugin.git -│ │ ├─ VendorName: Ricardo Gobbo de Souza -│ │ └─ VendorUrl: https://github.com/webpack-contrib/eslint-webpack-plugin -│ ├─ eslint@8.11.0 -│ │ ├─ URL: https://github.com/eslint/eslint.git -│ │ ├─ VendorName: Nicholas C. Zakas -│ │ └─ VendorUrl: https://eslint.org/ -│ ├─ estree-to-babel@3.2.1 -│ │ ├─ URL: git://github.com/coderaiser/estree-to-babel.git -│ │ ├─ VendorName: coderaiser -│ │ └─ VendorUrl: http://github.com/coderaiser/estree-to-babel -│ ├─ estree-walker@0.2.1 -│ │ └─ VendorName: Rich Harris -│ ├─ estree-walker@0.6.1 -│ │ ├─ URL: https://github.com/Rich-Harris/estree-walker -│ │ └─ VendorName: Rich Harris -│ ├─ estree-walker@1.0.1 -│ │ ├─ URL: https://github.com/Rich-Harris/estree-walker -│ │ └─ VendorName: Rich Harris -│ ├─ estree-walker@2.0.2 -│ │ ├─ URL: https://github.com/Rich-Harris/estree-walker -│ │ └─ VendorName: Rich Harris -│ ├─ etag@1.8.1 -│ │ └─ URL: https://github.com/jshttp/etag.git -│ ├─ eventemitter3@4.0.7 -│ │ ├─ URL: git://github.com/primus/eventemitter3.git -│ │ └─ VendorName: Arnout Kazemier -│ ├─ events@3.3.0 -│ │ ├─ URL: git://github.com/Gozala/events.git -│ │ ├─ VendorName: Irakli Gozalishvili -│ │ └─ VendorUrl: http://jeditoolkit.com -│ ├─ evp_bytestokey@1.0.3 -│ │ ├─ URL: https://github.com/crypto-browserify/EVP_BytesToKey.git -│ │ ├─ VendorName: Calvin Metcalf -│ │ └─ VendorUrl: https://github.com/crypto-browserify/EVP_BytesToKey -│ ├─ exec-sh@0.3.6 -│ │ ├─ URL: git@github.com:tsertkov/exec-sh.git -│ │ └─ VendorName: Aleksandr Tsertkov -│ ├─ execa@1.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/execa.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ execa@5.1.1 -│ │ ├─ URL: https://github.com/sindresorhus/execa.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ exit@0.1.2 -│ │ ├─ URL: git://github.com/cowboy/node-exit.git -│ │ ├─ VendorName: "Cowboy" Ben Alman -│ │ └─ VendorUrl: https://github.com/cowboy/node-exit -│ ├─ expand-brackets@2.1.4 -│ │ ├─ URL: https://github.com/jonschlinkert/expand-brackets.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/expand-brackets -│ ├─ expect@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ express@4.17.3 -│ │ ├─ URL: https://github.com/expressjs/express.git -│ │ ├─ VendorName: TJ Holowaychuk -│ │ └─ VendorUrl: http://expressjs.com/ -│ ├─ extend-shallow@2.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/extend-shallow.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/extend-shallow -│ ├─ extend-shallow@3.0.2 -│ │ ├─ URL: https://github.com/jonschlinkert/extend-shallow.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/extend-shallow -│ ├─ extend@3.0.2 -│ │ ├─ URL: https://github.com/justmoon/node-extend.git -│ │ ├─ VendorName: Stefan Thomas -│ │ └─ VendorUrl: http://www.justmoon.net -│ ├─ extglob@2.0.4 -│ │ ├─ URL: https://github.com/micromatch/extglob.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/extglob -│ ├─ fast-deep-equal@3.1.3 -│ │ ├─ URL: git+https://github.com/epoberezkin/fast-deep-equal.git -│ │ ├─ VendorName: Evgeny Poberezkin -│ │ └─ VendorUrl: https://github.com/epoberezkin/fast-deep-equal#readme -│ ├─ fast-glob@2.2.7 -│ │ ├─ URL: https://github.com/mrmlnc/fast-glob.git -│ │ ├─ VendorName: Denis Malinochkin -│ │ └─ VendorUrl: canonium.com -│ ├─ fast-glob@3.2.11 -│ │ ├─ URL: https://github.com/mrmlnc/fast-glob.git -│ │ ├─ VendorName: Denis Malinochkin -│ │ └─ VendorUrl: https://mrmlnc.com -│ ├─ fast-json-parse@1.0.3 -│ │ ├─ URL: git+https://github.com/mcollina/fast-json-parse.git -│ │ ├─ VendorName: Matteo Collina -│ │ └─ VendorUrl: https://github.com/mcollina/fast-json-parse#readme -│ ├─ fast-json-stable-stringify@2.1.0 -│ │ ├─ URL: git://github.com/epoberezkin/fast-json-stable-stringify.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/epoberezkin/fast-json-stable-stringify -│ ├─ fast-levenshtein@2.0.6 -│ │ ├─ URL: https://github.com/hiddentao/fast-levenshtein.git -│ │ ├─ VendorName: Ramesh Nair -│ │ └─ VendorUrl: http://www.hiddentao.com/ -│ ├─ fastest-levenshtein@1.0.12 -│ │ ├─ URL: git+https://github.com/ka-weihe/fastest-levenshtein.git -│ │ ├─ VendorName: Kasper U. Weihe -│ │ └─ VendorUrl: https://github.com/ka-weihe/fastest-levenshtein#README -│ ├─ fault@1.0.4 -│ │ ├─ URL: https://github.com/wooorm/fault.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ file-entry-cache@6.0.1 -│ │ ├─ URL: https://github.com/royriojas/file-entry-cache.git -│ │ ├─ VendorName: Roy Riojas -│ │ └─ VendorUrl: http://royriojas.com -│ ├─ file-loader@6.2.0 -│ │ ├─ URL: https://github.com/webpack-contrib/file-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/file-loader -│ ├─ file-selector@0.6.0 -│ │ ├─ URL: https://github.com/react-dropzone/file-selector.git -│ │ ├─ VendorName: Roland Groza -│ │ └─ VendorUrl: https://github.com/react-dropzone/file-selector -│ ├─ file-system-cache@1.0.5 -│ │ ├─ URL: https://github.com/philcockfield/file-system-cache -│ │ ├─ VendorName: Phil Cockfield -│ │ └─ VendorUrl: https://github.com/philcockfield/file-system-cache -│ ├─ file-uri-to-path@1.0.0 -│ │ ├─ URL: git://github.com/TooTallNate/file-uri-to-path.git -│ │ ├─ VendorName: Nathan Rajlich -│ │ └─ VendorUrl: https://github.com/TooTallNate/file-uri-to-path -│ ├─ fill-range@4.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/fill-range.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/fill-range -│ ├─ fill-range@7.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/fill-range.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/fill-range -│ ├─ finalhandler@1.1.2 -│ │ ├─ URL: https://github.com/pillarjs/finalhandler.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ find-cache-dir@2.1.0 -│ │ └─ URL: https://github.com/avajs/find-cache-dir.git -│ ├─ find-cache-dir@3.3.2 -│ │ └─ URL: https://github.com/avajs/find-cache-dir.git -│ ├─ find-root@1.1.0 -│ │ ├─ URL: git@github.com:js-n/find-root.git -│ │ └─ VendorName: jsdnxx -│ ├─ find-up@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/find-up.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ find-up@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/find-up.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ find-up@4.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/find-up.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ find-up@5.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/find-up.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ flat-cache@3.0.4 -│ │ ├─ URL: https://github.com/royriojas/flat-cache.git -│ │ ├─ VendorName: Roy Riojas -│ │ └─ VendorUrl: http://royriojas.com -│ ├─ flush-write-stream@1.1.1 -│ │ ├─ URL: https://github.com/mafintosh/flush-write-stream.git -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/flush-write-stream -│ ├─ follow-redirects@1.14.9 -│ │ ├─ URL: git@github.com:follow-redirects/follow-redirects.git -│ │ ├─ VendorName: Ruben Verborgh -│ │ └─ VendorUrl: https://github.com/follow-redirects/follow-redirects -│ ├─ for-in@1.0.2 -│ │ ├─ URL: https://github.com/jonschlinkert/for-in.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/for-in -│ ├─ fork-ts-checker-webpack-plugin@4.1.6 -│ │ ├─ URL: https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git -│ │ └─ VendorName: Piotr Oleś -│ ├─ fork-ts-checker-webpack-plugin@6.5.0 -│ │ ├─ URL: https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.git -│ │ └─ VendorName: Piotr Oleś -│ ├─ form-data@3.0.1 -│ │ ├─ URL: git://github.com/form-data/form-data.git -│ │ ├─ VendorName: Felix Geisendörfer -│ │ └─ VendorUrl: http://debuggable.com/ -│ ├─ format@0.2.2 -│ │ ├─ URL: git://github.com/samsonjs/format.git -│ │ ├─ VendorName: Sami Samhuri -│ │ └─ VendorUrl: http://samhuri.net/proj/format -│ ├─ forwarded@0.2.0 -│ │ └─ URL: https://github.com/jshttp/forwarded.git -│ ├─ fraction.js@4.2.0 -│ │ ├─ URL: git://github.com/infusion/Fraction.js.git -│ │ ├─ VendorName: Robert Eisele -│ │ └─ VendorUrl: https://www.xarg.org/2014/03/rational-numbers-in-javascript/ -│ ├─ fragment-cache@0.2.1 -│ │ ├─ URL: https://github.com/jonschlinkert/fragment-cache.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/fragment-cache -│ ├─ fresh@0.5.2 -│ │ ├─ URL: https://github.com/jshttp/fresh.git -│ │ ├─ VendorName: TJ Holowaychuk -│ │ └─ VendorUrl: http://tjholowaychuk.com -│ ├─ from2@2.3.0 -│ │ ├─ URL: git://github.com/hughsk/from2 -│ │ ├─ VendorName: Hugh Kennedy -│ │ └─ VendorUrl: https://github.com/hughsk/from2 -│ ├─ fs-extra@0.30.0 -│ │ ├─ URL: https://github.com/jprichardson/node-fs-extra -│ │ ├─ VendorName: JP Richardson -│ │ └─ VendorUrl: https://github.com/jprichardson/node-fs-extra -│ ├─ fs-extra@10.0.1 -│ │ ├─ URL: https://github.com/jprichardson/node-fs-extra -│ │ ├─ VendorName: JP Richardson -│ │ └─ VendorUrl: https://github.com/jprichardson/node-fs-extra -│ ├─ fs-extra@9.1.0 -│ │ ├─ URL: https://github.com/jprichardson/node-fs-extra -│ │ ├─ VendorName: JP Richardson -│ │ └─ VendorUrl: https://github.com/jprichardson/node-fs-extra -│ ├─ function-bind@1.1.1 -│ │ ├─ URL: git://github.com/Raynos/function-bind.git -│ │ ├─ VendorName: Raynos -│ │ └─ VendorUrl: https://github.com/Raynos/function-bind -│ ├─ function.prototype.name@1.1.5 -│ │ ├─ URL: git://github.com/es-shims/Function.prototype.name.git -│ │ └─ VendorName: Jordan Harband -│ ├─ functional-red-black-tree@1.0.1 -│ │ ├─ URL: git://github.com/mikolalysenko/functional-red-black-tree.git -│ │ └─ VendorName: Mikola Lysenko -│ ├─ functions-have-names@1.2.2 -│ │ ├─ URL: git+https://github.com/inspect-js/functions-have-names.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/functions-have-names#readme -│ ├─ gensync@1.0.0-beta.2 -│ │ ├─ URL: https://github.com/loganfsmyth/gensync.git -│ │ ├─ VendorName: Logan Smyth -│ │ └─ VendorUrl: https://github.com/loganfsmyth/gensync -│ ├─ get-intrinsic@1.1.1 -│ │ ├─ URL: git+https://github.com/ljharb/get-intrinsic.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/get-intrinsic#readme -│ ├─ get-package-type@0.1.0 -│ │ ├─ URL: git+https://github.com/cfware/get-package-type.git -│ │ ├─ VendorName: Corey Farrell -│ │ └─ VendorUrl: https://github.com/cfware/get-package-type#readme -│ ├─ get-stream@4.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/get-stream.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ get-stream@6.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/get-stream.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ get-symbol-description@1.0.0 -│ │ ├─ URL: git+https://github.com/inspect-js/get-symbol-description.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/get-symbol-description#readme -│ ├─ get-value@2.0.6 -│ │ ├─ URL: https://github.com/jonschlinkert/get-value.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/get-value -│ ├─ global-modules@2.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/global-modules.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/global-modules -│ ├─ global-prefix@3.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/global-prefix.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/global-prefix -│ ├─ global@4.4.0 -│ │ ├─ URL: git://github.com/Raynos/global.git -│ │ ├─ VendorName: Raynos -│ │ └─ VendorUrl: https://github.com/Raynos/global -│ ├─ globals@11.12.0 -│ │ ├─ URL: https://github.com/sindresorhus/globals.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ globals@13.13.0 -│ │ ├─ URL: https://github.com/sindresorhus/globals.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ globalthis@1.0.2 -│ │ ├─ URL: git://github.com/ljharb/System.global.git -│ │ └─ VendorName: Jordan Harband -│ ├─ globby@11.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/globby.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ globby@9.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/globby.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ gzip-size@6.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/gzip-size.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ handle-thing@2.0.1 -│ │ ├─ URL: git+ssh://git@github.com/indutny/handle-thing.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/spdy-http2/handle-thing#readme -│ ├─ handlebars@4.7.7 -│ │ ├─ URL: https://github.com/wycats/handlebars.js.git -│ │ ├─ VendorName: Yehuda Katz -│ │ └─ VendorUrl: http://www.handlebarsjs.com/ -│ ├─ has-bigints@1.0.1 -│ │ ├─ URL: git+https://github.com/ljharb/has-bigints.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/has-bigints#readme -│ ├─ has-flag@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/has-flag.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ has-flag@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/has-flag.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ has-glob@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/has-glob.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/has-glob -│ ├─ has-symbols@1.0.3 -│ │ ├─ URL: git://github.com/inspect-js/has-symbols.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/has-symbols#readme -│ ├─ has-tostringtag@1.0.0 -│ │ ├─ URL: git+https://github.com/inspect-js/has-tostringtag.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/has-tostringtag#readme -│ ├─ has-value@0.3.1 -│ │ ├─ URL: https://github.com/jonschlinkert/has-value.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/has-value -│ ├─ has-value@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/has-value.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/has-value -│ ├─ has-values@0.1.4 -│ │ ├─ URL: https://github.com/jonschlinkert/has-values.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/has-values -│ ├─ has-values@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/has-values.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/has-values -│ ├─ has@1.0.3 -│ │ ├─ URL: git://github.com/tarruda/has.git -│ │ ├─ VendorName: Thiago de Arruda -│ │ └─ VendorUrl: https://github.com/tarruda/has -│ ├─ hash-base@3.1.0 -│ │ ├─ URL: https://github.com/crypto-browserify/hash-base.git -│ │ ├─ VendorName: Kirill Fomichev -│ │ └─ VendorUrl: https://github.com/crypto-browserify/hash-base -│ ├─ hash.js@1.1.7 -│ │ ├─ URL: git@github.com:indutny/hash.js -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/hash.js -│ ├─ hast-to-hyperscript@9.0.1 -│ │ ├─ URL: https://github.com/syntax-tree/hast-to-hyperscript.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ hast-util-from-parse5@6.0.1 -│ │ ├─ URL: https://github.com/syntax-tree/hast-util-from-parse5.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ hast-util-parse-selector@2.2.5 -│ │ ├─ URL: https://github.com/syntax-tree/hast-util-parse-selector.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ hast-util-raw@6.0.1 -│ │ ├─ URL: https://github.com/syntax-tree/hast-util-raw.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ hast-util-to-parse5@6.0.0 -│ │ ├─ URL: https://github.com/syntax-tree/hast-util-to-parse5.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ hastscript@6.0.0 -│ │ ├─ URL: https://github.com/syntax-tree/hastscript.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ he@1.2.0 -│ │ ├─ URL: https://github.com/mathiasbynens/he.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/he -│ ├─ history@5.0.0 -│ │ ├─ URL: https://github.com/ReactTraining/history.git -│ │ └─ VendorName: React Training -│ ├─ history@5.3.0 -│ │ ├─ URL: https://github.com/remix-run/history.git -│ │ └─ VendorName: Remix Software -│ ├─ hmac-drbg@1.0.1 -│ │ ├─ URL: git+ssh://git@github.com/indutny/hmac-drbg.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/hmac-drbg#readme -│ ├─ hoopy@0.1.4 -│ │ ├─ URL: git+https://gitlab.com/philbooth/hoopy.git -│ │ ├─ VendorName: Phil Booth -│ │ └─ VendorUrl: https://gitlab.com/philbooth/hoopy#readme -│ ├─ hpack.js@2.1.6 -│ │ ├─ URL: git+ssh://git@github.com/indutny/hpack.js.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/hpack.js#readme -│ ├─ html-encoding-sniffer@2.0.1 -│ │ ├─ URL: https://github.com/jsdom/html-encoding-sniffer.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ ├─ html-entities@2.3.2 -│ │ ├─ URL: https://github.com/mdevils/html-entities.git -│ │ └─ VendorName: Marat Dulin -│ ├─ html-escaper@2.0.2 -│ │ ├─ URL: https://github.com/WebReflection/html-escaper.git -│ │ ├─ VendorName: Andrea Giammarchi -│ │ └─ VendorUrl: https://github.com/WebReflection/html-escaper -│ ├─ html-minifier-terser@5.1.1 -│ │ ├─ URL: git+https://github.com/DanielRuf/html-minifier-terser.git -│ │ ├─ VendorName: Daniel Ruf -│ │ └─ VendorUrl: https://danielruf.github.io/html-minifier-terser/ -│ ├─ html-minifier-terser@6.1.0 -│ │ ├─ URL: git+https://github.com/terser/html-minifier-terser.git -│ │ ├─ VendorName: Daniel Ruf -│ │ └─ VendorUrl: https://terser.org/html-minifier-terser/ -│ ├─ html-parse-stringify@3.0.1 -│ │ ├─ URL: https://github.com/henrikjoreteg/html-parse-stringify -│ │ ├─ VendorName: Henrik Joreteg -│ │ └─ VendorUrl: https://github.com/henrikjoreteg/html-parse-stringify -│ ├─ html-tags@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/html-tags.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ html-void-elements@1.0.5 -│ │ ├─ URL: https://github.com/wooorm/html-void-elements.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ html-webpack-plugin@4.5.2 -│ │ ├─ URL: https://github.com/jantimon/html-webpack-plugin.git -│ │ ├─ VendorName: Jan Nicklas -│ │ └─ VendorUrl: https://github.com/jantimon/html-webpack-plugin -│ ├─ html-webpack-plugin@5.5.0 -│ │ ├─ URL: https://github.com/jantimon/html-webpack-plugin.git -│ │ ├─ VendorName: Jan Nicklas -│ │ └─ VendorUrl: https://github.com/jantimon/html-webpack-plugin -│ ├─ htmlparser2@6.1.0 -│ │ ├─ URL: git://github.com/fb55/htmlparser2.git -│ │ └─ VendorName: Felix Boehm -│ ├─ http-deceiver@1.2.7 -│ │ ├─ URL: git+ssh://git@github.com/indutny/http-deceiver.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/http-deceiver#readme -│ ├─ http-errors@1.6.3 -│ │ ├─ URL: https://github.com/jshttp/http-errors.git -│ │ ├─ VendorName: Jonathan Ong -│ │ └─ VendorUrl: http://jongleberry.com -│ ├─ http-errors@1.8.1 -│ │ ├─ URL: https://github.com/jshttp/http-errors.git -│ │ ├─ VendorName: Jonathan Ong -│ │ └─ VendorUrl: http://jongleberry.com -│ ├─ http-parser-js@0.5.6 -│ │ ├─ URL: git://github.com/creationix/http-parser-js.git -│ │ ├─ VendorName: Tim Caswell -│ │ └─ VendorUrl: https://github.com/creationix -│ ├─ http-proxy-agent@4.0.1 -│ │ ├─ URL: git://github.com/TooTallNate/node-http-proxy-agent.git -│ │ ├─ VendorName: Nathan Rajlich -│ │ └─ VendorUrl: http://n8.io/ -│ ├─ http-proxy-middleware@2.0.4 -│ │ ├─ URL: https://github.com/chimurai/http-proxy-middleware.git -│ │ ├─ VendorName: Steven Chim -│ │ └─ VendorUrl: https://github.com/chimurai/http-proxy-middleware#readme -│ ├─ http-proxy@1.18.1 -│ │ ├─ URL: https://github.com/http-party/node-http-proxy.git -│ │ └─ VendorName: Charlie Robbins -│ ├─ https-browserify@1.0.0 -│ │ ├─ URL: git://github.com/substack/https-browserify.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/https-browserify -│ ├─ https-proxy-agent@5.0.0 -│ │ ├─ URL: git://github.com/TooTallNate/node-https-proxy-agent.git -│ │ ├─ VendorName: Nathan Rajlich -│ │ └─ VendorUrl: http://n8.io/ -│ ├─ husky@7.0.4 -│ │ ├─ URL: https://github.com/typicode/husky.git -│ │ ├─ VendorName: Typicode -│ │ └─ VendorUrl: https://typicode.github.io/husky -│ ├─ i18next-browser-languagedetector@6.1.3 -│ │ ├─ URL: https://github.com/i18next/i18next-browser-languageDetector.git -│ │ ├─ VendorName: Jan Mühlemann -│ │ └─ VendorUrl: https://github.com/i18next/i18next-browser-languageDetector -│ ├─ i18next@21.6.14 -│ │ ├─ URL: https://github.com/i18next/i18next.git -│ │ ├─ VendorName: Jan Mühlemann -│ │ └─ VendorUrl: https://www.i18next.com/ -│ ├─ iconv-lite@0.4.24 -│ │ ├─ URL: git://github.com/ashtuchkin/iconv-lite.git -│ │ ├─ VendorName: Alexander Shtuchkin -│ │ └─ VendorUrl: https://github.com/ashtuchkin/iconv-lite -│ ├─ iconv-lite@0.6.3 -│ │ ├─ URL: git://github.com/ashtuchkin/iconv-lite.git -│ │ ├─ VendorName: Alexander Shtuchkin -│ │ └─ VendorUrl: https://github.com/ashtuchkin/iconv-lite -│ ├─ identity-obj-proxy@3.0.0 -│ │ ├─ URL: git+https://github.com/keyanzhang/identity-obj-proxy.git -│ │ ├─ VendorName: Keyan Zhang -│ │ └─ VendorUrl: https://github.com/keyanzhang/identity-obj-proxy#readme -│ ├─ iferr@0.1.5 -│ │ ├─ URL: https://github.com/shesek/iferr -│ │ ├─ VendorName: Nadav Ivgi -│ │ └─ VendorUrl: https://github.com/shesek/iferr -│ ├─ ignore@4.0.6 -│ │ ├─ URL: git@github.com:kaelzhang/node-ignore.git -│ │ └─ VendorName: kael -│ ├─ ignore@5.2.0 -│ │ ├─ URL: git@github.com:kaelzhang/node-ignore.git -│ │ └─ VendorName: kael -│ ├─ immer@9.0.12 -│ │ ├─ URL: https://github.com/immerjs/immer.git -│ │ ├─ VendorName: Michel Weststrate -│ │ └─ VendorUrl: https://github.com/immerjs/immer#readme -│ ├─ immutable@4.0.0 -│ │ ├─ URL: git://github.com/immutable-js/immutable-js.git -│ │ ├─ VendorName: Lee Byron -│ │ └─ VendorUrl: https://immutable-js.com/ -│ ├─ import-fresh@3.3.0 -│ │ ├─ URL: https://github.com/sindresorhus/import-fresh.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ import-local@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/import-local.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ imurmurhash@0.1.4 -│ │ ├─ URL: https://github.com/jensyt/imurmurhash-js -│ │ ├─ VendorName: Jens Taylor -│ │ └─ VendorUrl: https://github.com/jensyt/imurmurhash-js -│ ├─ indent-string@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/indent-string.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ inline-style-parser@0.1.1 -│ │ └─ URL: https://github.com/remarkablemark/inline-style-parser -│ ├─ internal-slot@1.0.3 -│ │ ├─ URL: git+https://github.com/ljharb/internal-slot.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/internal-slot#readme -│ ├─ interpret@2.2.0 -│ │ ├─ URL: https://github.com/gulpjs/interpret.git -│ │ ├─ VendorName: Gulp Team -│ │ └─ VendorUrl: http://gulpjs.com/ -│ ├─ invariant@2.2.4 -│ │ ├─ URL: https://github.com/zertosh/invariant -│ │ └─ VendorName: Andres Suarez -│ ├─ ip@1.1.5 -│ │ ├─ URL: http://github.com/indutny/node-ip.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/node-ip -│ ├─ ipaddr.js@1.9.1 -│ │ ├─ URL: git://github.com/whitequark/ipaddr.js -│ │ └─ VendorName: whitequark -│ ├─ ipaddr.js@2.0.1 -│ │ ├─ URL: git://github.com/whitequark/ipaddr.js -│ │ └─ VendorName: whitequark -│ ├─ is-absolute-url@3.0.3 -│ │ ├─ URL: https://github.com/sindresorhus/is-absolute-url.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-accessor-descriptor@0.1.6 -│ │ ├─ URL: https://github.com/jonschlinkert/is-accessor-descriptor.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-accessor-descriptor -│ ├─ is-accessor-descriptor@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/is-accessor-descriptor.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-accessor-descriptor -│ ├─ is-alphabetical@1.0.4 -│ │ ├─ URL: https://github.com/wooorm/is-alphabetical.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ is-alphanumerical@1.0.4 -│ │ ├─ URL: https://github.com/wooorm/is-alphanumerical.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ is-arguments@1.1.1 -│ │ ├─ URL: git://github.com/inspect-js/is-arguments.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-arguments -│ ├─ is-arrayish@0.2.1 -│ │ ├─ URL: https://github.com/qix-/node-is-arrayish.git -│ │ ├─ VendorName: Qix -│ │ └─ VendorUrl: http://github.com/qix- -│ ├─ is-bigint@1.0.4 -│ │ ├─ URL: git+https://github.com/inspect-js/is-bigint.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-bigint#readme -│ ├─ is-binary-path@1.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/is-binary-path.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-binary-path@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-binary-path.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-boolean-object@1.1.2 -│ │ ├─ URL: git://github.com/inspect-js/is-boolean-object.git -│ │ └─ VendorName: Jordan Harband -│ ├─ is-buffer@1.1.6 -│ │ ├─ URL: git://github.com/feross/is-buffer.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: http://feross.org/ -│ ├─ is-buffer@2.0.5 -│ │ ├─ URL: git://github.com/feross/is-buffer.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: https://feross.org -│ ├─ is-callable@1.2.4 -│ │ ├─ URL: git://github.com/inspect-js/is-callable.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: http://ljharb.codes -│ ├─ is-ci@2.0.0 -│ │ ├─ URL: https://github.com/watson/is-ci.git -│ │ ├─ VendorName: Thomas Watson Steen -│ │ └─ VendorUrl: https://github.com/watson/is-ci -│ ├─ is-core-module@2.8.1 -│ │ ├─ URL: git+https://github.com/inspect-js/is-core-module.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-core-module -│ ├─ is-data-descriptor@0.1.4 -│ │ ├─ URL: https://github.com/jonschlinkert/is-data-descriptor.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-data-descriptor -│ ├─ is-data-descriptor@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/is-data-descriptor.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-data-descriptor -│ ├─ is-date-object@1.0.5 -│ │ ├─ URL: git://github.com/inspect-js/is-date-object.git -│ │ └─ VendorName: Jordan Harband -│ ├─ is-decimal@1.0.4 -│ │ ├─ URL: https://github.com/wooorm/is-decimal.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ is-descriptor@0.1.6 -│ │ ├─ URL: https://github.com/jonschlinkert/is-descriptor.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-descriptor -│ ├─ is-descriptor@1.0.2 -│ │ ├─ URL: https://github.com/jonschlinkert/is-descriptor.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-descriptor -│ ├─ is-docker@2.2.1 -│ │ ├─ URL: https://github.com/sindresorhus/is-docker.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ is-dom@1.1.0 -│ │ └─ URL: https://github.com/npm-dom/is-dom.git -│ ├─ is-extendable@0.1.1 -│ │ ├─ URL: https://github.com/jonschlinkert/is-extendable.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-extendable -│ ├─ is-extendable@1.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/is-extendable.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-extendable -│ ├─ is-extglob@2.1.1 -│ │ ├─ URL: https://github.com/jonschlinkert/is-extglob.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-extglob -│ ├─ is-fullwidth-code-point@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-fullwidth-code-point.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-function@1.0.2 -│ │ ├─ URL: git://github.com/grncdr/js-is-function.git -│ │ ├─ VendorName: Stephen Sugden -│ │ └─ VendorUrl: https://github.com/grncdr/js-is-function -│ ├─ is-generator-fn@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-generator-fn.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-glob@3.1.0 -│ │ ├─ URL: https://github.com/jonschlinkert/is-glob.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-glob -│ ├─ is-glob@4.0.3 -│ │ ├─ URL: https://github.com/micromatch/is-glob.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/is-glob -│ ├─ is-hexadecimal@1.0.4 -│ │ ├─ URL: https://github.com/wooorm/is-hexadecimal.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ is-map@2.0.2 -│ │ ├─ URL: git+https://github.com/inspect-js/is-map.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-map#readme -│ ├─ is-module@1.0.0 -│ │ ├─ URL: https://github.com/component/is-module.git -│ │ ├─ VendorName: Jonathan Ong -│ │ └─ VendorUrl: http://jongleberry.com -│ ├─ is-negative-zero@2.0.2 -│ │ ├─ URL: git://github.com/inspect-js/is-negative-zero.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-negative-zero -│ ├─ is-number-object@1.0.6 -│ │ ├─ URL: git://github.com/inspect-js/is-number-object.git -│ │ └─ VendorName: Jordan Harband -│ ├─ is-number@3.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/is-number.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-number -│ ├─ is-number@7.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/is-number.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-number -│ ├─ is-obj@1.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/is-obj.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-object@1.0.2 -│ │ ├─ URL: git://github.com/inspect-js/is-object.git -│ │ ├─ VendorName: Raynos -│ │ └─ VendorUrl: https://github.com/inspect-js/is-object -│ ├─ is-path-cwd@2.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-path-cwd.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-path-inside@3.0.3 -│ │ ├─ URL: https://github.com/sindresorhus/is-path-inside.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-plain-obj@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-plain-obj.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-plain-obj@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-plain-obj.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ is-plain-object@2.0.4 -│ │ ├─ URL: https://github.com/jonschlinkert/is-plain-object.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-plain-object -│ ├─ is-plain-object@5.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/is-plain-object.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-plain-object -│ ├─ is-potential-custom-element-name@1.0.1 -│ │ ├─ URL: https://github.com/mathiasbynens/is-potential-custom-element-name.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://github.com/mathiasbynens/is-potential-custom-element-name -│ ├─ is-reference@1.2.1 -│ │ ├─ URL: git+https://github.com/Rich-Harris/is-reference.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/Rich-Harris/is-reference#readme -│ ├─ is-regex@1.1.4 -│ │ ├─ URL: git://github.com/inspect-js/is-regex.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-regex -│ ├─ is-regexp@1.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-regexp.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: http://sindresorhus.com -│ ├─ is-root@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-root.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-set@2.0.2 -│ │ ├─ URL: git+https://github.com/inspect-js/is-set.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-set#readme -│ ├─ is-shared-array-buffer@1.0.1 -│ │ ├─ URL: git+https://github.com/inspect-js/is-shared-array-buffer.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-shared-array-buffer#readme -│ ├─ is-stream@1.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-stream.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-stream@2.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/is-stream.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ is-string@1.0.7 -│ │ ├─ URL: git://github.com/ljharb/is-string.git -│ │ └─ VendorName: Jordan Harband -│ ├─ is-symbol@1.0.4 -│ │ ├─ URL: git://github.com/inspect-js/is-symbol.git -│ │ └─ VendorName: Jordan Harband -│ ├─ is-typedarray@1.0.0 -│ │ ├─ URL: git://github.com/hughsk/is-typedarray.git -│ │ ├─ VendorName: Hugh Kennedy -│ │ └─ VendorUrl: https://github.com/hughsk/is-typedarray -│ ├─ is-weakref@1.0.2 -│ │ ├─ URL: git+https://github.com/inspect-js/is-weakref.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/is-weakref#readme -│ ├─ is-whitespace-character@1.0.4 -│ │ ├─ URL: https://github.com/wooorm/is-whitespace-character.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ is-window@1.0.2 -│ │ ├─ URL: git+https://github.com/gearcase/is-window.git -│ │ ├─ VendorName: bubkoo -│ │ └─ VendorUrl: https://github.com/gearcase/is-window#readme -│ ├─ is-windows@1.0.2 -│ │ ├─ URL: https://github.com/jonschlinkert/is-windows.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/is-windows -│ ├─ is-word-character@1.0.4 -│ │ ├─ URL: https://github.com/wooorm/is-word-character.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ is-wsl@1.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-wsl.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ is-wsl@2.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/is-wsl.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ isarray@1.0.0 -│ │ ├─ URL: git://github.com/juliangruber/isarray.git -│ │ ├─ VendorName: Julian Gruber -│ │ └─ VendorUrl: https://github.com/juliangruber/isarray -│ ├─ isarray@2.0.5 -│ │ ├─ URL: git://github.com/juliangruber/isarray.git -│ │ ├─ VendorName: Julian Gruber -│ │ └─ VendorUrl: https://github.com/juliangruber/isarray -│ ├─ isobject@2.1.0 -│ │ ├─ URL: https://github.com/jonschlinkert/isobject.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/isobject -│ ├─ isobject@3.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/isobject.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/isobject -│ ├─ isobject@4.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/isobject.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/isobject -│ ├─ iterate-iterator@1.0.2 -│ │ ├─ URL: git+https://github.com/ljharb/iterate-iterator.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/iterate-iterator#readme -│ ├─ iterate-value@1.0.2 -│ │ ├─ URL: git+https://github.com/ljharb/iterate-value.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/iterate-value#readme -│ ├─ jest-changed-files@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-circus@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-cli@27.5.1 -│ │ ├─ URL: https://github.com/facebook/jest -│ │ └─ VendorUrl: https://jestjs.io/ -│ ├─ jest-config@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-diff@24.9.0 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-diff@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-docblock@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-each@27.5.1 -│ │ ├─ URL: https://github.com/facebook/jest.git -│ │ ├─ VendorName: Matt Phillips -│ │ └─ VendorUrl: mattphillips -│ ├─ jest-environment-jsdom@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-environment-node@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-get-type@24.9.0 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-get-type@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-haste-map@26.6.2 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-haste-map@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-jasmine2@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-leak-detector@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-matcher-utils@24.9.0 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-matcher-utils@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-message-util@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-mock@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-pnp-resolver@1.2.2 -│ │ ├─ URL: https://github.com/arcanis/jest-pnp-resolver.git -│ │ └─ VendorUrl: https://github.com/arcanis/jest-pnp-resolver -│ ├─ jest-regex-util@26.0.0 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-regex-util@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-resolve-dependencies@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-resolve@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-runner@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-runtime@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-serializer@26.6.2 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-serializer@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-snapshot@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-util@26.6.2 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-util@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-validate@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-watch-typeahead@1.0.0 -│ │ ├─ URL: https://github.com/jest-community/jest-watch-typeahead.git -│ │ ├─ VendorName: Rogelio Guzman -│ │ └─ VendorUrl: https://github.com/jest-community/jest-watch-typeahead -│ ├─ jest-watcher@27.5.1 -│ │ ├─ URL: https://github.com/facebook/jest -│ │ └─ VendorUrl: https://jestjs.io/ -│ ├─ jest-worker@26.6.2 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest-worker@27.5.1 -│ │ └─ URL: https://github.com/facebook/jest.git -│ ├─ jest@27.5.1 -│ │ ├─ URL: https://github.com/facebook/jest -│ │ └─ VendorUrl: https://jestjs.io/ -│ ├─ js-sha256@0.9.0 -│ │ ├─ URL: https://github.com/emn178/js-sha256.git -│ │ ├─ VendorName: Chen, Yi-Cyuan -│ │ └─ VendorUrl: https://github.com/emn178/js-sha256 -│ ├─ js-string-escape@1.0.1 -│ │ ├─ URL: https://github.com/joliss/js-string-escape -│ │ └─ VendorName: Jo Liss -│ ├─ js-tokens@4.0.0 -│ │ ├─ URL: https://github.com/lydell/js-tokens.git -│ │ └─ VendorName: Simon Lydell -│ ├─ js-yaml@3.14.1 -│ │ ├─ URL: https://github.com/nodeca/js-yaml.git -│ │ ├─ VendorName: Vladimir Zapparov -│ │ └─ VendorUrl: https://github.com/nodeca/js-yaml -│ ├─ js-yaml@4.1.0 -│ │ ├─ URL: https://github.com/nodeca/js-yaml.git -│ │ └─ VendorName: Vladimir Zapparov -│ ├─ jsdom@16.7.0 -│ │ └─ URL: https://github.com/jsdom/jsdom.git -│ ├─ jsesc@0.5.0 -│ │ ├─ URL: https://github.com/mathiasbynens/jsesc.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: http://mths.be/jsesc -│ ├─ jsesc@2.5.2 -│ │ ├─ URL: https://github.com/mathiasbynens/jsesc.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/jsesc -│ ├─ json-parse-better-errors@1.0.2 -│ │ ├─ URL: https://github.com/zkat/json-parse-better-errors -│ │ └─ VendorName: Kat Marchán -│ ├─ json-parse-even-better-errors@2.3.1 -│ │ ├─ URL: https://github.com/npm/json-parse-even-better-errors -│ │ └─ VendorName: Kat Marchán -│ ├─ json-schema-traverse@0.4.1 -│ │ ├─ URL: git+https://github.com/epoberezkin/json-schema-traverse.git -│ │ ├─ VendorName: Evgeny Poberezkin -│ │ └─ VendorUrl: https://github.com/epoberezkin/json-schema-traverse#readme -│ ├─ json-schema-traverse@1.0.0 -│ │ ├─ URL: git+https://github.com/epoberezkin/json-schema-traverse.git -│ │ ├─ VendorName: Evgeny Poberezkin -│ │ └─ VendorUrl: https://github.com/epoberezkin/json-schema-traverse#readme -│ ├─ json-stable-stringify-without-jsonify@1.0.1 -│ │ ├─ URL: git://github.com/samn/json-stable-stringify.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/samn/json-stable-stringify -│ ├─ json2mq@0.2.0 -│ │ ├─ URL: https://github.com/akiran/json2mq -│ │ ├─ VendorName: Kiran Abburi -│ │ └─ VendorUrl: https://github.com/akiran/json2mq -│ ├─ json5@2.2.3 -│ │ ├─ URL: git+https://github.com/json5/json5.git -│ │ ├─ VendorName: Aseem Kishore -│ │ └─ VendorUrl: http://json5.org/ -│ ├─ jsonfile@2.4.0 -│ │ ├─ URL: git@github.com:jprichardson/node-jsonfile.git -│ │ └─ VendorName: JP Richardson -│ ├─ jsonfile@6.1.0 -│ │ ├─ URL: git@github.com:jprichardson/node-jsonfile.git -│ │ └─ VendorName: JP Richardson -│ ├─ jsonpointer@5.0.0 -│ │ ├─ URL: https://github.com/janl/node-jsonpointer.git -│ │ └─ VendorName: Jan Lehnardt -│ ├─ jsx-ast-utils@3.2.1 -│ │ ├─ URL: https://github.com/jsx-eslint/jsx-ast-utils -│ │ └─ VendorName: Ethan Cohen -│ ├─ junk@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/junk.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ kind-of@3.2.2 -│ │ ├─ URL: https://github.com/jonschlinkert/kind-of.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/kind-of -│ ├─ kind-of@4.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/kind-of.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/kind-of -│ ├─ kind-of@5.1.0 -│ │ ├─ URL: https://github.com/jonschlinkert/kind-of.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/kind-of -│ ├─ kind-of@6.0.3 -│ │ ├─ URL: https://github.com/jonschlinkert/kind-of.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/kind-of -│ ├─ klaw@1.3.1 -│ │ ├─ URL: git+https://github.com/jprichardson/node-klaw.git -│ │ ├─ VendorName: JP Richardson -│ │ └─ VendorUrl: https://github.com/jprichardson/node-klaw#readme -│ ├─ kleur@3.0.3 -│ │ ├─ URL: https://github.com/lukeed/kleur.git -│ │ ├─ VendorName: Luke Edwards -│ │ └─ VendorUrl: lukeed.com -│ ├─ klona@2.0.5 -│ │ ├─ URL: https://github.com/lukeed/klona.git -│ │ ├─ VendorName: Luke Edwards -│ │ └─ VendorUrl: https://lukeed.com -│ ├─ language-tags@1.0.5 -│ │ ├─ URL: git://github.com/mattcg/language-tags.git -│ │ ├─ VendorName: Matthew Caruana Galizia -│ │ └─ VendorUrl: https://github.com/mattcg/language-tags -│ ├─ leven@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/leven.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ levn@0.3.0 -│ │ ├─ URL: git://github.com/gkz/levn.git -│ │ ├─ VendorName: George Zahariev -│ │ └─ VendorUrl: https://github.com/gkz/levn -│ ├─ levn@0.4.1 -│ │ ├─ URL: git://github.com/gkz/levn.git -│ │ ├─ VendorName: George Zahariev -│ │ └─ VendorUrl: https://github.com/gkz/levn -│ ├─ lilconfig@2.0.4 -│ │ ├─ URL: https://github.com/antonk52/lilconfig -│ │ └─ VendorName: antonk52 -│ ├─ lines-and-columns@1.2.4 -│ │ ├─ URL: https://github.com/eventualbuddha/lines-and-columns.git -│ │ ├─ VendorName: Brian Donovan -│ │ └─ VendorUrl: https://github.com/eventualbuddha/lines-and-columns#readme -│ ├─ load-script@1.0.0 -│ │ └─ URL: git://github.com/eldargab/load-script -│ ├─ loader-runner@2.4.0 -│ │ ├─ URL: git+https://github.com/webpack/loader-runner.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/loader-runner#readme -│ ├─ loader-runner@4.2.0 -│ │ ├─ URL: git+https://github.com/webpack/loader-runner.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/loader-runner#readme -│ ├─ loader-utils@2.0.4 -│ │ ├─ URL: https://github.com/webpack/loader-utils.git -│ │ └─ VendorName: Tobias Koppers @sokra -│ ├─ loader-utils@3.2.1 -│ │ ├─ URL: https://github.com/webpack/loader-utils.git -│ │ └─ VendorName: Tobias Koppers @sokra -│ ├─ locate-path@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/locate-path.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ locate-path@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/locate-path.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ locate-path@5.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/locate-path.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ locate-path@6.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/locate-path.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ lodash.debounce@4.0.8 -│ │ ├─ URL: https://github.com/lodash/lodash.git -│ │ ├─ VendorName: John-David Dalton -│ │ └─ VendorUrl: https://lodash.com/ -│ ├─ lodash.memoize@4.1.2 -│ │ ├─ URL: https://github.com/lodash/lodash.git -│ │ ├─ VendorName: John-David Dalton -│ │ └─ VendorUrl: https://lodash.com/ -│ ├─ lodash.merge@4.6.2 -│ │ ├─ URL: https://github.com/lodash/lodash.git -│ │ ├─ VendorName: John-David Dalton -│ │ └─ VendorUrl: https://lodash.com/ -│ ├─ lodash.sortby@4.7.0 -│ │ ├─ URL: https://github.com/lodash/lodash.git -│ │ ├─ VendorName: John-David Dalton -│ │ └─ VendorUrl: https://lodash.com/ -│ ├─ lodash.uniq@4.5.0 -│ │ ├─ URL: https://github.com/lodash/lodash.git -│ │ ├─ VendorName: John-David Dalton -│ │ └─ VendorUrl: https://lodash.com/ -│ ├─ lodash@4.17.21 -│ │ ├─ URL: https://github.com/lodash/lodash.git -│ │ ├─ VendorName: John-David Dalton -│ │ └─ VendorUrl: https://lodash.com/ -│ ├─ loose-envify@1.4.0 -│ │ ├─ URL: git://github.com/zertosh/loose-envify.git -│ │ ├─ VendorName: Andres Suarez -│ │ └─ VendorUrl: https://github.com/zertosh/loose-envify -│ ├─ lower-case@2.0.2 -│ │ ├─ URL: git://github.com/blakeembrey/change-case.git -│ │ ├─ VendorName: Blake Embrey -│ │ └─ VendorUrl: https://github.com/blakeembrey/change-case/tree/master/packages/lower-case#readme -│ ├─ lowlight@1.20.0 -│ │ ├─ URL: https://github.com/wooorm/lowlight.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ magic-string@0.25.9 -│ │ ├─ URL: https://github.com/rich-harris/magic-string -│ │ └─ VendorName: Rich Harris -│ ├─ make-dir@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/make-dir.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ make-dir@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/make-dir.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ map-age-cleaner@0.1.3 -│ │ ├─ URL: https://github.com/SamVerschueren/map-age-cleaner.git -│ │ ├─ VendorName: Sam Verschueren -│ │ └─ VendorUrl: github.com/SamVerschueren -│ ├─ map-cache@0.2.2 -│ │ ├─ URL: https://github.com/jonschlinkert/map-cache.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/map-cache -│ ├─ map-or-similar@1.5.0 -│ │ ├─ URL: git+https://github.com/thinkloop/map-or-similar.git -│ │ ├─ VendorName: Baz -│ │ └─ VendorUrl: https://github.com/thinkloop/map-or-similar#readme -│ ├─ map-visit@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/map-visit.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/map-visit -│ ├─ markdown-escapes@1.0.4 -│ │ ├─ URL: https://github.com/wooorm/markdown-escapes.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ markdown-to-jsx@7.1.7 -│ │ ├─ URL: https://github.com/probablyup/markdown-to-jsx.git -│ │ ├─ VendorName: Evan Jacobs -│ │ └─ VendorUrl: https://probablyup.github.io/markdown-to-jsx -│ ├─ md5.js@1.3.5 -│ │ ├─ URL: https://github.com/crypto-browserify/md5.js.git -│ │ ├─ VendorName: Kirill Fomichev -│ │ └─ VendorUrl: https://github.com/crypto-browserify/md5.js -│ ├─ mdast-squeeze-paragraphs@4.0.0 -│ │ ├─ URL: https://github.com/syntax-tree/mdast-squeeze-paragraphs.git -│ │ └─ VendorName: Eugene Sharygin -│ ├─ mdast-util-definitions@4.0.0 -│ │ ├─ URL: https://github.com/syntax-tree/mdast-util-definitions.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ mdast-util-to-hast@10.0.1 -│ │ ├─ URL: https://github.com/syntax-tree/mdast-util-to-hast.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ mdast-util-to-string@1.1.0 -│ │ ├─ URL: https://github.com/syntax-tree/mdast-util-to-string.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ mdurl@1.0.1 -│ │ └─ URL: https://github.com/markdown-it/mdurl.git -│ ├─ media-typer@0.3.0 -│ │ ├─ URL: https://github.com/jshttp/media-typer.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ mem@8.1.1 -│ │ ├─ URL: https://github.com/sindresorhus/mem.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ memoize-one@5.2.1 -│ │ ├─ URL: https://github.com/alexreardon/memoize-one.git -│ │ └─ VendorName: Alex Reardon -│ ├─ memoizerific@1.11.3 -│ │ ├─ URL: git+https://github.com/thinkloop/memoizerific.git -│ │ ├─ VendorName: Baz -│ │ └─ VendorUrl: https://github.com/thinkloop/memoizerific#readme -│ ├─ memory-fs@0.4.1 -│ │ ├─ URL: https://github.com/webpack/memory-fs.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/memory-fs -│ ├─ memory-fs@0.5.0 -│ │ ├─ URL: https://github.com/webpack/memory-fs.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/memory-fs -│ ├─ merge-descriptors@1.0.1 -│ │ ├─ URL: https://github.com/component/merge-descriptors.git -│ │ ├─ VendorName: Jonathan Ong -│ │ └─ VendorUrl: http://jongleberry.com -│ ├─ merge-stream@2.0.0 -│ │ ├─ URL: https://github.com/grncdr/merge-stream.git -│ │ └─ VendorName: Stephen Sugden -│ ├─ merge2@1.4.1 -│ │ ├─ URL: git@github.com:teambition/merge2.git -│ │ └─ VendorUrl: https://github.com/teambition/merge2 -│ ├─ methods@1.1.2 -│ │ └─ URL: https://github.com/jshttp/methods.git -│ ├─ microevent.ts@0.1.1 -│ │ ├─ URL: https://github.com/DirtyHairy/microevent.git -│ │ ├─ VendorName: Christian Speckner -│ │ └─ VendorUrl: https://github.com/DirtyHairy/ -│ ├─ micromatch@3.1.10 -│ │ ├─ URL: https://github.com/micromatch/micromatch.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/micromatch -│ ├─ micromatch@4.0.4 -│ │ ├─ URL: https://github.com/micromatch/micromatch.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/micromatch -│ ├─ miller-rabin@4.0.1 -│ │ ├─ URL: git@github.com:indutny/miller-rabin -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/miller-rabin -│ ├─ mime-db@1.52.0 -│ │ └─ URL: https://github.com/jshttp/mime-db.git -│ ├─ mime-types@2.1.35 -│ │ └─ URL: https://github.com/jshttp/mime-types.git -│ ├─ mime@1.6.0 -│ │ ├─ URL: https://github.com/broofa/node-mime -│ │ ├─ VendorName: Robert Kieffer -│ │ └─ VendorUrl: http://github.com/broofa -│ ├─ mime@2.6.0 -│ │ ├─ URL: https://github.com/broofa/mime -│ │ ├─ VendorName: Robert Kieffer -│ │ └─ VendorUrl: http://github.com/broofa -│ ├─ mimic-fn@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/mimic-fn.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ mimic-fn@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/mimic-fn.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ min-document@2.19.0 -│ │ ├─ URL: git://github.com/Raynos/min-document.git -│ │ ├─ VendorName: Raynos -│ │ └─ VendorUrl: https://github.com/Raynos/min-document -│ ├─ min-indent@1.0.1 -│ │ ├─ URL: https://github.com/thejameskyle/min-indent -│ │ ├─ VendorName: James Kyle -│ │ └─ VendorUrl: thejameskyle.com -│ ├─ mini-css-extract-plugin@2.6.0 -│ │ ├─ URL: https://github.com/webpack-contrib/mini-css-extract-plugin.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/mini-css-extract-plugin -│ ├─ minimalistic-crypto-utils@1.0.1 -│ │ ├─ URL: git+ssh://git@github.com/indutny/minimalistic-crypto-utils.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/minimalistic-crypto-utils#readme -│ ├─ minimist@1.2.6 -│ │ ├─ URL: git://github.com/substack/minimist.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/minimist -│ ├─ minimist@1.2.7 -│ │ ├─ URL: git://github.com/minimistjs/minimist.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/minimistjs/minimist -│ ├─ minimist@1.2.8 -│ │ ├─ URL: git://github.com/minimistjs/minimist.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/minimistjs/minimist -│ ├─ minizlib@2.1.2 -│ │ ├─ URL: git+https://github.com/isaacs/minizlib.git -│ │ ├─ VendorName: Isaac Z. Schlueter -│ │ └─ VendorUrl: http://blog.izs.me/ -│ ├─ mixin-deep@1.3.2 -│ │ ├─ URL: https://github.com/jonschlinkert/mixin-deep.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/mixin-deep -│ ├─ mkdirp@0.5.5 -│ │ ├─ URL: https://github.com/substack/node-mkdirp.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ mkdirp@0.5.6 -│ │ ├─ URL: https://github.com/substack/node-mkdirp.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ mkdirp@1.0.4 -│ │ └─ URL: https://github.com/isaacs/node-mkdirp.git -│ ├─ ms@2.0.0 -│ │ └─ URL: https://github.com/zeit/ms.git -│ ├─ ms@2.1.1 -│ │ └─ URL: https://github.com/zeit/ms.git -│ ├─ ms@2.1.2 -│ │ └─ URL: https://github.com/zeit/ms.git -│ ├─ ms@2.1.3 -│ │ └─ URL: https://github.com/vercel/ms.git -│ ├─ multicast-dns-service-types@1.1.0 -│ │ ├─ URL: https://github.com/mafintosh/multicast-dns-service-types.git -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/multicast-dns-service-types -│ ├─ multicast-dns@6.2.3 -│ │ ├─ URL: https://github.com/mafintosh/multicast-dns.git -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/multicast-dns -│ ├─ nan@2.17.0 -│ │ └─ URL: git://github.com/nodejs/nan.git -│ ├─ nanoid@3.3.1 -│ │ ├─ URL: https://github.com/ai/nanoid.git -│ │ └─ VendorName: Andrey Sitnik -│ ├─ nanoid@4.0.0 -│ │ ├─ URL: https://github.com/ai/nanoid.git -│ │ └─ VendorName: Andrey Sitnik -│ ├─ nanomatch@1.2.13 -│ │ ├─ URL: https://github.com/micromatch/nanomatch.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/nanomatch -│ ├─ natural-compare@1.4.0 -│ │ ├─ URL: git://github.com/litejs/natural-compare-lite.git -│ │ ├─ VendorName: Lauri Rooden -│ │ └─ VendorUrl: https://github.com/litejs/natural-compare-lite -│ ├─ negotiator@0.6.3 -│ │ └─ URL: https://github.com/jshttp/negotiator.git -│ ├─ neo-async@2.6.2 -│ │ ├─ URL: git@github.com:suguru03/neo-async.git -│ │ └─ VendorUrl: https://github.com/suguru03/neo-async -│ ├─ nested-error-stacks@2.1.0 -│ │ ├─ URL: https://github.com/mdlavin/nested-error-stacks.git -│ │ └─ VendorName: Matt Lavin -│ ├─ nice-try@1.0.5 -│ │ ├─ URL: https://github.com/electerious/nice-try.git -│ │ └─ VendorUrl: https://github.com/electerious/nice-try -│ ├─ no-case@3.0.4 -│ │ ├─ URL: git://github.com/blakeembrey/change-case.git -│ │ ├─ VendorName: Blake Embrey -│ │ └─ VendorUrl: https://github.com/blakeembrey/change-case/tree/master/packages/no-case#readme -│ ├─ node-dir@0.1.17 -│ │ ├─ URL: https://github.com/fshost/node-dir -│ │ ├─ VendorName: Nathan Cartwright -│ │ └─ VendorUrl: https://github.com/fshost -│ ├─ node-fetch@2.6.7 -│ │ ├─ URL: https://github.com/bitinn/node-fetch.git -│ │ ├─ VendorName: David Frank -│ │ └─ VendorUrl: https://github.com/bitinn/node-fetch -│ ├─ node-int64@0.4.0 -│ │ ├─ URL: https://github.com/broofa/node-int64 -│ │ └─ VendorName: Robert Kieffer -│ ├─ node-libs-browser@2.2.1 -│ │ ├─ URL: git+https://github.com/webpack/node-libs-browser.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: http://github.com/webpack/node-libs-browser -│ ├─ node-releases@2.0.2 -│ │ ├─ URL: https://github.com/chicoxyzzy/node-releases.git -│ │ └─ VendorName: Sergey Rubanov -│ ├─ normalize-path@2.1.1 -│ │ ├─ URL: https://github.com/jonschlinkert/normalize-path.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/normalize-path -│ ├─ normalize-path@3.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/normalize-path.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/normalize-path -│ ├─ normalize-range@0.1.2 -│ │ ├─ URL: https://github.com/jamestalmage/normalize-range.git -│ │ ├─ VendorName: James Talmage -│ │ └─ VendorUrl: github.com/jamestalmage -│ ├─ normalize-url@6.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/normalize-url.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ npm-run-path@2.0.2 -│ │ ├─ URL: https://github.com/sindresorhus/npm-run-path.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ npm-run-path@4.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/npm-run-path.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ num2fraction@1.2.2 -│ │ ├─ URL: git@github.com:yisibl/num2fraction.git -│ │ ├─ VendorName: yisi -│ │ └─ VendorUrl: http://iyunlu.com/view -│ ├─ nwsapi@2.2.0 -│ │ ├─ URL: git://github.com/dperini/nwsapi.git -│ │ ├─ VendorName: Diego Perini -│ │ └─ VendorUrl: http://javascript.nwbox.com/nwsapi/ -│ ├─ object-assign@4.1.1 -│ │ ├─ URL: https://github.com/sindresorhus/object-assign.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ object-copy@0.1.0 -│ │ ├─ URL: https://github.com/jonschlinkert/object-copy.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/object-copy -│ ├─ object-hash@2.2.0 -│ │ ├─ URL: https://github.com/puleos/object-hash -│ │ ├─ VendorName: Scott Puleo -│ │ └─ VendorUrl: https://github.com/puleos/object-hash -│ ├─ object-inspect@1.12.0 -│ │ ├─ URL: git://github.com/inspect-js/object-inspect.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/inspect-js/object-inspect -│ ├─ object-is@1.1.5 -│ │ ├─ URL: git://github.com/es-shims/object-is.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/es-shims/object-is -│ ├─ object-keys@1.1.1 -│ │ ├─ URL: git://github.com/ljharb/object-keys.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: http://ljharb.codes -│ ├─ object-visit@1.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/object-visit.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/object-visit -│ ├─ object.assign@4.1.2 -│ │ ├─ URL: git://github.com/ljharb/object.assign.git -│ │ └─ VendorName: Jordan Harband -│ ├─ object.entries@1.1.5 -│ │ ├─ URL: git://github.com/es-shims/Object.entries.git -│ │ └─ VendorName: Jordan Harband -│ ├─ object.fromentries@2.0.5 -│ │ ├─ URL: git://github.com/es-shims/Object.fromEntries.git -│ │ └─ VendorName: Jordan Harband -│ ├─ object.getownpropertydescriptors@2.1.3 -│ │ ├─ URL: git://github.com/es-shims/object.getownpropertydescriptors.git -│ │ └─ VendorName: Jordan Harband -│ ├─ object.hasown@1.1.0 -│ │ ├─ URL: https://github.com/es-shims/Object.hasOwn.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/es-shims/Object.hasOwn -│ ├─ object.pick@1.3.0 -│ │ ├─ URL: https://github.com/jonschlinkert/object.pick.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/object.pick -│ ├─ object.values@1.1.5 -│ │ ├─ URL: git://github.com/es-shims/Object.values.git -│ │ └─ VendorName: Jordan Harband -│ ├─ obuf@1.1.2 -│ │ ├─ URL: git@github.com:indutny/offset-buffer -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/offset-buffer -│ ├─ on-finished@2.3.0 -│ │ └─ URL: https://github.com/jshttp/on-finished.git -│ ├─ on-headers@1.0.2 -│ │ ├─ URL: https://github.com/jshttp/on-headers.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ onetime@5.1.2 -│ │ ├─ URL: https://github.com/sindresorhus/onetime.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ open@7.4.2 -│ │ ├─ URL: https://github.com/sindresorhus/open.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ open@8.4.0 -│ │ ├─ URL: https://github.com/sindresorhus/open.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ optionator@0.8.3 -│ │ ├─ URL: git://github.com/gkz/optionator.git -│ │ ├─ VendorName: George Zahariev -│ │ └─ VendorUrl: https://github.com/gkz/optionator -│ ├─ optionator@0.9.1 -│ │ ├─ URL: git://github.com/gkz/optionator.git -│ │ ├─ VendorName: George Zahariev -│ │ └─ VendorUrl: https://github.com/gkz/optionator -│ ├─ os-browserify@0.3.0 -│ │ ├─ URL: http://github.com/CoderPuppy/os-browserify.git -│ │ └─ VendorName: CoderPuppy -│ ├─ overlayscrollbars@1.13.1 -│ │ ├─ URL: https://github.com/KingSora/OverlayScrollbars -│ │ ├─ VendorName: KingSora | Rene Haas -│ │ └─ VendorUrl: https://kingsora.github.io/OverlayScrollbars -│ ├─ p-all@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-all.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-defer@1.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-defer.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-event@4.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-event.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ p-filter@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-filter.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-finally@1.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-finally.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-limit@1.3.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-limit.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-limit@2.3.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-limit.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-limit@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-limit.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ p-locate@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-locate.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-locate@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-locate.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-locate@4.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-locate.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-locate@5.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-locate.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ p-map@2.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-map.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-map@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-map.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-map@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-map.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ p-retry@4.6.1 -│ │ ├─ URL: https://github.com/sindresorhus/p-retry.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-timeout@3.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-timeout.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-try@1.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-try.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ p-try@2.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/p-try.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ parallel-transform@1.2.0 -│ │ ├─ URL: git://github.com/mafintosh/parallel-transform -│ │ └─ VendorName: Mathias Buus Madsen -│ ├─ param-case@3.0.4 -│ │ ├─ URL: git://github.com/blakeembrey/change-case.git -│ │ ├─ VendorName: Blake Embrey -│ │ └─ VendorUrl: https://github.com/blakeembrey/change-case/tree/master/packages/param-case#readme -│ ├─ parent-module@1.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/parent-module.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ parse-entities@2.0.0 -│ │ ├─ URL: https://github.com/wooorm/parse-entities.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ parse-json@5.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/parse-json.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ parse5@6.0.1 -│ │ ├─ URL: git://github.com/inikulin/parse5.git -│ │ ├─ VendorName: Ivan Nikulin -│ │ └─ VendorUrl: https://github.com/inikulin/parse5 -│ ├─ parseurl@1.3.3 -│ │ └─ URL: https://github.com/pillarjs/parseurl.git -│ ├─ pascal-case@3.1.2 -│ │ ├─ URL: git://github.com/blakeembrey/change-case.git -│ │ ├─ VendorName: Blake Embrey -│ │ └─ VendorUrl: https://github.com/blakeembrey/change-case/tree/master/packages/pascal-case#readme -│ ├─ pascalcase@0.1.1 -│ │ ├─ URL: https://github.com/jonschlinkert/pascalcase.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/pascalcase -│ ├─ path-browserify@0.0.1 -│ │ ├─ URL: git://github.com/substack/path-browserify.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/path-browserify -│ ├─ path-browserify@1.0.1 -│ │ ├─ URL: git://github.com/browserify/path-browserify.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/browserify/path-browserify -│ ├─ path-exists@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/path-exists.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ path-exists@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/path-exists.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ path-is-absolute@1.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/path-is-absolute.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ path-key@2.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/path-key.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ path-key@3.1.1 -│ │ ├─ URL: https://github.com/sindresorhus/path-key.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ path-parse@1.0.7 -│ │ ├─ URL: https://github.com/jbgutierrez/path-parse.git -│ │ ├─ VendorName: Javier Blanco -│ │ └─ VendorUrl: https://github.com/jbgutierrez/path-parse#readme -│ ├─ path-to-regexp@0.1.7 -│ │ └─ URL: https://github.com/component/path-to-regexp.git -│ ├─ path-type@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/path-type.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ path-type@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/path-type.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ pbkdf2@3.1.2 -│ │ ├─ URL: https://github.com/crypto-browserify/pbkdf2.git -│ │ ├─ VendorName: Daniel Cousens -│ │ └─ VendorUrl: https://github.com/crypto-browserify/pbkdf2 -│ ├─ performance-now@2.1.0 -│ │ ├─ URL: git://github.com/braveg1rl/performance-now.git -│ │ ├─ VendorName: Braveg1rl -│ │ └─ VendorUrl: https://github.com/braveg1rl/performance-now -│ ├─ picomatch@2.3.1 -│ │ ├─ URL: https://github.com/micromatch/picomatch.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/picomatch -│ ├─ pify@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/pify.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ pify@4.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/pify.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ pirates@4.0.5 -│ │ ├─ URL: https://github.com/danez/pirates.git -│ │ ├─ VendorName: Ari Porad -│ │ └─ VendorUrl: https://github.com/danez/pirates#readme -│ ├─ pkg-dir@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/pkg-dir.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ pkg-dir@4.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/pkg-dir.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ pkg-dir@5.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/pkg-dir.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ pkg-up@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/pkg-up.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ pnp-webpack-plugin@1.6.4 -│ │ ├─ URL: https://github.com/arcanis/pnp-webpack-plugin.git -│ │ └─ VendorUrl: https://github.com/arcanis/pnp-webpack-plugin -│ ├─ pnp-webpack-plugin@1.7.0 -│ │ ├─ URL: https://github.com/arcanis/pnp-webpack-plugin.git -│ │ └─ VendorUrl: https://github.com/arcanis/pnp-webpack-plugin -│ ├─ polished@4.1.4 -│ │ ├─ URL: git+https://github.com/styled-components/polished.git -│ │ ├─ VendorName: Brian Hough -│ │ └─ VendorUrl: https://polished.js.org/ -│ ├─ portfinder@1.0.28 -│ │ ├─ URL: git@github.com:http-party/node-portfinder.git -│ │ └─ VendorName: Charlie Robbins -│ ├─ posix-character-classes@0.1.1 -│ │ ├─ URL: https://github.com/jonschlinkert/posix-character-classes.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/posix-character-classes -│ ├─ postcss-attribute-case-insensitive@5.0.0 -│ │ ├─ URL: git+https://github.com/Semigradsky/postcss-attribute-case-insensitive.git -│ │ ├─ VendorName: Dmitry Semigradsky -│ │ └─ VendorUrl: https://github.com/Semigradsky/postcss-attribute-case-insensitive#readme -│ ├─ postcss-calc@8.2.4 -│ │ ├─ URL: https://github.com/postcss/postcss-calc.git -│ │ └─ VendorName: Andy Jansson -│ ├─ postcss-color-hex-alpha@8.0.3 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-hex-alpha#readme -│ ├─ postcss-colormin@5.3.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-convert-values@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-custom-media@8.0.0 -│ │ ├─ URL: https://github.com/postcss/postcss-custom-media.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/postcss/postcss-custom-media#readme -│ ├─ postcss-custom-properties@12.1.4 -│ │ ├─ URL: https://github.com/csstools/postcss-plugins.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-properties#readme -│ ├─ postcss-custom-selectors@6.0.0 -│ │ ├─ URL: https://github.com/postcss/postcss-custom-selectors.git -│ │ ├─ VendorName: Jonathan Neal -│ │ └─ VendorUrl: https://github.com/postcss/postcss-custom-selectors#readme -│ ├─ postcss-discard-comments@5.1.1 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-discard-duplicates@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-discard-empty@5.1.1 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-discard-overridden@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Justineo -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-flexbugs-fixes@4.2.1 -│ │ ├─ URL: https://github.com/luisrudge/postcss-flexbugs-fixes.git -│ │ └─ VendorName: Luis Rudge -│ ├─ postcss-flexbugs-fixes@5.0.2 -│ │ ├─ URL: https://github.com/luisrudge/postcss-flexbugs-fixes.git -│ │ └─ VendorName: Luis Rudge -│ ├─ postcss-font-variant@5.0.0 -│ │ ├─ URL: https://github.com/postcss/postcss-font-variant.git -│ │ └─ VendorName: Maxime Thirouin -│ ├─ postcss-initial@4.0.1 -│ │ ├─ URL: https://github.com/maximkoretskiy/postcss-initial.git -│ │ └─ VendorName: Maksim Koretskiy -│ ├─ postcss-js@4.0.0 -│ │ ├─ URL: https://github.com/postcss/postcss-js.git -│ │ └─ VendorName: Andrey Sitnik -│ ├─ postcss-load-config@3.1.3 -│ │ ├─ URL: https://github.com/postcss/postcss-load-config.git -│ │ └─ VendorName: Michael Ciniawky -│ ├─ postcss-loader@4.3.0 -│ │ ├─ URL: https://github.com/webpack-contrib/postcss-loader.git -│ │ ├─ VendorName: Andrey Sitnik -│ │ └─ VendorUrl: https://github.com/webpack-contrib/postcss-loader -│ ├─ postcss-loader@6.2.1 -│ │ ├─ URL: https://github.com/webpack-contrib/postcss-loader.git -│ │ ├─ VendorName: Andrey Sitnik -│ │ └─ VendorUrl: https://github.com/webpack-contrib/postcss-loader -│ ├─ postcss-media-minmax@5.0.0 -│ │ ├─ URL: https://github.com/postcss/postcss-media-minmax.git -│ │ └─ VendorName: yisi -│ ├─ postcss-merge-longhand@5.1.2 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-merge-rules@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-minify-font-values@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Bogdan Chadkin -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-minify-gradients@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-minify-params@5.1.1 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Bogdan Chadkin -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-minify-selectors@5.2.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-modules-local-by-default@3.0.3 -│ │ ├─ URL: https://github.com/css-modules/postcss-modules-local-by-default.git -│ │ └─ VendorName: Mark Dalgleish -│ ├─ postcss-modules-local-by-default@4.0.0 -│ │ ├─ URL: https://github.com/css-modules/postcss-modules-local-by-default.git -│ │ └─ VendorName: Mark Dalgleish -│ ├─ postcss-nested@5.0.6 -│ │ ├─ URL: https://github.com/postcss/postcss-nested.git -│ │ └─ VendorName: Andrey Sitnik -│ ├─ postcss-normalize-charset@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Bogdan Chadkin -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-normalize-display-values@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-normalize-positions@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-normalize-repeat-style@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-normalize-string@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-normalize-timing-functions@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-normalize-unicode@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-normalize-url@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-normalize-whitespace@5.1.1 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-opacity-percentage@1.1.2 -│ │ ├─ URL: https://github.com/mrcgrtz/postcss-opacity-percentage.git -│ │ ├─ VendorName: Marc Görtz -│ │ └─ VendorUrl: https://marcgoertz.de/ -│ ├─ postcss-ordered-values@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-page-break@3.0.4 -│ │ ├─ URL: https://github.com/shrpne/postcss-page-break -│ │ └─ VendorName: shrpne -│ ├─ postcss-reduce-initial@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-reduce-transforms@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-replace-overflow-wrap@4.0.0 -│ │ ├─ URL: https://github.com/MattDiMu/postcss-replace-overflow-wrap.git -│ │ ├─ VendorName: Matthias Müller -│ │ └─ VendorUrl: https://github.com/MattDiMu/postcss-replace-overflow-wrap -│ ├─ postcss-selector-not@5.0.0 -│ │ ├─ URL: https://github.com/postcss/postcss-selector-not.git -│ │ └─ VendorName: Maxime Thirouin -│ ├─ postcss-selector-parser@6.0.9 -│ │ ├─ URL: https://github.com/postcss/postcss-selector-parser.git -│ │ └─ VendorUrl: https://github.com/postcss/postcss-selector-parser -│ ├─ postcss-svgo@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-unique-selectors@5.1.1 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ postcss-value-parser@4.2.0 -│ │ ├─ URL: https://github.com/TrySound/postcss-value-parser.git -│ │ ├─ VendorName: Bogdan Chadkin -│ │ └─ VendorUrl: https://github.com/TrySound/postcss-value-parser -│ ├─ postcss@7.0.39 -│ │ ├─ URL: https://github.com/postcss/postcss.git -│ │ ├─ VendorName: Andrey Sitnik -│ │ └─ VendorUrl: https://postcss.org/ -│ ├─ postcss@8.4.12 -│ │ ├─ URL: https://github.com/postcss/postcss.git -│ │ ├─ VendorName: Andrey Sitnik -│ │ └─ VendorUrl: https://postcss.org/ -│ ├─ prelude-ls@1.1.2 -│ │ ├─ URL: git://github.com/gkz/prelude-ls.git -│ │ ├─ VendorName: George Zahariev -│ │ └─ VendorUrl: http://preludels.com/ -│ ├─ prelude-ls@1.2.1 -│ │ ├─ URL: git://github.com/gkz/prelude-ls.git -│ │ ├─ VendorName: George Zahariev -│ │ └─ VendorUrl: http://preludels.com/ -│ ├─ prettier-linter-helpers@1.0.0 -│ │ ├─ URL: git+https://github.com/prettier/prettier-linter-helpers.git -│ │ └─ VendorUrl: https://github.com/prettier/prettier-linter-helpers#readme -│ ├─ prettier@2.3.0 -│ │ ├─ URL: https://github.com/prettier/prettier.git -│ │ ├─ VendorName: James Long -│ │ └─ VendorUrl: https://prettier.io/ -│ ├─ prettier@2.6.0 -│ │ ├─ URL: https://github.com/prettier/prettier.git -│ │ ├─ VendorName: James Long -│ │ └─ VendorUrl: https://prettier.io/ -│ ├─ pretty-bytes@5.6.0 -│ │ ├─ URL: https://github.com/sindresorhus/pretty-bytes.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ pretty-error@2.1.2 -│ │ ├─ URL: https://github.com/AriaMinaei/pretty-error.git -│ │ └─ VendorName: Aria Minaei -│ ├─ pretty-error@4.0.0 -│ │ ├─ URL: https://github.com/AriaMinaei/pretty-error.git -│ │ └─ VendorName: Aria Minaei -│ ├─ pretty-format@24.9.0 -│ │ ├─ URL: https://github.com/facebook/jest.git -│ │ └─ VendorName: James Kyle -│ ├─ pretty-format@25.5.0 -│ │ ├─ URL: https://github.com/facebook/jest.git -│ │ └─ VendorName: James Kyle -│ ├─ pretty-format@27.5.1 -│ │ ├─ URL: https://github.com/facebook/jest.git -│ │ └─ VendorName: James Kyle -│ ├─ pretty-hrtime@1.0.3 -│ │ ├─ URL: git://github.com/robrich/pretty-hrtime.git -│ │ ├─ VendorName: Rob Richardson -│ │ └─ VendorUrl: https://github.com/robrich/pretty-hrtime -│ ├─ prismjs@1.27.0 -│ │ ├─ URL: https://github.com/PrismJS/prism.git -│ │ └─ VendorName: Lea Verou -│ ├─ process-nextick-args@2.0.1 -│ │ ├─ URL: https://github.com/calvinmetcalf/process-nextick-args.git -│ │ └─ VendorUrl: https://github.com/calvinmetcalf/process-nextick-args -│ ├─ process@0.11.10 -│ │ ├─ URL: git://github.com/shtylman/node-process.git -│ │ └─ VendorName: Roman Shtylman -│ ├─ promise.allsettled@1.0.5 -│ │ ├─ URL: git://github.com/es-shims/Promise.allSettled.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/es-shims/promise.allsettled#readme -│ ├─ promise.prototype.finally@3.1.3 -│ │ ├─ URL: git://github.com/es-shims/Promise.prototype.finally.git -│ │ └─ VendorName: Jordan Harband -│ ├─ promise@8.1.0 -│ │ ├─ URL: https://github.com/then/promise.git -│ │ └─ VendorName: ForbesLindesay -│ ├─ prompts@2.4.2 -│ │ ├─ URL: https://github.com/terkelg/prompts.git -│ │ ├─ VendorName: Terkel Gjervig -│ │ └─ VendorUrl: https://terkel.com -│ ├─ prop-types@15.8.1 -│ │ ├─ URL: https://github.com/facebook/prop-types.git -│ │ └─ VendorUrl: https://facebook.github.io/react/ -│ ├─ property-information@5.6.0 -│ │ ├─ URL: https://github.com/wooorm/property-information.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ proxy-addr@2.0.7 -│ │ ├─ URL: https://github.com/jshttp/proxy-addr.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ prr@1.0.1 -│ │ ├─ URL: https://github.com/rvagg/prr.git -│ │ ├─ VendorName: Rod Vagg -│ │ └─ VendorUrl: https://github.com/rvagg/prr -│ ├─ psl@1.8.0 -│ │ ├─ URL: git@github.com:lupomontero/psl.git -│ │ ├─ VendorName: Lupo Montero -│ │ └─ VendorUrl: https://lupomontero.com/ -│ ├─ public-encrypt@4.0.3 -│ │ ├─ URL: https://github.com/crypto-browserify/publicEncrypt.git -│ │ ├─ VendorName: Calvin Metcalf -│ │ └─ VendorUrl: https://github.com/crypto-browserify/publicEncrypt -│ ├─ pump@2.0.1 -│ │ ├─ URL: git://github.com/mafintosh/pump.git -│ │ └─ VendorName: Mathias Buus Madsen -│ ├─ pump@3.0.0 -│ │ ├─ URL: git://github.com/mafintosh/pump.git -│ │ └─ VendorName: Mathias Buus Madsen -│ ├─ pumpify@1.5.1 -│ │ ├─ URL: git://github.com/mafintosh/pumpify -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/pumpify -│ ├─ punycode@1.3.2 -│ │ ├─ URL: https://github.com/bestiejs/punycode.js.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/punycode -│ ├─ punycode@1.4.1 -│ │ ├─ URL: https://github.com/bestiejs/punycode.js.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/punycode -│ ├─ punycode@2.1.1 -│ │ ├─ URL: https://github.com/bestiejs/punycode.js.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/punycode -│ ├─ q@1.5.1 -│ │ ├─ URL: git://github.com/kriskowal/q.git -│ │ ├─ VendorName: Kris Kowal -│ │ └─ VendorUrl: https://github.com/kriskowal/q -│ ├─ querystring-es3@0.2.1 -│ │ ├─ URL: git://github.com/mike-spainhower/querystring.git -│ │ └─ VendorName: Irakli Gozalishvili -│ ├─ querystring@0.2.0 -│ │ ├─ URL: git://github.com/Gozala/querystring.git -│ │ └─ VendorName: Irakli Gozalishvili -│ ├─ querystring@0.2.1 -│ │ ├─ URL: git://github.com/Gozala/querystring.git -│ │ └─ VendorName: Irakli Gozalishvili -│ ├─ queue-microtask@1.2.3 -│ │ ├─ URL: git://github.com/feross/queue-microtask.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: https://github.com/feross/queue-microtask -│ ├─ quick-lru@5.1.1 -│ │ ├─ URL: https://github.com/sindresorhus/quick-lru.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ raf@3.4.1 -│ │ ├─ URL: git://github.com/chrisdickinson/raf.git -│ │ └─ VendorName: Chris Dickinson -│ ├─ ramda@0.21.0 -│ │ ├─ URL: git://github.com/ramda/ramda.git -│ │ ├─ VendorName: Scott Sauyet -│ │ └─ VendorUrl: http://ramdajs.com/ -│ ├─ randombytes@2.1.0 -│ │ ├─ URL: git@github.com:crypto-browserify/randombytes.git -│ │ └─ VendorUrl: https://github.com/crypto-browserify/randombytes -│ ├─ randomfill@1.0.4 -│ │ ├─ URL: https://github.com/crypto-browserify/randomfill.git -│ │ └─ VendorUrl: https://github.com/crypto-browserify/randomfill -│ ├─ range-parser@1.2.1 -│ │ ├─ URL: https://github.com/jshttp/range-parser.git -│ │ ├─ VendorName: TJ Holowaychuk -│ │ └─ VendorUrl: http://tjholowaychuk.com -│ ├─ raw-body@2.4.3 -│ │ ├─ URL: https://github.com/stream-utils/raw-body.git -│ │ ├─ VendorName: Jonathan Ong -│ │ └─ VendorUrl: http://jongleberry.com -│ ├─ raw-loader@4.0.2 -│ │ ├─ URL: https://github.com/webpack-contrib/raw-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/raw-loader -│ ├─ react-app-polyfill@3.0.0 -│ │ └─ URL: https://github.com/facebook/create-react-app.git -│ ├─ react-colorful@5.5.1 -│ │ ├─ URL: https://github.com/omgovich/react-colorful.git -│ │ ├─ VendorName: Vlad Shilov -│ │ └─ VendorUrl: https://omgovich.github.io/react-colorful -│ ├─ react-dev-utils@12.0.1 -│ │ └─ URL: https://github.com/facebook/create-react-app.git -│ ├─ react-docgen-typescript@2.2.2 -│ │ ├─ URL: https://github.com/styleguidist/react-docgen-typescript.git -│ │ └─ VendorUrl: https://github.com/styleguidist/react-docgen-typescript/ -│ ├─ react-docgen@5.4.0 -│ │ ├─ URL: git+https://github.com/reactjs/react-docgen.git -│ │ └─ VendorName: Felix Kling -│ ├─ react-dom@17.0.2 -│ │ ├─ URL: https://github.com/facebook/react.git -│ │ └─ VendorUrl: https://reactjs.org/ -│ ├─ react-draggable@4.4.4 -│ │ ├─ URL: https://github.com/react-grid-layout/react-draggable.git -│ │ ├─ VendorName: Matt Zabriskie -│ │ └─ VendorUrl: https://github.com/react-grid-layout/react-draggable -│ ├─ react-dropzone@14.2.2 -│ │ ├─ URL: https://github.com/react-dropzone/react-dropzone.git -│ │ ├─ VendorName: Param Aggarwal -│ │ └─ VendorUrl: https://github.com/react-dropzone/react-dropzone -│ ├─ react-element-to-jsx-string@14.3.4 -│ │ ├─ URL: https://github.com/algolia/react-element-to-jsx-string.git -│ │ ├─ VendorName: Algolia, Inc. -│ │ └─ VendorUrl: https://github.com/algolia -│ ├─ react-error-overlay@6.0.11 -│ │ ├─ URL: https://github.com/facebook/create-react-app.git -│ │ └─ VendorName: Joe Haddad -│ ├─ react-fast-compare@3.2.0 -│ │ ├─ URL: git+https://github.com/FormidableLabs/react-fast-compare.git -│ │ ├─ VendorName: Chris Bolin -│ │ └─ VendorUrl: https://github.com/FormidableLabs/react-fast-compare -│ ├─ react-hook-form@7.39.1 -│ │ ├─ URL: https://github.com/react-hook-form/react-hook-form -│ │ └─ VendorUrl: https://www.react-hook-form.com/ -│ ├─ react-i18next@11.16.1 -│ │ ├─ URL: https://github.com/i18next/react-i18next.git -│ │ ├─ VendorName: Jan Mühlemann -│ │ └─ VendorUrl: https://github.com/i18next/react-i18next -│ ├─ react-inspector@5.1.1 -│ │ ├─ URL: https://github.com/xyc/react-inspector.git -│ │ ├─ VendorName: Xiaoyi Chen -│ │ └─ VendorUrl: https://github.com/xyc/react-inspector -│ ├─ react-is@16.13.1 -│ │ ├─ URL: https://github.com/facebook/react.git -│ │ └─ VendorUrl: https://reactjs.org/ -│ ├─ react-is@17.0.2 -│ │ ├─ URL: https://github.com/facebook/react.git -│ │ └─ VendorUrl: https://reactjs.org/ -│ ├─ react-is@18.2.0 -│ │ ├─ URL: https://github.com/facebook/react.git -│ │ └─ VendorUrl: https://reactjs.org/ -│ ├─ react-player@2.12.0 -│ │ ├─ URL: https://github.com/CookPete/react-player.git -│ │ ├─ VendorName: Pete Cook -│ │ └─ VendorUrl: https://github.com/CookPete/react-player -│ ├─ react-popper-tooltip@3.1.1 -│ │ ├─ URL: https://github.com/mohsinulhaq/react-popper-tooltip -│ │ ├─ VendorName: Mohsin Ul Haq -│ │ └─ VendorUrl: https://react-popper-tooltip.netlify.app/ -│ ├─ react-popper@2.2.5 -│ │ ├─ URL: https://github.com/popperjs/react-popper -│ │ ├─ VendorName: Travis Arnold -│ │ └─ VendorUrl: https://popper.js.org/react-popper -│ ├─ react-redux@7.2.6 -│ │ ├─ URL: https://github.com/reduxjs/react-redux.git -│ │ ├─ VendorName: Dan Abramov -│ │ └─ VendorUrl: https://github.com/reduxjs/react-redux -│ ├─ react-refresh@0.11.0 -│ │ ├─ URL: https://github.com/facebook/react.git -│ │ └─ VendorUrl: https://reactjs.org/ -│ ├─ react-router-dom@6.2.2 -│ │ ├─ URL: https://github.com/remix-run/react-router.git -│ │ └─ VendorName: Remix Software -│ ├─ react-router@6.2.2 -│ │ ├─ URL: https://github.com/remix-run/react-router.git -│ │ └─ VendorName: Remix Software -│ ├─ react-scripts@5.0.1 -│ │ └─ URL: https://github.com/facebook/create-react-app.git -│ ├─ react-sizeme@3.0.2 -│ │ ├─ URL: https://github.com/ctrlplusb/react-sizeme.git -│ │ ├─ VendorName: Sean Matheson -│ │ └─ VendorUrl: https://github.com/ctrlplusb/react-sizeme#readme -│ ├─ react-slick@0.28.1 -│ │ ├─ URL: https://github.com/akiran/react-slick -│ │ ├─ VendorName: Kiran Abburi -│ │ └─ VendorUrl: https://react-slick.neostack.com/ -│ ├─ react-syntax-highlighter@13.5.3 -│ │ ├─ URL: git+https://github.com/react-syntax-highlighter/react-syntax-highlighter.git -│ │ ├─ VendorName: Conor Hastings -│ │ └─ VendorUrl: https://github.com/react-syntax-highlighter/react-syntax-highlighter#readme -│ ├─ react-textarea-autosize@8.3.3 -│ │ ├─ URL: git+https://github.com/Andarist/react-textarea-autosize.git -│ │ ├─ VendorName: Andrey Popp -│ │ └─ VendorUrl: httsps://andreypopp.com/ -│ ├─ react@17.0.2 -│ │ ├─ URL: https://github.com/facebook/react.git -│ │ └─ VendorUrl: https://reactjs.org/ -│ ├─ read-pkg-up@7.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/read-pkg-up.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ read-pkg@5.2.0 -│ │ ├─ URL: https://github.com/sindresorhus/read-pkg.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ readable-stream@2.3.7 -│ │ └─ URL: git://github.com/nodejs/readable-stream -│ ├─ readable-stream@2.3.8 -│ │ └─ URL: git://github.com/nodejs/readable-stream -│ ├─ readable-stream@3.6.0 -│ │ └─ URL: git://github.com/nodejs/readable-stream -│ ├─ readdirp@2.2.1 -│ │ ├─ URL: git://github.com/paulmillr/readdirp.git -│ │ ├─ VendorName: Thorsten Lorenz -│ │ └─ VendorUrl: https://github.com/paulmillr/readdirp -│ ├─ readdirp@3.6.0 -│ │ ├─ URL: git://github.com/paulmillr/readdirp.git -│ │ ├─ VendorName: Thorsten Lorenz -│ │ └─ VendorUrl: https://github.com/paulmillr/readdirp -│ ├─ rechoir@0.7.1 -│ │ ├─ URL: https://github.com/gulpjs/rechoir.git -│ │ ├─ VendorName: Gulp Team -│ │ └─ VendorUrl: http://gulpjs.com/ -│ ├─ recursive-readdir@2.2.2 -│ │ ├─ URL: git://github.com/jergason/recursive-readdir.git -│ │ ├─ VendorName: Jamison Dance -│ │ └─ VendorUrl: http://jamisondance.com/ -│ ├─ redent@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/redent.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ redux-thunk@2.4.1 -│ │ ├─ URL: https://github.com/reduxjs/redux-thunk.git -│ │ ├─ VendorName: Dan Abramov -│ │ └─ VendorUrl: https://github.com/reduxjs/redux-thunk -│ ├─ redux@4.1.2 -│ │ ├─ URL: https://github.com/reduxjs/redux.git -│ │ └─ VendorUrl: http://redux.js.org/ -│ ├─ refractor@3.6.0 -│ │ ├─ URL: https://github.com/wooorm/refractor.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ regenerate-unicode-properties@10.0.1 -│ │ ├─ URL: https://github.com/mathiasbynens/regenerate-unicode-properties.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://github.com/mathiasbynens/regenerate-unicode-properties -│ ├─ regenerate@1.4.2 -│ │ ├─ URL: https://github.com/mathiasbynens/regenerate.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/regenerate -│ ├─ regenerator-runtime@0.13.9 -│ │ ├─ URL: https://github.com/facebook/regenerator/tree/master/packages/runtime -│ │ └─ VendorName: Ben Newman -│ ├─ regenerator-transform@0.14.5 -│ │ ├─ URL: https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform -│ │ └─ VendorName: Ben Newman -│ ├─ regex-not@1.0.2 -│ │ ├─ URL: https://github.com/jonschlinkert/regex-not.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/regex-not -│ ├─ regex-parser@2.2.11 -│ │ ├─ URL: git@github.com:IonicaBizau/regex-parser.js.git -│ │ ├─ VendorName: Ionică Bizău -│ │ └─ VendorUrl: https://github.com/IonicaBizau/regex-parser.js -│ ├─ regexp.prototype.flags@1.4.1 -│ │ ├─ URL: git://github.com/es-shims/RegExp.prototype.flags.git -│ │ └─ VendorName: Jordan Harband -│ ├─ regexpp@3.2.0 -│ │ ├─ URL: git+https://github.com/mysticatea/regexpp.git -│ │ ├─ VendorName: Toru Nagashima -│ │ └─ VendorUrl: https://github.com/mysticatea/regexpp#readme -│ ├─ regexpu-core@5.0.1 -│ │ ├─ URL: https://github.com/mathiasbynens/regexpu-core.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://mths.be/regexpu -│ ├─ regjsgen@0.6.0 -│ │ ├─ URL: https://github.com/bnjmnt4n/regjsgen.git -│ │ ├─ VendorName: Benjamin Tan -│ │ └─ VendorUrl: https://github.com/bnjmnt4n/regjsgen -│ ├─ relateurl@0.2.7 -│ │ ├─ URL: git://github.com/stevenvachon/relateurl.git -│ │ ├─ VendorName: Steven Vachon -│ │ └─ VendorUrl: https://github.com/stevenvachon/relateurl -│ ├─ remark-external-links@8.0.0 -│ │ ├─ URL: https://github.com/remarkjs/remark-external-links.git -│ │ └─ VendorName: Cédric Delpoux -│ ├─ remark-footnotes@2.0.0 -│ │ ├─ URL: https://github.com/remarkjs/remark-footnotes.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ remark-mdx@1.6.22 -│ │ ├─ URL: https://github.com/mdx-js/mdx.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://mdxjs.com/ -│ ├─ remark-parse@8.0.3 -│ │ ├─ URL: https://github.com/remarkjs/remark/tree/main/packages/remark-parse -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://remark.js.org/ -│ ├─ remark-slug@6.1.0 -│ │ ├─ URL: https://github.com/remarkjs/remark-slug.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ remark-squeeze-paragraphs@4.0.0 -│ │ ├─ URL: https://github.com/remarkjs/remark-squeeze-paragraphs.git -│ │ └─ VendorName: Eugene Sharygin -│ ├─ renderkid@2.0.7 -│ │ ├─ URL: https://github.com/AriaMinaei/RenderKid.git -│ │ └─ VendorName: Aria Minaei -│ ├─ renderkid@3.0.0 -│ │ ├─ URL: https://github.com/AriaMinaei/RenderKid.git -│ │ └─ VendorName: Aria Minaei -│ ├─ repeat-element@1.1.4 -│ │ ├─ URL: https://github.com/jonschlinkert/repeat-element.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/repeat-element -│ ├─ repeat-string@1.6.1 -│ │ ├─ URL: https://github.com/jonschlinkert/repeat-string.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/repeat-string -│ ├─ require-directory@2.1.1 -│ │ ├─ URL: git://github.com/troygoode/node-require-directory.git -│ │ ├─ VendorName: Troy Goode -│ │ └─ VendorUrl: https://github.com/troygoode/node-require-directory/ -│ ├─ require-from-string@2.0.2 -│ │ ├─ URL: https://github.com/floatdrop/require-from-string.git -│ │ ├─ VendorName: Vsevolod Strukchinsky -│ │ └─ VendorUrl: github.com/floatdrop -│ ├─ requires-port@1.0.0 -│ │ ├─ URL: https://github.com/unshiftio/requires-port -│ │ ├─ VendorName: Arnout Kazemier -│ │ └─ VendorUrl: https://github.com/unshiftio/requires-port -│ ├─ reselect@4.1.5 -│ │ └─ URL: https://github.com/reduxjs/reselect.git -│ ├─ reselect@4.1.6 -│ │ └─ URL: https://github.com/reduxjs/reselect.git -│ ├─ resize-observer-polyfill@1.5.1 -│ │ ├─ URL: https://github.com/que-etc/resize-observer-polyfill.git -│ │ ├─ VendorName: Denis Rul -│ │ └─ VendorUrl: https://github.com/que-etc/resize-observer-polyfill -│ ├─ resolve-cwd@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/resolve-cwd.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ resolve-from@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/resolve-from.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ resolve-from@5.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/resolve-from.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ resolve-url-loader@4.0.0 -│ │ ├─ URL: git+https://github.com/bholloway/resolve-url-loader.git -│ │ ├─ VendorName: bholloway -│ │ └─ VendorUrl: https://github.com/bholloway/resolve-url-loader/tree/v4-maintenance/packages/resolve-url-loader -│ ├─ resolve-url@0.2.1 -│ │ ├─ URL: https://github.com/lydell/resolve-url.git -│ │ └─ VendorName: Simon Lydell -│ ├─ resolve.exports@1.1.0 -│ │ ├─ URL: https://github.com/lukeed/resolve.exports.git -│ │ ├─ VendorName: Luke Edwards -│ │ └─ VendorUrl: https://lukeed.com -│ ├─ resolve@1.22.0 -│ │ ├─ URL: git://github.com/browserify/resolve.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ resolve@2.0.0-next.3 -│ │ ├─ URL: git://github.com/browserify/resolve.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ ret@0.1.15 -│ │ ├─ URL: git://github.com/fent/ret.js.git -│ │ ├─ VendorName: Roly Fentanes -│ │ └─ VendorUrl: https://github.com/fent -│ ├─ retry@0.13.1 -│ │ ├─ URL: git://github.com/tim-kos/node-retry.git -│ │ ├─ VendorName: Tim Koschützki -│ │ └─ VendorUrl: https://github.com/tim-kos/node-retry -│ ├─ reusify@1.0.4 -│ │ ├─ URL: git+https://github.com/mcollina/reusify.git -│ │ ├─ VendorName: Matteo Collina -│ │ └─ VendorUrl: https://github.com/mcollina/reusify#readme -│ ├─ rifm@0.12.1 -│ │ ├─ URL: https://github.com/istarkov/rifm.git -│ │ └─ VendorName: istarkov -│ ├─ ripemd160@2.0.2 -│ │ └─ URL: https://github.com/crypto-browserify/ripemd160 -│ ├─ rollup-plugin-peer-deps-external@2.2.4 -│ │ └─ URL: https://github.com/pmowrer/rollup-plugin-peer-deps-external.git -│ ├─ rollup-plugin-scss@3.0.0 -│ │ ├─ URL: https://github.com/thgh/rollup-plugin-scss -│ │ ├─ VendorName: Thomas Ghysels -│ │ └─ VendorUrl: https://github.com/thgh/rollup-plugin-scss -│ ├─ rollup-plugin-svg@2.0.0 -│ │ ├─ URL: git+https://github.com/antony/rollup-plugin-svg.git -│ │ ├─ VendorName: Antony Jones -│ │ └─ VendorUrl: https://github.com/antony/rollup-plugin-svg#readme -│ ├─ rollup-plugin-terser@7.0.2 -│ │ ├─ URL: git+https://github.com/TrySound/rollup-plugin-terser.git -│ │ └─ VendorName: Bogdan Chadkin -│ ├─ rollup-pluginutils@1.5.2 -│ │ ├─ URL: git+https://github.com/rollup/rollup-pluginutils.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/rollup/rollup-pluginutils#readme -│ ├─ rollup-pluginutils@2.8.2 -│ │ ├─ URL: https://github.com/rollup/rollup-pluginutils.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/rollup/rollup-pluginutils#readme -│ ├─ rollup@2.70.1 -│ │ ├─ URL: https://github.com/rollup/rollup.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://rollupjs.org/ -│ ├─ rsvp@4.8.5 -│ │ ├─ URL: https://github.com/tildeio/rsvp.js.git -│ │ ├─ VendorName: Tilde, Inc. & Stefan Penner -│ │ └─ VendorUrl: https://github.com/tildeio/rsvp.js -│ ├─ run-parallel@1.2.0 -│ │ ├─ URL: git://github.com/feross/run-parallel.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: https://github.com/feross/run-parallel -│ ├─ safe-buffer@5.1.1 -│ │ ├─ URL: git://github.com/feross/safe-buffer.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: https://github.com/feross/safe-buffer -│ ├─ safe-buffer@5.1.2 -│ │ ├─ URL: git://github.com/feross/safe-buffer.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: https://github.com/feross/safe-buffer -│ ├─ safe-buffer@5.2.1 -│ │ ├─ URL: git://github.com/feross/safe-buffer.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: https://github.com/feross/safe-buffer -│ ├─ safe-regex@1.1.0 -│ │ ├─ URL: git://github.com/substack/safe-regex.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/safe-regex -│ ├─ safer-buffer@2.1.2 -│ │ ├─ URL: git+https://github.com/ChALkeR/safer-buffer.git -│ │ ├─ VendorName: Nikita Skovoroda -│ │ └─ VendorUrl: https://github.com/ChALkeR -│ ├─ sane@4.1.0 -│ │ ├─ URL: https://github.com/amasad/sane -│ │ ├─ VendorName: amasad -│ │ └─ VendorUrl: https://github.com/amasad/sane -│ ├─ sass-loader@12.6.0 -│ │ ├─ URL: https://github.com/webpack-contrib/sass-loader.git -│ │ ├─ VendorName: J. Tangelder -│ │ └─ VendorUrl: https://github.com/webpack-contrib/sass-loader -│ ├─ sass@1.49.9 -│ │ ├─ URL: https://github.com/sass/dart-sass -│ │ ├─ VendorName: Natalie Weizenbaum -│ │ └─ VendorUrl: https://github.com/sass/dart-sass -│ ├─ scheduler@0.20.2 -│ │ ├─ URL: https://github.com/facebook/react.git -│ │ └─ VendorUrl: https://reactjs.org/ -│ ├─ schema-utils@1.0.0 -│ │ ├─ URL: https://github.com/webpack-contrib/schema-utils -│ │ ├─ VendorName: webpack Contrib -│ │ └─ VendorUrl: https://github.com/webpack-contrib/schema-utils -│ ├─ schema-utils@2.7.0 -│ │ ├─ URL: https://github.com/webpack/schema-utils.git -│ │ ├─ VendorName: webpack Contrib -│ │ └─ VendorUrl: https://github.com/webpack/schema-utils -│ ├─ schema-utils@2.7.1 -│ │ ├─ URL: https://github.com/webpack/schema-utils.git -│ │ ├─ VendorName: webpack Contrib -│ │ └─ VendorUrl: https://github.com/webpack/schema-utils -│ ├─ schema-utils@3.1.1 -│ │ ├─ URL: https://github.com/webpack/schema-utils.git -│ │ ├─ VendorName: webpack Contrib -│ │ └─ VendorUrl: https://github.com/webpack/schema-utils -│ ├─ schema-utils@4.0.0 -│ │ ├─ URL: https://github.com/webpack/schema-utils.git -│ │ ├─ VendorName: webpack Contrib -│ │ └─ VendorUrl: https://github.com/webpack/schema-utils -│ ├─ select-hose@2.0.0 -│ │ ├─ URL: git+ssh://git@github.com/indutny/select-hose.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/select-hose#readme -│ ├─ selfsigned@2.0.0 -│ │ ├─ URL: git://github.com/jfromaniello/selfsigned.git -│ │ ├─ VendorName: José F. Romaniello -│ │ └─ VendorUrl: http://joseoncode.com -│ ├─ send@0.17.2 -│ │ ├─ URL: https://github.com/pillarjs/send.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ serve-favicon@2.5.0 -│ │ ├─ URL: https://github.com/expressjs/serve-favicon.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ serve-index@1.9.1 -│ │ ├─ URL: https://github.com/expressjs/serve-index.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ serve-static@1.14.2 -│ │ ├─ URL: https://github.com/expressjs/serve-static.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ set-value@2.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/set-value.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/set-value -│ ├─ setimmediate@1.0.5 -│ │ ├─ URL: https://github.com/YuzuJS/setImmediate.git -│ │ └─ VendorName: YuzuJS -│ ├─ shallow-clone@3.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/shallow-clone.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/shallow-clone -│ ├─ shallowequal@1.1.0 -│ │ ├─ URL: https://github.com/dashed/shallowequal.git -│ │ ├─ VendorName: Alberto Leal -│ │ └─ VendorUrl: github.com/dashed -│ ├─ shebang-command@1.2.0 -│ │ ├─ URL: https://github.com/kevva/shebang-command.git -│ │ ├─ VendorName: Kevin Martensson -│ │ └─ VendorUrl: github.com/kevva -│ ├─ shebang-command@2.0.0 -│ │ ├─ URL: https://github.com/kevva/shebang-command.git -│ │ ├─ VendorName: Kevin Mårtensson -│ │ └─ VendorUrl: github.com/kevva -│ ├─ shebang-regex@1.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/shebang-regex.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ shebang-regex@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/shebang-regex.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ shell-quote@1.7.3 -│ │ ├─ URL: http://github.com/substack/node-shell-quote.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/node-shell-quote -│ ├─ side-channel@1.0.4 -│ │ ├─ URL: git+https://github.com/ljharb/side-channel.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/side-channel#readme -│ ├─ sisteransi@1.0.5 -│ │ ├─ URL: https://github.com/terkelg/sisteransi -│ │ ├─ VendorName: Terkel Gjervig -│ │ └─ VendorUrl: https://terkel.com -│ ├─ slash@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/slash.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ slash@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/slash.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ slash@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/slash.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ slick-carousel@1.8.1 -│ │ ├─ URL: https://github.com/kenwheeler/slick.git -│ │ └─ VendorName: Ken Wheeler -│ ├─ snapdragon-node@2.1.1 -│ │ ├─ URL: https://github.com/jonschlinkert/snapdragon-node.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/snapdragon-node -│ ├─ snapdragon-util@3.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/snapdragon-util.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/snapdragon-util -│ ├─ snapdragon@0.8.2 -│ │ ├─ URL: https://github.com/jonschlinkert/snapdragon.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/snapdragon -│ ├─ sockjs@0.3.24 -│ │ ├─ URL: https://github.com/sockjs/sockjs-node.git -│ │ ├─ VendorName: Marek Majkowski -│ │ └─ VendorUrl: https://github.com/sockjs/sockjs-node -│ ├─ source-list-map@2.0.1 -│ │ ├─ URL: https://github.com/webpack/source-list-map.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/source-list-map -│ ├─ source-map-loader@3.0.1 -│ │ ├─ URL: https://github.com/webpack-contrib/source-map-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/source-map-loader -│ ├─ source-map-resolve@0.5.3 -│ │ ├─ URL: https://github.com/lydell/source-map-resolve.git -│ │ └─ VendorName: Simon Lydell -│ ├─ source-map-resolve@0.6.0 -│ │ ├─ URL: https://github.com/lydell/source-map-resolve.git -│ │ └─ VendorName: Simon Lydell -│ ├─ source-map-support@0.5.21 -│ │ └─ URL: https://github.com/evanw/node-source-map-support -│ ├─ source-map-url@0.4.1 -│ │ ├─ URL: https://github.com/lydell/source-map-url.git -│ │ └─ VendorName: Simon Lydell -│ ├─ sourcemap-codec@1.4.8 -│ │ ├─ URL: https://github.com/Rich-Harris/sourcemap-codec -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/Rich-Harris/sourcemap-codec -│ ├─ space-separated-tokens@1.1.5 -│ │ ├─ URL: https://github.com/wooorm/space-separated-tokens.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ spdx-expression-parse@3.0.1 -│ │ ├─ URL: https://github.com/jslicense/spdx-expression-parse.js.git -│ │ ├─ VendorName: Kyle E. Mitchell -│ │ └─ VendorUrl: https://kemitchell.com -│ ├─ spdy-transport@3.0.0 -│ │ ├─ URL: git://github.com/spdy-http2/spdy-transport.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/spdy-http2/spdy-transport -│ ├─ spdy@4.0.2 -│ │ ├─ URL: git://github.com/indutny/node-spdy.git -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/node-spdy -│ ├─ split-string@3.1.0 -│ │ ├─ URL: https://github.com/jonschlinkert/split-string.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/split-string -│ ├─ stable@0.1.8 -│ │ ├─ URL: https://github.com/Two-Screen/stable.git -│ │ └─ VendorName: Angry Bytes -│ ├─ stack-utils@2.0.5 -│ │ ├─ URL: https://github.com/tapjs/stack-utils.git -│ │ ├─ VendorName: James Talmage -│ │ └─ VendorUrl: github.com/jamestalmage -│ ├─ stackframe@1.2.1 -│ │ ├─ URL: git://github.com/stacktracejs/stackframe.git -│ │ └─ VendorUrl: https://www.stacktracejs.com/ -│ ├─ state-toggle@1.0.3 -│ │ ├─ URL: https://github.com/wooorm/state-toggle.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ static-extend@0.1.2 -│ │ ├─ URL: https://github.com/jonschlinkert/static-extend.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/static-extend -│ ├─ statuses@1.5.0 -│ │ └─ URL: https://github.com/jshttp/statuses.git -│ ├─ stream-browserify@2.0.2 -│ │ ├─ URL: git://github.com/browserify/stream-browserify.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/browserify/stream-browserify -│ ├─ stream-each@1.2.3 -│ │ ├─ URL: https://github.com/mafintosh/stream-each.git -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/stream-each -│ ├─ stream-http@2.8.3 -│ │ ├─ URL: git://github.com/jhiesey/stream-http.git -│ │ ├─ VendorName: John Hiesey -│ │ └─ VendorUrl: https://github.com/jhiesey/stream-http#readme -│ ├─ stream-shift@1.0.1 -│ │ ├─ URL: https://github.com/mafintosh/stream-shift.git -│ │ ├─ VendorName: Mathias Buus -│ │ └─ VendorUrl: https://github.com/mafintosh/stream-shift -│ ├─ string_decoder@1.1.1 -│ │ ├─ URL: git://github.com/nodejs/string_decoder.git -│ │ └─ VendorUrl: https://github.com/nodejs/string_decoder -│ ├─ string_decoder@1.3.0 -│ │ ├─ URL: git://github.com/nodejs/string_decoder.git -│ │ └─ VendorUrl: https://github.com/nodejs/string_decoder -│ ├─ string-convert@0.2.1 -│ │ └─ URL: https://github.com/akiran/string-convert -│ ├─ string-length@4.0.2 -│ │ ├─ URL: https://github.com/sindresorhus/string-length.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ string-length@5.0.1 -│ │ ├─ URL: https://github.com/sindresorhus/string-length.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ string-natural-compare@3.0.1 -│ │ ├─ URL: https://github.com/nwoltman/string-natural-compare.git -│ │ ├─ VendorName: Nathan Woltman -│ │ └─ VendorUrl: https://github.com/nwoltman/string-natural-compare -│ ├─ string-width@4.2.3 -│ │ ├─ URL: https://github.com/sindresorhus/string-width.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ string.prototype.matchall@4.0.7 -│ │ ├─ URL: git+https://github.com/es-shims/String.prototype.matchAll.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/es-shims/String.prototype.matchAll#readme -│ ├─ string.prototype.padend@3.1.3 -│ │ ├─ URL: git://github.com/es-shims/String.prototype.padEnd.git -│ │ └─ VendorName: Jordan Harband -│ ├─ string.prototype.padstart@3.1.3 -│ │ ├─ URL: git://github.com/es-shims/String.prototype.padStart.git -│ │ └─ VendorName: Jordan Harband -│ ├─ string.prototype.trimend@1.0.4 -│ │ ├─ URL: git://github.com/es-shims/String.prototype.trimEnd.git -│ │ └─ VendorName: Jordan Harband -│ ├─ string.prototype.trimstart@1.0.4 -│ │ ├─ URL: git://github.com/es-shims/String.prototype.trimStart.git -│ │ └─ VendorName: Jordan Harband -│ ├─ strip-ansi@3.0.1 -│ │ ├─ URL: https://github.com/chalk/strip-ansi.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ strip-ansi@6.0.1 -│ │ ├─ URL: https://github.com/chalk/strip-ansi.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ strip-ansi@7.0.1 -│ │ ├─ URL: https://github.com/chalk/strip-ansi.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ strip-bom@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/strip-bom.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ strip-bom@4.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/strip-bom.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ strip-comments@2.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/strip-comments.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/strip-comments -│ ├─ strip-eof@1.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/strip-eof.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ strip-final-newline@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/strip-final-newline.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ strip-indent@3.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/strip-indent.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ strip-json-comments@3.1.1 -│ │ ├─ URL: https://github.com/sindresorhus/strip-json-comments.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ style-loader@1.3.0 -│ │ ├─ URL: https://github.com/webpack-contrib/style-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/style-loader -│ ├─ style-loader@2.0.0 -│ │ ├─ URL: https://github.com/webpack-contrib/style-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/style-loader -│ ├─ style-loader@3.3.1 -│ │ ├─ URL: https://github.com/webpack-contrib/style-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/style-loader -│ ├─ style-to-object@0.3.0 -│ │ ├─ URL: https://github.com/remarkablemark/style-to-object -│ │ └─ VendorName: Mark -│ ├─ styled-components@5.3.3 -│ │ ├─ URL: git+https://github.com/styled-components/styled-components.git -│ │ ├─ VendorName: Glen Maddern -│ │ └─ VendorUrl: https://styled-components.com/ -│ ├─ stylehacks@5.1.0 -│ │ ├─ URL: https://github.com/cssnano/cssnano.git -│ │ ├─ VendorName: Ben Briggs -│ │ └─ VendorUrl: https://github.com/cssnano/cssnano -│ ├─ stylis@4.0.13 -│ │ ├─ URL: https://github.com/thysultan/stylis.js -│ │ ├─ VendorName: Sultan Tarimo -│ │ └─ VendorUrl: https://github.com/thysultan/stylis.js -│ ├─ supports-color@5.5.0 -│ │ ├─ URL: https://github.com/chalk/supports-color.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ supports-color@7.2.0 -│ │ ├─ URL: https://github.com/chalk/supports-color.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ supports-color@8.1.1 -│ │ ├─ URL: https://github.com/chalk/supports-color.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ supports-hyperlinks@2.2.0 -│ │ ├─ URL: https://github.com/jamestalmage/supports-hyperlinks.git -│ │ ├─ VendorName: James Talmage -│ │ └─ VendorUrl: github.com/jamestalmage -│ ├─ supports-preserve-symlinks-flag@1.0.0 -│ │ ├─ URL: git+https://github.com/inspect-js/node-supports-preserve-symlinks-flag.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/node-supports-preserve-symlinks-flag#readme -│ ├─ svg-parser@2.0.4 -│ │ ├─ URL: git+https://github.com/Rich-Harris/svg-parser.git -│ │ ├─ VendorName: Rich Harris -│ │ └─ VendorUrl: https://github.com/Rich-Harris/svg-parser#README -│ ├─ svgo@1.3.2 -│ │ ├─ URL: git://github.com/svg/svgo.git -│ │ ├─ VendorName: Kir Belevich -│ │ └─ VendorUrl: https://github.com/svg/svgo -│ ├─ svgo@2.8.0 -│ │ ├─ URL: git://github.com/svg/svgo.git -│ │ ├─ VendorName: Kir Belevich -│ │ └─ VendorUrl: https://github.com/svg/svgo -│ ├─ symbol-tree@3.2.4 -│ │ ├─ URL: https://github.com/jsdom/js-symbol-tree.git -│ │ ├─ VendorName: Joris van der Wel -│ │ └─ VendorUrl: https://github.com/jsdom/js-symbol-tree#symbol-tree -│ ├─ symbol.prototype.description@1.0.5 -│ │ ├─ URL: git@github.com:es-shims/Symbol.prototype.description.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/es-shims/Symbol.prototype.description#readme -│ ├─ tailwindcss@3.0.23 -│ │ ├─ URL: https://github.com/tailwindlabs/tailwindcss.git -│ │ └─ VendorUrl: https://tailwindcss.com/ -│ ├─ tapable@1.1.3 -│ │ ├─ URL: http://github.com/webpack/tapable.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/tapable -│ ├─ tapable@2.2.1 -│ │ ├─ URL: http://github.com/webpack/tapable.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/tapable -│ ├─ telejson@5.3.3 -│ │ ├─ URL: https://github.com/storybooks/telejson.git -│ │ └─ VendorUrl: https://github.com/storybooks/telejson -│ ├─ temp-dir@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/temp-dir.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ tempy@0.6.0 -│ │ ├─ URL: https://github.com/sindresorhus/tempy.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ terminal-link@2.1.1 -│ │ ├─ URL: https://github.com/sindresorhus/terminal-link.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ terser-webpack-plugin@1.4.5 -│ │ ├─ URL: https://github.com/webpack-contrib/terser-webpack-plugin.git -│ │ ├─ VendorName: webpack Contrib Team -│ │ └─ VendorUrl: https://github.com/webpack-contrib/terser-webpack-plugin -│ ├─ terser-webpack-plugin@4.2.3 -│ │ ├─ URL: https://github.com/webpack-contrib/terser-webpack-plugin.git -│ │ ├─ VendorName: webpack Contrib Team -│ │ └─ VendorUrl: https://github.com/webpack-contrib/terser-webpack-plugin -│ ├─ terser-webpack-plugin@5.3.1 -│ │ ├─ URL: https://github.com/webpack-contrib/terser-webpack-plugin.git -│ │ ├─ VendorName: webpack Contrib Team -│ │ └─ VendorUrl: https://github.com/webpack-contrib/terser-webpack-plugin -│ ├─ text-table@0.2.0 -│ │ ├─ URL: git://github.com/substack/text-table.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/text-table -│ ├─ throat@6.0.1 -│ │ ├─ URL: https://github.com/ForbesLindesay/throat.git -│ │ └─ VendorName: ForbesLindesay -│ ├─ throttle-debounce@3.0.1 -│ │ ├─ URL: git+https://github.com/niksy/throttle-debounce.git -│ │ ├─ VendorName: Ivan Nikolić -│ │ └─ VendorUrl: https://github.com/niksy/throttle-debounce#readme -│ ├─ through2@2.0.5 -│ │ ├─ URL: https://github.com/rvagg/through2.git -│ │ ├─ VendorName: Rod Vagg -│ │ └─ VendorUrl: https://github.com/rvagg -│ ├─ thunky@1.1.0 -│ │ ├─ URL: git://github.com/mafintosh/thunky.git -│ │ ├─ VendorName: Mathias Buus Madsen -│ │ └─ VendorUrl: https://github.com/mafintosh/thunky#readme -│ ├─ timers-browserify@2.0.12 -│ │ ├─ URL: git://github.com/jryans/timers-browserify.git -│ │ ├─ VendorName: J. Ryan Stinnett -│ │ └─ VendorUrl: https://github.com/jryans/timers-browserify -│ ├─ timsort@0.3.0 -│ │ ├─ URL: https://github.com/mziccard/node-timsort.git -│ │ ├─ VendorName: Marco Ziccardi -│ │ └─ VendorUrl: https://github.com/mziccard/node-timsort -│ ├─ to-arraybuffer@1.0.1 -│ │ ├─ URL: git://github.com/jhiesey/to-arraybuffer.git -│ │ ├─ VendorName: John Hiesey -│ │ └─ VendorUrl: https://github.com/jhiesey/to-arraybuffer#readme -│ ├─ to-fast-properties@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/to-fast-properties.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ to-object-path@0.3.0 -│ │ ├─ URL: https://github.com/jonschlinkert/to-object-path.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/to-object-path -│ ├─ to-regex-range@2.1.1 -│ │ ├─ URL: https://github.com/micromatch/to-regex-range.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/to-regex-range -│ ├─ to-regex-range@5.0.1 -│ │ ├─ URL: https://github.com/micromatch/to-regex-range.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/micromatch/to-regex-range -│ ├─ to-regex@3.0.2 -│ │ ├─ URL: https://github.com/jonschlinkert/to-regex.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/to-regex -│ ├─ toggle-selection@1.0.6 -│ │ ├─ URL: git+https://github.com/sudodoki/toggle-selection -│ │ ├─ VendorName: sudodoki -│ │ └─ VendorUrl: sudodoki.name -│ ├─ toidentifier@1.0.1 -│ │ ├─ URL: https://github.com/component/toidentifier.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ tr46@0.0.3 -│ │ ├─ URL: git+https://github.com/Sebmaster/tr46.js.git -│ │ ├─ VendorName: Sebastian Mayr -│ │ └─ VendorUrl: https://github.com/Sebmaster/tr46.js#readme -│ ├─ tr46@1.0.1 -│ │ ├─ URL: https://github.com/Sebmaster/tr46.js.git -│ │ └─ VendorName: Sebastian Mayr -│ ├─ tr46@2.1.0 -│ │ ├─ URL: https://github.com/jsdom/tr46 -│ │ └─ VendorName: Sebastian Mayr -│ ├─ trim-trailing-lines@1.1.4 -│ │ ├─ URL: https://github.com/wooorm/trim-trailing-lines.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ trim@0.0.3 -│ │ ├─ URL: https://github.com/component/trim.git -│ │ └─ VendorName: TJ Holowaychuk -│ ├─ trough@1.0.5 -│ │ ├─ URL: https://github.com/wooorm/trough.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ tryer@1.0.1 -│ │ ├─ URL: git+https://gitlab.com/philbooth/tryer.git -│ │ ├─ VendorName: Phil Booth -│ │ └─ VendorUrl: https://gitlab.com/philbooth/tryer -│ ├─ ts-dedent@2.2.0 -│ │ ├─ URL: https://github.com/tamino-martinius/node-ts-dedent.git -│ │ └─ VendorName: Tamino Martinius -│ ├─ ts-pnp@1.2.0 -│ │ ├─ URL: https://github.com/arcanis/ts-pnp.git -│ │ └─ VendorUrl: https://github.com/arcanis/ts-pnp -│ ├─ tsconfig-paths@3.14.0 -│ │ ├─ URL: https://github.com/dividab/tsconfig-paths -│ │ └─ VendorName: Jonas Kello -│ ├─ tsutils@3.21.0 -│ │ ├─ URL: https://github.com/ajafff/tsutils -│ │ └─ VendorName: Klaus Meinhardt -│ ├─ tty-browserify@0.0.0 -│ │ ├─ URL: git://github.com/substack/tty-browserify.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/tty-browserify -│ ├─ type-check@0.3.2 -│ │ ├─ URL: git://github.com/gkz/type-check.git -│ │ ├─ VendorName: George Zahariev -│ │ └─ VendorUrl: https://github.com/gkz/type-check -│ ├─ type-check@0.4.0 -│ │ ├─ URL: git://github.com/gkz/type-check.git -│ │ ├─ VendorName: George Zahariev -│ │ └─ VendorUrl: https://github.com/gkz/type-check -│ ├─ type-detect@4.0.8 -│ │ ├─ URL: git+ssh://git@github.com/chaijs/type-detect.git -│ │ ├─ VendorName: Jake Luer -│ │ └─ VendorUrl: http://alogicalparadox.com -│ ├─ type-is@1.6.18 -│ │ └─ URL: https://github.com/jshttp/type-is.git -│ ├─ typedarray-to-buffer@3.1.5 -│ │ ├─ URL: git://github.com/feross/typedarray-to-buffer.git -│ │ ├─ VendorName: Feross Aboukhadijeh -│ │ └─ VendorUrl: http://feross.org/ -│ ├─ typedarray@0.0.6 -│ │ ├─ URL: git://github.com/substack/typedarray.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: https://github.com/substack/typedarray -│ ├─ unbox-primitive@1.0.1 -│ │ ├─ URL: git+https://github.com/ljharb/unbox-primitive.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/unbox-primitive#readme -│ ├─ unfetch@4.2.0 -│ │ ├─ URL: https://github.com/developit/unfetch.git -│ │ └─ VendorUrl: https://github.com/developit/unfetch -│ ├─ unherit@1.1.3 -│ │ ├─ URL: https://github.com/wooorm/unherit.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ unicode-canonical-property-names-ecmascript@2.0.0 -│ │ ├─ URL: https://github.com/mathiasbynens/unicode-canonical-property-names-ecmascript.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://github.com/mathiasbynens/unicode-canonical-property-names-ecmascript -│ ├─ unicode-match-property-ecmascript@2.0.0 -│ │ ├─ URL: https://github.com/mathiasbynens/unicode-match-property-ecmascript.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://github.com/mathiasbynens/unicode-match-property-ecmascript -│ ├─ unicode-match-property-value-ecmascript@2.0.0 -│ │ ├─ URL: https://github.com/mathiasbynens/unicode-match-property-value-ecmascript.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://github.com/mathiasbynens/unicode-match-property-value-ecmascript -│ ├─ unicode-property-aliases-ecmascript@2.0.0 -│ │ ├─ URL: https://github.com/mathiasbynens/unicode-property-aliases-ecmascript.git -│ │ ├─ VendorName: Mathias Bynens -│ │ └─ VendorUrl: https://github.com/mathiasbynens/unicode-property-aliases-ecmascript -│ ├─ unified@9.2.0 -│ │ ├─ URL: https://github.com/unifiedjs/unified.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://unifiedjs.com/ -│ ├─ union-value@1.0.1 -│ │ ├─ URL: https://github.com/jonschlinkert/union-value.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/union-value -│ ├─ unique-string@2.0.0 -│ │ ├─ URL: https://github.com/sindresorhus/unique-string.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ unist-builder@2.0.3 -│ │ ├─ URL: https://github.com/syntax-tree/unist-builder.git -│ │ └─ VendorName: Eugene Sharygin -│ ├─ unist-util-generated@1.1.6 -│ │ ├─ URL: https://github.com/syntax-tree/unist-util-generated.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ unist-util-is@4.1.0 -│ │ ├─ URL: https://github.com/syntax-tree/unist-util-is.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ unist-util-position@3.1.0 -│ │ ├─ URL: https://github.com/syntax-tree/unist-util-position.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ unist-util-remove-position@2.0.1 -│ │ ├─ URL: https://github.com/syntax-tree/unist-util-remove-position.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ unist-util-remove@2.1.0 -│ │ ├─ URL: https://github.com/syntax-tree/unist-util-remove.git -│ │ └─ VendorName: Eugene Sharygin -│ ├─ unist-util-stringify-position@2.0.3 -│ │ ├─ URL: https://github.com/syntax-tree/unist-util-stringify-position.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ unist-util-visit-parents@3.1.1 -│ │ ├─ URL: https://github.com/syntax-tree/unist-util-visit-parents.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ unist-util-visit@2.0.3 -│ │ ├─ URL: https://github.com/syntax-tree/unist-util-visit.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ universalify@0.1.2 -│ │ ├─ URL: git+https://github.com/RyanZim/universalify.git -│ │ ├─ VendorName: Ryan Zimmerman -│ │ └─ VendorUrl: https://github.com/RyanZim/universalify#readme -│ ├─ universalify@2.0.0 -│ │ ├─ URL: git+https://github.com/RyanZim/universalify.git -│ │ ├─ VendorName: Ryan Zimmerman -│ │ └─ VendorUrl: https://github.com/RyanZim/universalify#readme -│ ├─ unpipe@1.0.0 -│ │ ├─ URL: https://github.com/stream-utils/unpipe.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ unquote@1.1.1 -│ │ ├─ URL: https://github.com/lakenen/node-unquote.git -│ │ ├─ VendorName: Cameron Lakenen -│ │ └─ VendorUrl: https://github.com/lakenen/node-unquote -│ ├─ unset-value@1.0.0 -│ │ ├─ URL: https://github.com/jonschlinkert/unset-value.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/unset-value -│ ├─ upath@1.2.0 -│ │ ├─ URL: git://github.com/anodynos/upath -│ │ ├─ VendorName: Angelos Pikoulas -│ │ └─ VendorUrl: http://github.com/anodynos/upath/ -│ ├─ urix@0.1.0 -│ │ ├─ URL: https://github.com/lydell/urix.git -│ │ └─ VendorName: Simon Lydell -│ ├─ url-loader@4.1.1 -│ │ ├─ URL: https://github.com/webpack-contrib/url-loader.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack-contrib/url-loader -│ ├─ url@0.11.0 -│ │ └─ URL: https://github.com/defunctzombie/node-url.git -│ ├─ use-composed-ref@1.2.1 -│ │ ├─ URL: git+https://github.com/Andarist/use-composed-ref.git -│ │ └─ VendorUrl: https://github.com/Andarist/use-composed-ref#readme -│ ├─ use-isomorphic-layout-effect@1.1.1 -│ │ ├─ URL: git+https://github.com/Andarist/use-isomorphic-layout-effect.git -│ │ └─ VendorUrl: https://github.com/Andarist/use-isomorphic-layout-effect#readme -│ ├─ use-latest@1.2.0 -│ │ ├─ URL: git+https://github.com/Andarist/use-latest.git -│ │ └─ VendorUrl: https://github.com/Andarist/use-latest#readme -│ ├─ use@3.1.1 -│ │ ├─ URL: https://github.com/jonschlinkert/use.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/use -│ ├─ util-deprecate@1.0.2 -│ │ ├─ URL: git://github.com/TooTallNate/util-deprecate.git -│ │ ├─ VendorName: Nathan Rajlich -│ │ └─ VendorUrl: https://github.com/TooTallNate/util-deprecate -│ ├─ util.promisify@1.0.0 -│ │ ├─ URL: git+https://github.com/ljharb/util.promisify.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/util.promisify#readme -│ ├─ util.promisify@1.0.1 -│ │ ├─ URL: git+https://github.com/ljharb/util.promisify.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/ljharb/util.promisify#readme -│ ├─ util@0.10.3 -│ │ ├─ URL: git://github.com/defunctzombie/node-util -│ │ ├─ VendorName: Joyent -│ │ └─ VendorUrl: https://github.com/defunctzombie/node-util -│ ├─ util@0.11.1 -│ │ ├─ URL: git://github.com/defunctzombie/node-util -│ │ ├─ VendorName: Joyent -│ │ └─ VendorUrl: https://github.com/defunctzombie/node-util -│ ├─ utila@0.4.0 -│ │ ├─ URL: https://github.com/AriaMinaei/utila.git -│ │ └─ VendorName: Aria Minaei -│ ├─ utils-merge@1.0.1 -│ │ ├─ URL: git://github.com/jaredhanson/utils-merge.git -│ │ ├─ VendorName: Jared Hanson -│ │ └─ VendorUrl: http://www.jaredhanson.net/ -│ ├─ uuid-browser@3.1.0 -│ │ ├─ URL: https://github.com/heikomat/uuid-browser.git -│ │ └─ VendorName: Heiko Mathes -│ ├─ uuid@3.4.0 -│ │ └─ URL: https://github.com/uuidjs/uuid.git -│ ├─ uuid@8.3.2 -│ │ └─ URL: https://github.com/uuidjs/uuid.git -│ ├─ v8-compile-cache@2.3.0 -│ │ ├─ URL: https://github.com/zertosh/v8-compile-cache.git -│ │ └─ VendorName: Andres Suarez -│ ├─ vary@1.1.2 -│ │ ├─ URL: https://github.com/jshttp/vary.git -│ │ └─ VendorName: Douglas Christopher Wilson -│ ├─ vfile-location@3.2.0 -│ │ ├─ URL: https://github.com/vfile/vfile-location.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ vfile-message@2.0.4 -│ │ ├─ URL: https://github.com/vfile/vfile-message.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ vfile@4.2.1 -│ │ ├─ URL: https://github.com/vfile/vfile.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ vm-browserify@1.1.2 -│ │ ├─ URL: http://github.com/substack/vm-browserify.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ void-elements@3.1.0 -│ │ ├─ URL: https://github.com/pugjs/void-elements.git -│ │ ├─ VendorName: hemanth.hm -│ │ └─ VendorUrl: https://github.com/jadejs/void-elements -│ ├─ w3c-hr-time@1.0.2 -│ │ ├─ URL: https://github.com/jsdom/w3c-hr-time -│ │ └─ VendorName: Timothy Gu -│ ├─ w3c-xmlserializer@2.0.0 -│ │ └─ URL: https://github.com/jsdom/w3c-xmlserializer.git -│ ├─ wait-for-expect@3.0.2 -│ │ ├─ URL: https://github.com/TheBrainFamily/wait-for-expect.git -│ │ ├─ VendorName: Lukasz Gandecki -│ │ └─ VendorUrl: https://github.com/TheBrainFamily/wait-for-expect#readme -│ ├─ warning@4.0.3 -│ │ ├─ URL: https://github.com/BerkeleyTrue/warning.git -│ │ ├─ VendorName: Berkeley Martinez -│ │ └─ VendorUrl: https://github.com/BerkeleyTrue/warning -│ ├─ watchpack-chokidar2@2.0.1 -│ │ ├─ URL: https://github.com/webpack/watchpack.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/watchpack -│ ├─ watchpack@1.7.5 -│ │ ├─ URL: https://github.com/webpack/watchpack.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/watchpack -│ ├─ watchpack@2.3.1 -│ │ ├─ URL: https://github.com/webpack/watchpack.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/watchpack -│ ├─ watchpack@2.4.0 -│ │ ├─ URL: https://github.com/webpack/watchpack.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/watchpack -│ ├─ wbuf@1.7.3 -│ │ ├─ URL: git@github.com:indutny/wbuf -│ │ ├─ VendorName: Fedor Indutny -│ │ └─ VendorUrl: https://github.com/indutny/wbuf -│ ├─ web-namespaces@1.1.4 -│ │ ├─ URL: https://github.com/wooorm/web-namespaces.git -│ │ ├─ VendorName: Titus Wormer -│ │ └─ VendorUrl: https://wooorm.com -│ ├─ webpack-cli@4.9.2 -│ │ ├─ URL: https://github.com/webpack/webpack-cli.git -│ │ └─ VendorUrl: https://github.com/webpack/webpack-cli/tree/master/packages/webpack-cli -│ ├─ webpack-dev-middleware@3.7.3 -│ │ ├─ URL: https://github.com/webpack/webpack-dev-middleware.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack-dev-middleware -│ ├─ webpack-dev-middleware@4.3.0 -│ │ ├─ URL: https://github.com/webpack/webpack-dev-middleware.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack-dev-middleware -│ ├─ webpack-dev-middleware@5.3.1 -│ │ ├─ URL: https://github.com/webpack/webpack-dev-middleware.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack-dev-middleware -│ ├─ webpack-dev-server@4.7.4 -│ │ ├─ URL: https://github.com/webpack/webpack-dev-server.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack-dev-server#readme -│ ├─ webpack-filter-warnings-plugin@1.2.1 -│ │ ├─ URL: git+https://github.com/mattlewis92/webpack-filter-warnings-plugin.git -│ │ ├─ VendorName: Matt Lewis -│ │ └─ VendorUrl: https://github.com/mattlewis92/webpack-filter-warnings-plugin#readme -│ ├─ webpack-hot-middleware@2.25.1 -│ │ ├─ URL: https://github.com/webpack-contrib/webpack-hot-middleware.git -│ │ └─ VendorName: Glen Mailer -│ ├─ webpack-log@2.0.0 -│ │ ├─ URL: https://github.com/webpack-contrib/webpack-log.git -│ │ ├─ VendorName: Andrew Powell -│ │ └─ VendorUrl: https://github.com/webpack-contrib/webpack-log#readme -│ ├─ webpack-manifest-plugin@4.1.1 -│ │ ├─ URL: https://github.com/shellscape/webpack-manifest-plugin.git -│ │ ├─ VendorName: Dane Thurber -│ │ └─ VendorUrl: https://github.com/shellscape/webpack-manifest-plugin -│ ├─ webpack-merge@5.8.0 -│ │ ├─ URL: https://github.com/survivejs/webpack-merge.git -│ │ ├─ VendorName: Juho Vepsalainen -│ │ └─ VendorUrl: https://github.com/survivejs/webpack-merge -│ ├─ webpack-sources@1.4.3 -│ │ ├─ URL: git+https://github.com/webpack/webpack-sources.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack-sources#readme -│ ├─ webpack-sources@2.3.1 -│ │ ├─ URL: git+https://github.com/webpack/webpack-sources.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack-sources#readme -│ ├─ webpack-sources@3.2.3 -│ │ ├─ URL: git+https://github.com/webpack/webpack-sources.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack-sources#readme -│ ├─ webpack-virtual-modules@0.2.2 -│ │ ├─ URL: git+https://github.com/sysgears/webpack-virtual-modules.git -│ │ ├─ VendorName: SysGears INC -│ │ └─ VendorUrl: https://github.com/sysgears/webpack-virtual-modules#readme -│ ├─ webpack-virtual-modules@0.4.3 -│ │ ├─ URL: git+https://github.com/sysgears/webpack-virtual-modules.git -│ │ ├─ VendorName: SysGears INC -│ │ └─ VendorUrl: https://github.com/sysgears/webpack-virtual-modules#readme -│ ├─ webpack@4.46.0 -│ │ ├─ URL: https://github.com/webpack/webpack.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack -│ ├─ webpack@5.76.0 -│ │ ├─ URL: https://github.com/webpack/webpack.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack -│ ├─ webpack@5.76.3 -│ │ ├─ URL: https://github.com/webpack/webpack.git -│ │ ├─ VendorName: Tobias Koppers @sokra -│ │ └─ VendorUrl: https://github.com/webpack/webpack -│ ├─ whatwg-encoding@1.0.5 -│ │ ├─ URL: https://github.com/jsdom/whatwg-encoding.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ ├─ whatwg-fetch@3.6.2 -│ │ └─ URL: https://github.com/github/fetch.git -│ ├─ whatwg-mimetype@2.3.0 -│ │ ├─ URL: https://github.com/jsdom/whatwg-mimetype.git -│ │ ├─ VendorName: Domenic Denicola -│ │ └─ VendorUrl: https://domenic.me/ -│ ├─ whatwg-url@5.0.0 -│ │ ├─ URL: https://github.com/jsdom/whatwg-url.git -│ │ └─ VendorName: Sebastian Mayr -│ ├─ whatwg-url@7.1.0 -│ │ ├─ URL: https://github.com/jsdom/whatwg-url.git -│ │ └─ VendorName: Sebastian Mayr -│ ├─ whatwg-url@8.7.0 -│ │ ├─ URL: https://github.com/jsdom/whatwg-url.git -│ │ └─ VendorName: Sebastian Mayr -│ ├─ which-boxed-primitive@1.0.2 -│ │ ├─ URL: git+https://github.com/inspect-js/which-boxed-primitive.git -│ │ ├─ VendorName: Jordan Harband -│ │ └─ VendorUrl: https://github.com/inspect-js/which-boxed-primitive#readme -│ ├─ widest-line@3.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/widest-line.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: sindresorhus.com -│ ├─ wildcard@2.0.0 -│ │ ├─ URL: git://github.com/DamonOehlman/wildcard.git -│ │ └─ VendorName: Damon Oehlman -│ ├─ word-wrap@1.2.3 -│ │ ├─ URL: https://github.com/jonschlinkert/word-wrap.git -│ │ ├─ VendorName: Jon Schlinkert -│ │ └─ VendorUrl: https://github.com/jonschlinkert/word-wrap -│ ├─ wordwrap@1.0.0 -│ │ ├─ URL: git://github.com/substack/node-wordwrap.git -│ │ ├─ VendorName: James Halliday -│ │ └─ VendorUrl: http://substack.net -│ ├─ workbox-background-sync@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-broadcast-update@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-build@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-cacheable-response@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-core@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-expiration@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-google-analytics@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-navigation-preload@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-precaching@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-range-requests@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-recipes@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-routing@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-strategies@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-streams@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-sw@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-webpack-plugin@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ workbox-window@6.5.1 -│ │ ├─ URL: https://github.com/googlechrome/workbox.git -│ │ ├─ VendorName: Google's Web DevRel Team -│ │ └─ VendorUrl: https://github.com/GoogleChrome/workbox -│ ├─ worker-farm@1.7.0 -│ │ ├─ URL: https://github.com/rvagg/node-worker-farm.git -│ │ └─ VendorUrl: https://github.com/rvagg/node-worker-farm -│ ├─ worker-rpc@0.1.1 -│ │ ├─ URL: https://github.com/DirtyHairy/worker-rpc -│ │ ├─ VendorName: Christian Speckner -│ │ └─ VendorUrl: https://github.com/DirtyHairy/ -│ ├─ wrap-ansi@7.0.0 -│ │ ├─ URL: https://github.com/chalk/wrap-ansi.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ ├─ ws@7.5.7 -│ │ ├─ URL: https://github.com/websockets/ws.git -│ │ ├─ VendorName: Einar Otto Stangvik -│ │ └─ VendorUrl: https://github.com/websockets/ws -│ ├─ ws@8.5.0 -│ │ ├─ URL: https://github.com/websockets/ws.git -│ │ ├─ VendorName: Einar Otto Stangvik -│ │ └─ VendorUrl: https://github.com/websockets/ws -│ ├─ xmlchars@2.2.0 -│ │ ├─ URL: https://github.com/lddubeau/xmlchars.git -│ │ └─ VendorName: Louis-Dominique Dubeau -│ ├─ xtend@4.0.2 -│ │ ├─ URL: git://github.com/Raynos/xtend.git -│ │ ├─ VendorName: Raynos -│ │ └─ VendorUrl: https://github.com/Raynos/xtend -│ ├─ yargs@16.2.0 -│ │ ├─ URL: https://github.com/yargs/yargs.git -│ │ └─ VendorUrl: https://yargs.js.org/ -│ ├─ yocto-queue@0.1.0 -│ │ ├─ URL: https://github.com/sindresorhus/yocto-queue.git -│ │ ├─ VendorName: Sindre Sorhus -│ │ └─ VendorUrl: https://sindresorhus.com -│ └─ zwitch@1.0.5 -│ ├─ URL: https://github.com/wooorm/zwitch.git -│ ├─ VendorName: Titus Wormer -│ └─ VendorUrl: https://wooorm.com -├─ MPL-2.0 -│ └─ axe-core@4.4.1 -│ ├─ URL: https://github.com/dequelabs/axe-core.git -│ └─ VendorUrl: https://www.deque.com/axe/ -├─ ODC-By-1.0 -│ └─ language-subtag-registry@0.3.21 -│ ├─ URL: https://github.com/mattcg/language-subtag-registry -│ └─ VendorUrl: https://github.com/mattcg/language-subtag-registry -├─ Python-2.0 -│ └─ argparse@2.0.1 -│ └─ URL: https://github.com/nodeca/argparse.git -├─ Unlicense -│ ├─ fs-monkey@1.0.3 -│ │ └─ URL: https://github.com/streamich/fs-monkey.git -│ └─ memfs@3.4.1 -│ └─ URL: https://github.com/streamich/memfs.git -└─ WTFPL - └─ lz-string@1.4.4 - ├─ URL: https://github.com/pieroxy/lz-string.git - ├─ VendorName: pieroxy - └─ VendorUrl: http://pieroxy.net/blog/pages/lz-string/index.html -Done in 1.56s. +npm/npmjs/-/abab/2.0.6, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/accepts/1.3.8, MIT, approved, clearlydefined +npm/npmjs/-/acorn-globals/6.0.0, MIT, approved, clearlydefined +npm/npmjs/-/acorn-import-assertions/1.9.0, MIT, approved, clearlydefined +npm/npmjs/-/acorn-jsx/5.3.2, MIT, approved, clearlydefined +npm/npmjs/-/acorn-walk/7.2.0, MIT, approved, clearlydefined +npm/npmjs/-/acorn/7.4.1, MIT, approved, clearlydefined +npm/npmjs/-/acorn/8.9.0, MIT, approved, #9155 +npm/npmjs/-/address/1.2.2, MIT, approved, clearlydefined +npm/npmjs/-/adjust-sourcemap-loader/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/agent-base/6.0.2, MIT, approved, clearlydefined +npm/npmjs/-/ajv-formats/2.1.1, MIT, approved, clearlydefined +npm/npmjs/-/ajv-keywords/3.5.2, MIT, approved, clearlydefined +npm/npmjs/-/ajv-keywords/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/ajv/6.12.6, MIT, approved, #979 +npm/npmjs/-/ajv/8.12.0, MIT AND OFL-1.1 AND (EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0), approved, #6025 +npm/npmjs/-/ansi-escapes/4.3.2, MIT, approved, clearlydefined +npm/npmjs/-/ansi-html-community/0.0.8, Apache-2.0, approved, clearlydefined +npm/npmjs/-/ansi-regex/5.0.1, MIT, approved, clearlydefined +npm/npmjs/-/ansi-regex/6.0.1, MIT, approved, clearlydefined +npm/npmjs/-/ansi-styles/3.2.1, MIT, approved, clearlydefined +npm/npmjs/-/ansi-styles/4.3.0, MIT, approved, clearlydefined +npm/npmjs/-/ansi-styles/5.2.0, MIT, approved, clearlydefined +npm/npmjs/-/any-promise/1.3.0, MIT, approved, clearlydefined +npm/npmjs/-/anymatch/3.1.3, ISC, approved, #5050 +npm/npmjs/-/arg/5.0.2, MIT, approved, clearlydefined +npm/npmjs/-/argparse/1.0.10, MIT, approved, #2174 +npm/npmjs/-/argparse/2.0.1, Python-2.0, approved, CQ22954 +npm/npmjs/-/aria-query/5.1.3, Apache-2.0, approved, clearlydefined +npm/npmjs/-/aria-query/5.2.1, Apache-2.0, approved, #9150 +npm/npmjs/-/array-buffer-byte-length/1.0.0, MIT, approved, #7548 +npm/npmjs/-/array-flatten/1.1.1, MIT, approved, clearlydefined +npm/npmjs/-/array-flatten/2.1.2, MIT, approved, clearlydefined +npm/npmjs/-/array-includes/3.1.6, MIT, approved, #4577 +npm/npmjs/-/array-union/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/array.prototype.flat/1.3.1, MIT, approved, #4574 +npm/npmjs/-/array.prototype.flatmap/1.3.1, MIT, approved, #4651 +npm/npmjs/-/array.prototype.reduce/1.0.5, MIT, approved, clearlydefined +npm/npmjs/-/array.prototype.tosorted/1.1.1, MIT, approved, #5051 +npm/npmjs/-/asap/2.0.6, MIT, approved, clearlydefined +npm/npmjs/-/ast-types-flow/0.0.7, ISC, approved, clearlydefined +npm/npmjs/-/async/3.2.4, Apache-2.0 AND MIT, approved, #1553 +npm/npmjs/-/asynckit/0.4.0, MIT, approved, clearlydefined +npm/npmjs/-/at-least-node/1.0.0, ISC, approved, clearlydefined +npm/npmjs/-/attr-accept/2.2.2, MIT, approved, clearlydefined +npm/npmjs/-/autoprefixer/10.4.14, MIT, approved, #7494 +npm/npmjs/-/autosuggest-highlight/3.3.4, MIT, approved, clearlydefined +npm/npmjs/-/available-typed-arrays/1.0.5, MIT, approved, clearlydefined +npm/npmjs/-/axe-core/4.7.2, MPL-2.0 AND MIT AND (Apache-2.0 AND OFL-1.1), approved, #8318 +npm/npmjs/-/axios/1.4.0, MIT, approved, clearlydefined +npm/npmjs/-/axobject-query/3.2.1, Apache-2.0, approved, #9144 +npm/npmjs/-/babel-jest/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/babel-loader/8.3.0, MIT, approved, #4618 +npm/npmjs/-/babel-plugin-istanbul/6.1.1, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/babel-plugin-jest-hoist/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/babel-plugin-macros/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/babel-plugin-named-asset-import/0.3.8, MIT, approved, clearlydefined +npm/npmjs/-/babel-plugin-polyfill-corejs2/0.4.3, MIT, approved, #9309 +npm/npmjs/-/babel-plugin-polyfill-corejs3/0.8.1, MIT, approved, #9316 +npm/npmjs/-/babel-plugin-polyfill-regenerator/0.5.0, MIT, approved, #9310 +npm/npmjs/-/babel-plugin-transform-react-remove-prop-types/0.4.24, MIT, approved, clearlydefined +npm/npmjs/-/babel-preset-current-node-syntax/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/babel-preset-jest/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/babel-preset-react-app/10.0.1, MIT, approved, clearlydefined +npm/npmjs/-/balanced-match/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/base64-js/1.5.1, MIT, approved, clearlydefined +npm/npmjs/-/batch/0.6.1, MIT, approved, clearlydefined +npm/npmjs/-/bfj/7.0.2, MIT, approved, clearlydefined +npm/npmjs/-/big.js/5.2.2, MIT, approved, clearlydefined +npm/npmjs/-/binary-extensions/2.2.0, MIT, approved, clearlydefined +npm/npmjs/-/bluebird/3.7.2, MIT, approved, clearlydefined +npm/npmjs/-/body-parser/1.20.1, MIT, approved, clearlydefined +npm/npmjs/-/bonjour-service/1.1.1, MIT, approved, #7474 +npm/npmjs/-/boolbase/1.0.0, ISC, approved, clearlydefined +npm/npmjs/-/brace-expansion/1.1.11, MIT, approved, clearlydefined +npm/npmjs/-/brace-expansion/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/braces/3.0.2, MIT, approved, clearlydefined +npm/npmjs/-/browser-process-hrtime/1.0.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/browserslist/4.21.9, MIT, approved, #7034 +npm/npmjs/-/bser/2.1.1, Apache-2.0, approved, clearlydefined +npm/npmjs/-/buffer-from/1.1.2, MIT, approved, clearlydefined +npm/npmjs/-/buffer/6.0.3, MIT, approved, clearlydefined +npm/npmjs/-/builtin-modules/3.3.0, MIT, approved, clearlydefined +npm/npmjs/-/builtins/5.0.1, MIT, approved, clearlydefined +npm/npmjs/-/bytes/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/bytes/3.1.2, MIT, approved, clearlydefined +npm/npmjs/-/call-bind/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/callsites/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/camel-case/4.1.2, MIT, approved, clearlydefined +npm/npmjs/-/camelcase-css/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/camelcase/5.3.1, MIT, approved, clearlydefined +npm/npmjs/-/camelcase/6.3.0, MIT, approved, clearlydefined +npm/npmjs/-/caniuse-api/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/caniuse-lite/1.0.30001507, CC-BY-4.0, approved, #1196 +npm/npmjs/-/case-sensitive-paths-webpack-plugin/2.4.0, MIT, approved, clearlydefined +npm/npmjs/-/chalk/2.4.2, MIT, approved, clearlydefined +npm/npmjs/-/chalk/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/chalk/4.1.2, MIT, approved, clearlydefined +npm/npmjs/-/char-regex/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/char-regex/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/check-types/11.2.2, MIT, approved, clearlydefined +npm/npmjs/-/chokidar/3.5.3, MIT, approved, #2317 +npm/npmjs/-/chrome-trace-event/1.0.3, MIT, approved, #2414 +npm/npmjs/-/ci-info/3.8.0, MIT, approved, clearlydefined +npm/npmjs/-/cjs-module-lexer/1.2.3, MIT, approved, #9069 +npm/npmjs/-/classnames/2.3.2, MIT, approved, clearlydefined +npm/npmjs/-/clean-css/5.3.2, MIT, approved, clearlydefined +npm/npmjs/-/cliui/7.0.4, ISC AND Artistic-2.0, approved, #2724 +npm/npmjs/-/clsx/1.2.1, MIT, approved, clearlydefined +npm/npmjs/-/co/4.6.0, MIT, approved, clearlydefined +npm/npmjs/-/coa/2.0.2, MIT, approved, clearlydefined +npm/npmjs/-/collect-v8-coverage/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/color-convert/1.9.3, MIT, approved, clearlydefined +npm/npmjs/-/color-convert/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/color-name/1.1.3, MIT, approved, clearlydefined +npm/npmjs/-/color-name/1.1.4, MIT, approved, clearlydefined +npm/npmjs/-/colord/2.9.3, MIT, approved, clearlydefined +npm/npmjs/-/colorette/2.0.20, MIT, approved, clearlydefined +npm/npmjs/-/combined-stream/1.0.8, MIT, approved, clearlydefined +npm/npmjs/-/commander/2.20.3, MIT, approved, clearlydefined +npm/npmjs/-/commander/4.1.1, MIT, approved, clearlydefined +npm/npmjs/-/commander/7.2.0, MIT, approved, clearlydefined +npm/npmjs/-/commander/8.3.0, MIT, approved, clearlydefined +npm/npmjs/-/common-path-prefix/3.0.0, ISC, approved, clearlydefined +npm/npmjs/-/common-tags/1.8.2, MIT, approved, #2950 +npm/npmjs/-/commondir/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/compressible/2.0.18, MIT, approved, clearlydefined +npm/npmjs/-/compression/1.7.4, MIT, approved, #1975 +npm/npmjs/-/concat-map/0.0.1, MIT, approved, clearlydefined +npm/npmjs/-/confusing-browser-globals/1.0.11, MIT, approved, clearlydefined +npm/npmjs/-/connect-history-api-fallback/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/content-disposition/0.5.4, MIT, approved, clearlydefined +npm/npmjs/-/content-type/1.0.5, MIT, approved, #6950 +npm/npmjs/-/convert-source-map/1.9.0, MIT, approved, clearlydefined +npm/npmjs/-/cookie-signature/1.0.6, MIT, approved, clearlydefined +npm/npmjs/-/cookie/0.5.0, MIT, approved, clearlydefined +npm/npmjs/-/core-js-compat/3.31.0, MIT, approved, #9051 +npm/npmjs/-/core-js-pure/3.31.0, MIT, approved, #8969 +npm/npmjs/-/core-js/3.31.0, MIT, approved, #9137 +npm/npmjs/-/core-util-is/1.0.3, MIT, approved, #5898 +npm/npmjs/-/cosmiconfig/6.0.0, MIT, approved, clearlydefined +npm/npmjs/-/cosmiconfig/7.1.0, MIT, approved, #4975 +npm/npmjs/-/cross-spawn/7.0.3, MIT, approved, clearlydefined +npm/npmjs/-/crypto-random-string/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/css-blank-pseudo/3.0.3, CC0-1.0, approved, clearlydefined +npm/npmjs/-/css-declaration-sorter/6.4.0, ISC, approved, clearlydefined +npm/npmjs/-/css-has-pseudo/3.0.4, CC0-1.0, approved, clearlydefined +npm/npmjs/-/css-loader/6.8.1, MIT AND Apache-2.0, approved, #8759 +npm/npmjs/-/css-minimizer-webpack-plugin/3.4.1, MIT, approved, clearlydefined +npm/npmjs/-/css-prefers-color-scheme/6.0.3, CC0-1.0, approved, clearlydefined +npm/npmjs/-/css-select-base-adapter/0.1.1, MIT, approved, clearlydefined +npm/npmjs/-/css-select/2.1.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/css-select/4.3.0, BSD-2-Clause AND MIT AND (MIT AND MIT-0), approved, #3227 +npm/npmjs/-/css-tree/1.0.0-alpha.37, MIT, approved, #1287 +npm/npmjs/-/css-tree/1.1.3, MIT, approved, #1283 +npm/npmjs/-/css-what/3.4.2, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/css-what/6.1.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/css.escape/1.5.1, MIT, approved, clearlydefined +npm/npmjs/-/cssdb/7.6.0, CC0-1.0, approved, clearlydefined +npm/npmjs/-/cssesc/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/cssnano-preset-default/5.2.14, MIT, approved, clearlydefined +npm/npmjs/-/cssnano-utils/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/cssnano/5.1.15, MIT, approved, clearlydefined +npm/npmjs/-/csso/4.2.0, MIT, approved, clearlydefined +npm/npmjs/-/cssom/0.3.8, MIT, approved, clearlydefined +npm/npmjs/-/cssom/0.4.4, MIT, approved, clearlydefined +npm/npmjs/-/cssstyle/2.3.0, MIT, approved, clearlydefined +npm/npmjs/-/csstype/3.1.2, MIT, approved, clearlydefined +npm/npmjs/-/damerau-levenshtein/1.0.8, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/data-urls/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/date-fns/2.30.0, MIT, approved, clearlydefined +npm/npmjs/-/dayjs/1.11.8, MIT, approved, #9149 +npm/npmjs/-/debug/2.6.9, MIT, approved, clearlydefined +npm/npmjs/-/debug/3.2.7, MIT, approved, clearlydefined +npm/npmjs/-/debug/4.3.4, MIT, approved, clearlydefined +npm/npmjs/-/decimal.js/10.4.3, MIT, approved, clearlydefined +npm/npmjs/-/dedent/0.7.0, MIT, approved, clearlydefined +npm/npmjs/-/deep-equal/2.2.1, MIT, approved, #8406 +npm/npmjs/-/deep-is/0.1.4, MIT, approved, #2130 +npm/npmjs/-/deepmerge/4.3.1, MIT, approved, #7032 +npm/npmjs/-/default-gateway/6.0.3, BSD-2-Clause AND BSD-3-Clause, approved, #2956 +npm/npmjs/-/define-lazy-prop/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/define-properties/1.2.0, MIT, approved, #7116 +npm/npmjs/-/delayed-stream/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/depd/1.1.2, MIT, approved, clearlydefined +npm/npmjs/-/depd/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/dequal/2.0.3, MIT, approved, clearlydefined +npm/npmjs/-/destroy/1.2.0, MIT, approved, clearlydefined +npm/npmjs/-/detect-newline/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/detect-node/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/detect-port-alt/1.1.6, MIT, approved, clearlydefined +npm/npmjs/-/didyoumean/1.2.2, Apache-2.0, approved, clearlydefined +npm/npmjs/-/diff-sequences/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1953 +npm/npmjs/-/diff-sequences/29.4.3, MIT, approved, clearlydefined +npm/npmjs/-/dir-glob/3.0.1, MIT, approved, clearlydefined +npm/npmjs/-/dlv/1.1.3, MIT, approved, clearlydefined +npm/npmjs/-/dns-equal/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/dns-packet/5.6.0, MIT, approved, clearlydefined +npm/npmjs/-/doctrine/2.1.0, Apache-2.0 AND BSD-2-Clause, approved, #1987 +npm/npmjs/-/doctrine/3.0.0, Apache-2.0 AND BSD-2-Clause, approved, CQ22628 +npm/npmjs/-/dom-accessibility-api/0.5.16, MIT, approved, clearlydefined +npm/npmjs/-/dom-converter/0.2.0, MIT, approved, clearlydefined +npm/npmjs/-/dom-helpers/5.2.1, MIT, approved, clearlydefined +npm/npmjs/-/dom-serializer/0.2.2, MIT, approved, clearlydefined +npm/npmjs/-/dom-serializer/1.4.1, MIT, approved, clearlydefined +npm/npmjs/-/domelementtype/1.3.1, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/domelementtype/2.3.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/domexception/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/domhandler/4.3.1, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/domutils/1.7.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/domutils/2.8.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/dot-case/3.0.4, MIT, approved, clearlydefined +npm/npmjs/-/dotenv-expand/5.1.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/dotenv/10.0.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/duplexer/0.1.2, MIT, approved, #1002 +npm/npmjs/-/ee-first/1.1.1, MIT, approved, clearlydefined +npm/npmjs/-/ejs/3.1.9, Apache-2.0, approved, #1373 +npm/npmjs/-/electron-to-chromium/1.4.439, ISC, approved, #1950 +npm/npmjs/-/emittery/0.10.2, MIT, approved, clearlydefined +npm/npmjs/-/emittery/0.8.1, MIT, approved, clearlydefined +npm/npmjs/-/emoji-regex/8.0.0, MIT, approved, clearlydefined +npm/npmjs/-/emoji-regex/9.2.2, MIT, approved, clearlydefined +npm/npmjs/-/emojis-list/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/encodeurl/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/enhanced-resolve/5.15.0, MIT, approved, #8939 +npm/npmjs/-/enquire.js/2.1.6, MIT, approved, clearlydefined +npm/npmjs/-/entities/2.2.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/error-ex/1.3.2, MIT, approved, clearlydefined +npm/npmjs/-/error-stack-parser/2.1.4, MIT, approved, clearlydefined +npm/npmjs/-/es-abstract/1.21.2, MIT, approved, #6209 +npm/npmjs/-/es-array-method-boxes-properly/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/es-get-iterator/1.1.3, MIT, approved, clearlydefined +npm/npmjs/-/es-module-lexer/1.3.0, MIT, approved, #8964 +npm/npmjs/-/es-set-tostringtag/2.0.1, MIT, approved, #6218 +npm/npmjs/-/es-shim-unscopables/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/es-to-primitive/1.2.1, MIT, approved, clearlydefined +npm/npmjs/-/escalade/3.1.1, MIT, approved, clearlydefined +npm/npmjs/-/escape-html/1.0.3, MIT, approved, clearlydefined +npm/npmjs/-/escape-string-regexp/1.0.5, MIT, approved, clearlydefined +npm/npmjs/-/escape-string-regexp/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/escape-string-regexp/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/escodegen/2.0.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/eslint-config-prettier/8.8.0, MIT, approved, #7543 +npm/npmjs/-/eslint-config-react-app/7.0.1, MIT, approved, clearlydefined +npm/npmjs/-/eslint-config-standard-with-typescript/35.0.0, MIT, approved, #9133 +npm/npmjs/-/eslint-config-standard/17.0.0, MIT, approved, clearlydefined +npm/npmjs/-/eslint-import-resolver-node/0.3.7, MIT, approved, clearlydefined +npm/npmjs/-/eslint-module-utils/2.8.0, MIT, approved, #8209 +npm/npmjs/-/eslint-plugin-es/4.1.0, MIT, approved, #5026 +npm/npmjs/-/eslint-plugin-flowtype/8.0.3, BSD-3-Clause, approved, #2958 +npm/npmjs/-/eslint-plugin-import/2.27.5, MIT, approved, #6937 +npm/npmjs/-/eslint-plugin-jest/25.7.0, MIT AND (BSD-2-Clause AND MIT), approved, #2961 +npm/npmjs/-/eslint-plugin-jsx-a11y/6.7.1, MIT, approved, clearlydefined +npm/npmjs/-/eslint-plugin-n/15.7.0, MIT, approved, #9040 +npm/npmjs/-/eslint-plugin-promise/6.1.1, ISC, approved, clearlydefined +npm/npmjs/-/eslint-plugin-react-hooks/4.6.0, MIT, approved, clearlydefined +npm/npmjs/-/eslint-plugin-react/7.32.2, MIT, approved, #7035 +npm/npmjs/-/eslint-plugin-testing-library/5.11.0, MIT, approved, clearlydefined +npm/npmjs/-/eslint-scope/5.1.1, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/eslint-scope/7.2.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/eslint-utils/2.1.0, MIT, approved, #2498 +npm/npmjs/-/eslint-utils/3.0.0, MIT, approved, #2431 +npm/npmjs/-/eslint-visitor-keys/1.3.0, Apache-2.0, approved, #2501 +npm/npmjs/-/eslint-visitor-keys/2.1.0, Apache-2.0, approved, #2433 +npm/npmjs/-/eslint-visitor-keys/3.4.1, Apache-2.0, approved, #7729 +npm/npmjs/-/eslint-webpack-plugin/3.2.0, MIT, approved, clearlydefined +npm/npmjs/-/eslint/8.37.0, MIT, approved, #7732 +npm/npmjs/-/eslint/8.43.0, MIT, approved, #9128 +npm/npmjs/-/espree/9.5.2, BSD-2-Clause AND BSD-3-Clause AND MIT AND BSD-2-Clause AND BSD-3-Clause AND MIT AND (BSD-2-Clause AND MIT) AND (BSD-3-Clause AND LGPL-2.0-or-later AND MIT) AND LGPL-2.1-or-later, approved, #7478 +npm/npmjs/-/esprima/4.0.1, BSD-2-Clause, approved, #995 +npm/npmjs/-/esquery/1.5.0, BSD-3-Clause, approved, #7469 +npm/npmjs/-/esrecurse/4.3.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/estraverse/4.3.0, BSD-2-Clause, approved, #518 +npm/npmjs/-/estraverse/5.3.0, BSD-2-Clause AND MIT, approved, #1557 +npm/npmjs/-/estree-walker/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/esutils/2.0.3, BSD-2-Clause AND BSD-3-Clause, approved, #120 +npm/npmjs/-/etag/1.8.1, MIT, approved, clearlydefined +npm/npmjs/-/eventemitter3/4.0.7, MIT, approved, clearlydefined +npm/npmjs/-/events/3.3.0, MIT, approved, clearlydefined +npm/npmjs/-/execa/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/exit/0.1.2, MIT, approved, clearlydefined +npm/npmjs/-/expect/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/expect/29.5.0, MIT, approved, clearlydefined +npm/npmjs/-/express/4.18.2, MIT, approved, clearlydefined +npm/npmjs/-/fast-deep-equal/3.1.3, MIT, approved, clearlydefined +npm/npmjs/-/fast-glob/3.2.12, MIT, approved, clearlydefined +npm/npmjs/-/fast-json-stable-stringify/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/fast-levenshtein/2.0.6, MIT, approved, #2428 +npm/npmjs/-/fastq/1.15.0, ISC, approved, #6021 +npm/npmjs/-/faye-websocket/0.11.4, Apache-2.0, approved, clearlydefined +npm/npmjs/-/fb-watchman/2.0.2, MIT AND Apache-2.0, approved, #5379 +npm/npmjs/-/file-entry-cache/6.0.1, MIT, approved, clearlydefined +npm/npmjs/-/file-loader/6.2.0, MIT, approved, clearlydefined +npm/npmjs/-/file-selector/0.6.0, MIT, approved, #3230 +npm/npmjs/-/filelist/1.0.4, Apache-2.0, approved, clearlydefined +npm/npmjs/-/filesize/8.0.7, BSD-3-Clause, approved, #2965 +npm/npmjs/-/fill-range/7.0.1, MIT, approved, clearlydefined +npm/npmjs/-/finalhandler/1.2.0, MIT, approved, clearlydefined +npm/npmjs/-/find-cache-dir/3.3.2, MIT, approved, clearlydefined +npm/npmjs/-/find-root/1.1.0, MIT, approved, clearlydefined +npm/npmjs/-/find-up/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/find-up/4.1.0, MIT, approved, clearlydefined +npm/npmjs/-/find-up/5.0.0, MIT, approved, clearlydefined +npm/npmjs/-/flat-cache/3.0.4, MIT, approved, clearlydefined +npm/npmjs/-/flatted/3.2.7, ISC AND (ISC AND MIT), approved, #2430 +npm/npmjs/-/follow-redirects/1.15.2, MIT, approved, clearlydefined +npm/npmjs/-/for-each/0.3.3, MIT, approved, clearlydefined +npm/npmjs/-/fork-ts-checker-webpack-plugin/6.5.3, MIT, approved, #7487 +npm/npmjs/-/form-data/3.0.1, MIT, approved, clearlydefined +npm/npmjs/-/form-data/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/forwarded/0.2.0, MIT, approved, clearlydefined +npm/npmjs/-/fraction.js/4.2.0, MIT, approved, clearlydefined +npm/npmjs/-/fresh/0.5.2, MIT, approved, clearlydefined +npm/npmjs/-/fs-extra/10.1.0, MIT, approved, clearlydefined +npm/npmjs/-/fs-extra/9.1.0, MIT, approved, clearlydefined +npm/npmjs/-/fs-monkey/1.0.4, Unlicense AND (ISC AND MIT), approved, #2964 +npm/npmjs/-/fs.realpath/1.0.0, ISC, approved, clearlydefined +npm/npmjs/-/fsevents/2.3.2, MIT, approved, #2967 +npm/npmjs/-/function-bind/1.1.1, MIT, approved, clearlydefined +npm/npmjs/-/function.prototype.name/1.1.5, MIT, approved, clearlydefined +npm/npmjs/-/functions-have-names/1.2.3, MIT, approved, clearlydefined +npm/npmjs/-/gensync/1.0.0-beta.2, MIT, approved, clearlydefined +npm/npmjs/-/get-caller-file/2.0.5, ISC, approved, clearlydefined +npm/npmjs/-/get-intrinsic/1.2.1, MIT, approved, #8453 +npm/npmjs/-/get-own-enumerable-property-symbols/3.0.2, ISC, approved, clearlydefined +npm/npmjs/-/get-package-type/0.1.0, MIT, approved, clearlydefined +npm/npmjs/-/get-stream/6.0.1, MIT, approved, clearlydefined +npm/npmjs/-/get-symbol-description/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/glob-parent/5.1.2, ISC, approved, clearlydefined +npm/npmjs/-/glob-parent/6.0.2, ISC, approved, clearlydefined +npm/npmjs/-/glob-to-regexp/0.4.1, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/glob/7.1.6, ISC, approved, #994 +npm/npmjs/-/glob/7.2.3, ISC, approved, clearlydefined +npm/npmjs/-/global-modules/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/global-prefix/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/globals/11.12.0, MIT, approved, clearlydefined +npm/npmjs/-/globals/13.20.0, MIT, approved, #6953 +npm/npmjs/-/globalthis/1.0.3, MIT, approved, clearlydefined +npm/npmjs/-/globby/11.1.0, MIT, approved, clearlydefined +npm/npmjs/-/gopd/1.0.1, MIT, approved, #4863 +npm/npmjs/-/graceful-fs/4.2.11, ISC, approved, #7413 +npm/npmjs/-/grapheme-splitter/1.0.4, MIT, approved, #1645 +npm/npmjs/-/graphemer/1.4.0, MIT, approved, clearlydefined +npm/npmjs/-/gzip-size/6.0.0, MIT, approved, clearlydefined +npm/npmjs/-/handle-thing/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/harmony-reflect/1.6.2, Apache-2.0 AND MPL-1.1 AND Apache-2.0, approved, #2966 +npm/npmjs/-/has-bigints/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/has-flag/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/has-flag/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/has-property-descriptors/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/has-proto/1.0.1, MIT, approved, #6175 +npm/npmjs/-/has-symbols/1.0.3, MIT, approved, clearlydefined +npm/npmjs/-/has-tostringtag/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/has/1.0.3, MIT, approved, clearlydefined +npm/npmjs/-/he/1.2.0, MIT, approved, clearlydefined +npm/npmjs/-/hoist-non-react-statics/3.3.2, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/hoopy/0.1.4, MIT, approved, clearlydefined +npm/npmjs/-/hpack.js/2.1.6, MIT, approved, clearlydefined +npm/npmjs/-/html-encoding-sniffer/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/html-entities/2.3.6, MIT, approved, #9043 +npm/npmjs/-/html-escaper/2.0.2, MIT, approved, clearlydefined +npm/npmjs/-/html-minifier-terser/6.1.0, MIT AND MPL-1.1, approved, #2968 +npm/npmjs/-/html-parse-stringify/3.0.1, MIT, approved, clearlydefined +npm/npmjs/-/html-webpack-plugin/5.5.3, MIT, approved, #9078 +npm/npmjs/-/htmlparser2/6.1.0, MIT, approved, clearlydefined +npm/npmjs/-/http-deceiver/1.2.7, MIT, approved, clearlydefined +npm/npmjs/-/http-errors/1.6.3, MIT, approved, clearlydefined +npm/npmjs/-/http-errors/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/http-parser-js/0.5.8, MIT, approved, #2970 +npm/npmjs/-/http-proxy-agent/4.0.1, MIT, approved, clearlydefined +npm/npmjs/-/http-proxy-middleware/2.0.6, MIT, approved, clearlydefined +npm/npmjs/-/http-proxy/1.18.1, MIT, approved, clearlydefined +npm/npmjs/-/https-proxy-agent/5.0.1, MIT, approved, clearlydefined +npm/npmjs/-/human-signals/2.1.0, Apache-2.0, approved, clearlydefined +npm/npmjs/-/husky/8.0.3, MIT, approved, clearlydefined +npm/npmjs/-/i18next-browser-languagedetector/7.0.2, MIT, approved, clearlydefined +npm/npmjs/-/i18next/22.5.1, MIT, approved, #9143 +npm/npmjs/-/iconv-lite/0.4.24, MIT, approved, clearlydefined +npm/npmjs/-/iconv-lite/0.6.3, MIT, approved, clearlydefined +npm/npmjs/-/icss-utils/5.1.0, ISC, approved, clearlydefined +npm/npmjs/-/idb/7.1.1, ISC, approved, clearlydefined +npm/npmjs/-/identity-obj-proxy/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/ieee754/1.2.1, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/ignore/5.2.4, MIT, approved, #5907 +npm/npmjs/-/immer/9.0.21, MIT, approved, #7037 +npm/npmjs/-/immutable/4.3.0, MIT, approved, #7353 +npm/npmjs/-/import-fresh/3.3.0, MIT, approved, clearlydefined +npm/npmjs/-/import-local/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/imurmurhash/0.1.4, MIT, approved, clearlydefined +npm/npmjs/-/indent-string/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/inflight/1.0.6, ISC, approved, clearlydefined +npm/npmjs/-/inherits/2.0.3, ISC, approved, clearlydefined +npm/npmjs/-/inherits/2.0.4, ISC, approved, clearlydefined +npm/npmjs/-/ini/1.3.8, ISC AND MIT AND BSD-3-Clause, approved, CQ23023 +npm/npmjs/-/internal-slot/1.0.5, MIT, approved, #7118 +npm/npmjs/-/ipaddr.js/1.9.1, MIT, approved, clearlydefined +npm/npmjs/-/ipaddr.js/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/is-arguments/1.1.1, MIT, approved, clearlydefined +npm/npmjs/-/is-array-buffer/3.0.2, MIT, approved, #6248 +npm/npmjs/-/is-arrayish/0.2.1, MIT, approved, clearlydefined +npm/npmjs/-/is-bigint/1.0.4, MIT, approved, clearlydefined +npm/npmjs/-/is-binary-path/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/is-boolean-object/1.1.2, MIT, approved, clearlydefined +npm/npmjs/-/is-callable/1.2.7, MIT, approved, clearlydefined +npm/npmjs/-/is-core-module/2.12.1, MIT, approved, clearlydefined +npm/npmjs/-/is-date-object/1.0.5, MIT, approved, clearlydefined +npm/npmjs/-/is-docker/2.2.1, MIT, approved, clearlydefined +npm/npmjs/-/is-extglob/2.1.1, MIT, approved, clearlydefined +npm/npmjs/-/is-fullwidth-code-point/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/is-generator-fn/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/is-glob/4.0.3, MIT, approved, clearlydefined +npm/npmjs/-/is-map/2.0.2, MIT, approved, clearlydefined +npm/npmjs/-/is-module/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/is-negative-zero/2.0.2, MIT, approved, clearlydefined +npm/npmjs/-/is-number-object/1.0.7, MIT, approved, clearlydefined +npm/npmjs/-/is-number/7.0.0, MIT, approved, clearlydefined +npm/npmjs/-/is-obj/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/is-path-inside/3.0.3, MIT, approved, clearlydefined +npm/npmjs/-/is-plain-obj/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/is-potential-custom-element-name/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/is-regex/1.1.4, MIT, approved, clearlydefined +npm/npmjs/-/is-regexp/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/is-root/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/is-set/2.0.2, MIT, approved, clearlydefined +npm/npmjs/-/is-shared-array-buffer/1.0.2, MIT, approved, #1207 +npm/npmjs/-/is-stream/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/is-string/1.0.7, MIT, approved, clearlydefined +npm/npmjs/-/is-symbol/1.0.4, MIT, approved, clearlydefined +npm/npmjs/-/is-typed-array/1.1.10, MIT, approved, #4853 +npm/npmjs/-/is-typedarray/1.0.0, MIT, approved, #2531 +npm/npmjs/-/is-weakmap/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/is-weakref/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/is-weakset/2.0.2, MIT, approved, clearlydefined +npm/npmjs/-/is-wsl/2.2.0, MIT, approved, clearlydefined +npm/npmjs/-/isarray/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/isarray/2.0.5, MIT, approved, clearlydefined +npm/npmjs/-/isexe/2.0.0, ISC, approved, clearlydefined +npm/npmjs/-/istanbul-lib-coverage/3.2.0, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/istanbul-lib-instrument/5.2.1, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/istanbul-lib-report/3.0.0, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/istanbul-lib-source-maps/4.0.1, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/istanbul-reports/3.1.5, BSD-3-Clause AND MIT, approved, #1710 +npm/npmjs/-/jake/10.8.7, Apache-2.0 AND MIT, approved, #1316 +npm/npmjs/-/jest-changed-files/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-circus/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-cli/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-config/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-diff/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1951 +npm/npmjs/-/jest-diff/29.5.0, MIT, approved, clearlydefined +npm/npmjs/-/jest-docblock/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-each/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-environment-jsdom/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-environment-node/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-get-type/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1947 +npm/npmjs/-/jest-get-type/29.4.3, MIT, approved, clearlydefined +npm/npmjs/-/jest-haste-map/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-jasmine2/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-leak-detector/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-matcher-utils/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1945 +npm/npmjs/-/jest-matcher-utils/29.5.0, MIT, approved, clearlydefined +npm/npmjs/-/jest-message-util/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1943 +npm/npmjs/-/jest-message-util/28.1.3, MIT, approved, clearlydefined +npm/npmjs/-/jest-message-util/29.5.0, MIT, approved, clearlydefined +npm/npmjs/-/jest-mock/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-pnp-resolver/1.2.3, MIT, approved, clearlydefined +npm/npmjs/-/jest-regex-util/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1955 +npm/npmjs/-/jest-regex-util/28.0.2, MIT, approved, clearlydefined +npm/npmjs/-/jest-resolve-dependencies/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-resolve/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-runner/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-runtime/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-serializer/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-snapshot/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-util/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-util/28.1.3, MIT, approved, clearlydefined +npm/npmjs/-/jest-util/29.5.0, MIT, approved, clearlydefined +npm/npmjs/-/jest-validate/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-watch-typeahead/1.1.0, MIT, approved, clearlydefined +npm/npmjs/-/jest-watcher/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jest-watcher/28.1.3, MIT, approved, clearlydefined +npm/npmjs/-/jest-worker/26.6.2, MIT, approved, clearlydefined +npm/npmjs/-/jest-worker/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1952 +npm/npmjs/-/jest-worker/28.1.3, MIT, approved, clearlydefined +npm/npmjs/-/jest/27.5.1, MIT, approved, clearlydefined +npm/npmjs/-/jiti/1.18.2, MIT, approved, clearlydefined +npm/npmjs/-/jquery/3.7.0, MIT, approved, clearlydefined +npm/npmjs/-/js-sdsl/4.4.1, MIT, approved, #7722 +npm/npmjs/-/js-sha256/0.9.0, MIT, approved, clearlydefined +npm/npmjs/-/js-tokens/4.0.0, MIT, approved, #2401 +npm/npmjs/-/js-yaml/3.14.1, MIT, approved, clearlydefined +npm/npmjs/-/js-yaml/4.1.0, MIT, approved, clearlydefined +npm/npmjs/-/jsdom/16.7.0, LGPL-2.0-or-later AND MIT, approved, #1370 +npm/npmjs/-/jsesc/0.5.0, MIT, approved, clearlydefined +npm/npmjs/-/jsesc/2.5.2, MIT, approved, clearlydefined +npm/npmjs/-/json-parse-even-better-errors/2.3.1, MIT, approved, clearlydefined +npm/npmjs/-/json-schema-traverse/0.4.1, MIT, approved, clearlydefined +npm/npmjs/-/json-schema-traverse/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/json-schema/0.4.0, AFL-2.1 OR BSD-3-Clause, approved, #2410 +npm/npmjs/-/json-stable-stringify-without-jsonify/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/json2mq/0.2.0, MIT, approved, clearlydefined +npm/npmjs/-/json5/1.0.2, MIT, approved, CQ22351 +npm/npmjs/-/json5/2.2.3, MIT, approved, #2126 +npm/npmjs/-/jsonfile/6.1.0, MIT, approved, clearlydefined +npm/npmjs/-/jsonpointer/5.0.1, MIT, approved, clearlydefined +npm/npmjs/-/jsx-ast-utils/3.3.3, MIT, approved, #9209 +npm/npmjs/-/keycloak-js/21.1.1, Apache-2.0 AND MIT, approved, #9145 +npm/npmjs/-/kind-of/6.0.3, MIT, approved, clearlydefined +npm/npmjs/-/kleur/3.0.3, MIT, approved, clearlydefined +npm/npmjs/-/klona/2.0.6, MIT, approved, clearlydefined +npm/npmjs/-/language-subtag-registry/0.3.22, CC0-1.0, approved, #3233 +npm/npmjs/-/language-tags/1.0.5, MIT, approved, clearlydefined +npm/npmjs/-/launch-editor/2.6.0, MIT, approved, clearlydefined +npm/npmjs/-/leven/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/levn/0.3.0, MIT, approved, clearlydefined +npm/npmjs/-/levn/0.4.1, MIT, approved, clearlydefined +npm/npmjs/-/lilconfig/2.1.0, MIT, approved, #7313 +npm/npmjs/-/lines-and-columns/1.2.4, MIT, approved, clearlydefined +npm/npmjs/-/load-script/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/loader-runner/4.3.0, MIT, approved, clearlydefined +npm/npmjs/-/loader-utils/2.0.4, MIT, approved, #4986 +npm/npmjs/-/loader-utils/3.2.1, MIT, approved, clearlydefined +npm/npmjs/-/locate-path/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/locate-path/5.0.0, MIT, approved, clearlydefined +npm/npmjs/-/locate-path/6.0.0, MIT, approved, clearlydefined +npm/npmjs/-/lodash.debounce/4.0.8, MIT, approved, clearlydefined +npm/npmjs/-/lodash.memoize/4.1.2, MIT, approved, clearlydefined +npm/npmjs/-/lodash.merge/4.6.2, MIT, approved, clearlydefined +npm/npmjs/-/lodash.sortby/4.7.0, MIT, approved, clearlydefined +npm/npmjs/-/lodash.uniq/4.5.0, MIT, approved, clearlydefined +npm/npmjs/-/lodash/4.17.21, CC0-1.0 AND MIT, approved, #2096 +npm/npmjs/-/loose-envify/1.4.0, MIT, approved, clearlydefined +npm/npmjs/-/lower-case/2.0.2, MIT, approved, clearlydefined +npm/npmjs/-/lru-cache/5.1.1, ISC, approved, clearlydefined +npm/npmjs/-/lru-cache/6.0.0, ISC, approved, clearlydefined +npm/npmjs/-/lz-string/1.5.0, MIT AND WTFPL, approved, #8398 +npm/npmjs/-/magic-string/0.25.9, MIT, approved, clearlydefined +npm/npmjs/-/make-dir/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/makeerror/1.0.12, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/mdn-data/2.0.14, CC0-1.0, approved, clearlydefined +npm/npmjs/-/mdn-data/2.0.4, CC0-1.0, approved, clearlydefined +npm/npmjs/-/media-typer/0.3.0, MIT, approved, clearlydefined +npm/npmjs/-/memfs/3.5.3, Unlicense, approved, #8397 +npm/npmjs/-/memoize-one/5.2.1, MIT, approved, clearlydefined +npm/npmjs/-/merge-descriptors/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/merge-stream/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/merge2/1.4.1, MIT, approved, clearlydefined +npm/npmjs/-/methods/1.1.2, MIT, approved, clearlydefined +npm/npmjs/-/micromatch/4.0.5, MIT, approved, clearlydefined +npm/npmjs/-/mime-db/1.52.0, MIT, approved, clearlydefined +npm/npmjs/-/mime-types/2.1.35, MIT, approved, clearlydefined +npm/npmjs/-/mime/1.6.0, MIT, approved, clearlydefined +npm/npmjs/-/mimic-fn/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/min-indent/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/mini-css-extract-plugin/2.7.6, MIT, approved, #5004 +npm/npmjs/-/minimalistic-assert/1.0.1, ISC, approved, clearlydefined +npm/npmjs/-/minimatch/3.1.2, ISC, approved, clearlydefined +npm/npmjs/-/minimatch/5.1.6, ISC, approved, #5952 +npm/npmjs/-/minimist/1.2.8, MIT, approved, #5886 +npm/npmjs/-/mkdirp/0.5.6, MIT, approved, clearlydefined +npm/npmjs/-/ms/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/ms/2.1.2, MIT, approved, #5895 +npm/npmjs/-/ms/2.1.3, MIT, approved, #5895 +npm/npmjs/-/multicast-dns/7.2.5, MIT, approved, clearlydefined +npm/npmjs/-/mz/2.7.0, MIT, approved, clearlydefined +npm/npmjs/-/nanoid/3.3.6, MIT, approved, #7571 +npm/npmjs/-/nanoid/4.0.2, MIT, approved, clearlydefined +npm/npmjs/-/natural-compare-lite/1.4.0, MIT, approved, clearlydefined +npm/npmjs/-/natural-compare/1.4.0, MIT, approved, clearlydefined +npm/npmjs/-/negotiator/0.6.3, MIT, approved, clearlydefined +npm/npmjs/-/neo-async/2.6.2, MIT, approved, clearlydefined +npm/npmjs/-/no-case/3.0.4, MIT, approved, clearlydefined +npm/npmjs/-/node-forge/1.3.1, (BSD-3-Clause OR GPL-2.0-only) AND MIT, approved, #3014 +npm/npmjs/-/node-int64/0.4.0, MIT, approved, clearlydefined +npm/npmjs/-/node-releases/2.0.12, MIT, approved, #1954 +npm/npmjs/-/normalize-path/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/normalize-range/0.1.2, MIT, approved, clearlydefined +npm/npmjs/-/normalize-url/6.1.0, MIT, approved, clearlydefined +npm/npmjs/-/npm-run-path/4.0.1, MIT, approved, clearlydefined +npm/npmjs/-/nth-check/1.0.2, BSD-2-Clause, approved, CQ22629 +npm/npmjs/-/nth-check/2.1.1, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/nwsapi/2.2.5, MIT, approved, #7909 +npm/npmjs/-/object-assign/4.1.1, MIT, approved, clearlydefined +npm/npmjs/-/object-hash/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/object-inspect/1.12.3, MIT, approved, clearlydefined +npm/npmjs/-/object-is/1.1.5, MIT, approved, clearlydefined +npm/npmjs/-/object-keys/1.1.1, MIT, approved, clearlydefined +npm/npmjs/-/object.assign/4.1.4, MIT, approved, #3232 +npm/npmjs/-/object.entries/1.1.6, MIT, approved, #4671 +npm/npmjs/-/object.fromentries/2.0.6, MIT, approved, #4600 +npm/npmjs/-/object.getownpropertydescriptors/2.1.6, MIT, approved, clearlydefined +npm/npmjs/-/object.hasown/1.1.2, MIT, approved, #4667 +npm/npmjs/-/object.values/1.1.6, MIT, approved, #4665 +npm/npmjs/-/obuf/1.1.2, MIT, approved, clearlydefined +npm/npmjs/-/on-finished/2.4.1, MIT, approved, clearlydefined +npm/npmjs/-/on-headers/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/once/1.4.0, ISC, approved, clearlydefined +npm/npmjs/-/onetime/5.1.2, MIT, approved, clearlydefined +npm/npmjs/-/open/8.4.2, MIT, approved, #7102 +npm/npmjs/-/optionator/0.8.3, MIT, approved, clearlydefined +npm/npmjs/-/optionator/0.9.1, MIT, approved, #9208 +npm/npmjs/-/p-limit/2.3.0, MIT, approved, clearlydefined +npm/npmjs/-/p-limit/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/p-locate/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/p-locate/4.1.0, MIT, approved, clearlydefined +npm/npmjs/-/p-locate/5.0.0, MIT, approved, clearlydefined +npm/npmjs/-/p-retry/4.6.2, MIT, approved, clearlydefined +npm/npmjs/-/p-try/2.2.0, MIT, approved, clearlydefined +npm/npmjs/-/param-case/3.0.4, MIT, approved, clearlydefined +npm/npmjs/-/parent-module/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/parse-json/5.2.0, MIT, approved, clearlydefined +npm/npmjs/-/parse5/6.0.1, MIT, approved, clearlydefined +npm/npmjs/-/parseurl/1.3.3, MIT, approved, clearlydefined +npm/npmjs/-/pascal-case/3.1.2, MIT, approved, clearlydefined +npm/npmjs/-/path-exists/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/path-exists/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/path-is-absolute/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/path-key/3.1.1, MIT, approved, clearlydefined +npm/npmjs/-/path-parse/1.0.7, MIT, approved, clearlydefined +npm/npmjs/-/path-to-regexp/0.1.7, MIT, approved, clearlydefined +npm/npmjs/-/path-type/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/performance-now/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/picocolors/0.2.1, ISC, approved, clearlydefined +npm/npmjs/-/picocolors/1.0.0, ISC, approved, clearlydefined +npm/npmjs/-/picomatch/2.3.1, MIT, approved, clearlydefined +npm/npmjs/-/pify/2.3.0, MIT, approved, clearlydefined +npm/npmjs/-/pirates/4.0.6, MIT, approved, #680 +npm/npmjs/-/pkg-dir/4.2.0, MIT, approved, clearlydefined +npm/npmjs/-/pkg-up/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-attribute-case-insensitive/5.0.2, MIT, approved, clearlydefined +npm/npmjs/-/postcss-browser-comments/4.0.0, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-calc/8.2.4, MIT, approved, clearlydefined +npm/npmjs/-/postcss-clamp/4.1.0, MIT, approved, #3013 +npm/npmjs/-/postcss-color-functional-notation/4.2.4, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-color-hex-alpha/8.0.4, MIT, approved, clearlydefined +npm/npmjs/-/postcss-color-rebeccapurple/7.1.1, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-colormin/5.3.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-convert-values/5.1.3, MIT, approved, clearlydefined +npm/npmjs/-/postcss-custom-media/8.0.2, MIT, approved, clearlydefined +npm/npmjs/-/postcss-custom-properties/12.1.11, MIT, approved, clearlydefined +npm/npmjs/-/postcss-custom-selectors/6.0.3, MIT, approved, clearlydefined +npm/npmjs/-/postcss-dir-pseudo-class/6.0.5, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-discard-comments/5.1.2, MIT, approved, clearlydefined +npm/npmjs/-/postcss-discard-duplicates/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-discard-empty/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-discard-overridden/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-double-position-gradients/3.1.2, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-env-function/4.0.6, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-flexbugs-fixes/5.0.2, MIT, approved, clearlydefined +npm/npmjs/-/postcss-focus-visible/6.0.4, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-focus-within/5.0.4, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-font-variant/5.0.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-gap-properties/3.0.5, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-image-set-function/4.0.7, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-import/15.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-initial/4.0.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-js/4.0.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-lab-function/4.2.1, CC0-1.0 AND (MIT AND W3C-20150513) AND W3C-20150513 AND MIT, approved, #3020 +npm/npmjs/-/postcss-load-config/4.0.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-loader/6.2.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-logical/5.0.4, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-media-minmax/5.0.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-merge-longhand/5.1.7, MIT, approved, clearlydefined +npm/npmjs/-/postcss-merge-rules/5.1.4, MIT, approved, clearlydefined +npm/npmjs/-/postcss-minify-font-values/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-minify-gradients/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-minify-params/5.1.4, MIT, approved, clearlydefined +npm/npmjs/-/postcss-minify-selectors/5.2.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-modules-extract-imports/3.0.0, ISC, approved, clearlydefined +npm/npmjs/-/postcss-modules-local-by-default/4.0.3, MIT, approved, #8508 +npm/npmjs/-/postcss-modules-scope/3.0.0, ISC, approved, clearlydefined +npm/npmjs/-/postcss-modules-values/4.0.0, ISC, approved, clearlydefined +npm/npmjs/-/postcss-nested/6.0.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-nesting/10.2.0, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-normalize-charset/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize-display-values/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize-positions/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize-repeat-style/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize-string/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize-timing-functions/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize-unicode/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize-url/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize-whitespace/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-normalize/10.0.1, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-opacity-percentage/1.1.3, MIT, approved, clearlydefined +npm/npmjs/-/postcss-ordered-values/5.1.3, MIT, approved, clearlydefined +npm/npmjs/-/postcss-overflow-shorthand/3.0.4, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-page-break/3.0.4, MIT, approved, clearlydefined +npm/npmjs/-/postcss-place/7.0.5, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-preset-env/7.8.3, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-pseudo-class-any-link/7.1.6, CC0-1.0, approved, clearlydefined +npm/npmjs/-/postcss-reduce-initial/5.1.2, MIT AND (CC0-1.0 AND MIT) AND CC0-1.0, approved, #2972 +npm/npmjs/-/postcss-reduce-transforms/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-replace-overflow-wrap/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-selector-not/6.0.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-selector-parser/6.0.13, MIT, approved, #5056 +npm/npmjs/-/postcss-svgo/5.1.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss-unique-selectors/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/postcss-value-parser/4.2.0, MIT, approved, clearlydefined +npm/npmjs/-/postcss/7.0.39, MIT, approved, clearlydefined +npm/npmjs/-/postcss/8.4.24, MIT, approved, #3545 +npm/npmjs/-/prelude-ls/1.1.2, MIT, approved, clearlydefined +npm/npmjs/-/prelude-ls/1.2.1, MIT, approved, clearlydefined +npm/npmjs/-/prettier/2.8.8, MIT AND (0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-SA-4.0 AND ISC AND MIT) AND BSD-2-Clause, approved, #6871 +npm/npmjs/-/pretty-bytes/5.6.0, MIT, approved, clearlydefined +npm/npmjs/-/pretty-error/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/pretty-format/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1948 +npm/npmjs/-/pretty-format/28.1.3, MIT, approved, clearlydefined +npm/npmjs/-/pretty-format/29.5.0, MIT, approved, clearlydefined +npm/npmjs/-/process-nextick-args/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/promise/8.3.0, MIT, approved, clearlydefined +npm/npmjs/-/prompts/2.4.2, MIT, approved, clearlydefined +npm/npmjs/-/prop-types/15.8.1, MIT, approved, clearlydefined +npm/npmjs/-/proxy-addr/2.0.7, MIT, approved, clearlydefined +npm/npmjs/-/proxy-from-env/1.1.0, MIT, approved, clearlydefined +npm/npmjs/-/psl/1.9.0, MIT AND CC0-1.0, approved, #3080 +npm/npmjs/-/punycode/2.3.0, MIT, approved, #6373 +npm/npmjs/-/q/1.5.1, Apache-2.0 AND MIT, approved, #1020 +npm/npmjs/-/qs/6.11.0, BSD-3-Clause, approved, #7556 +npm/npmjs/-/qs/6.11.2, BSD-3-Clause, approved, #7556 +npm/npmjs/-/querystringify/2.2.0, MIT, approved, clearlydefined +npm/npmjs/-/queue-microtask/1.2.3, MIT, approved, clearlydefined +npm/npmjs/-/raf/3.4.1, MIT, approved, clearlydefined +npm/npmjs/-/randombytes/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/range-parser/1.2.1, MIT, approved, clearlydefined +npm/npmjs/-/raw-body/2.5.1, MIT, approved, clearlydefined +npm/npmjs/-/react-app-polyfill/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/react-dev-utils/12.0.1, MIT, approved, clearlydefined +npm/npmjs/-/react-dom/18.2.0, MIT, approved, clearlydefined +npm/npmjs/-/react-dropzone/14.2.3, MIT, approved, clearlydefined +npm/npmjs/-/react-error-overlay/6.0.11, MIT, approved, clearlydefined +npm/npmjs/-/react-fast-compare/3.2.2, MIT, approved, clearlydefined +npm/npmjs/-/react-hook-form/7.45.0, MIT, approved, #9156 +npm/npmjs/-/react-i18next/12.3.1, MIT, approved, clearlydefined +npm/npmjs/-/react-is/16.13.1, MIT, approved, clearlydefined +npm/npmjs/-/react-is/17.0.2, MIT, approved, clearlydefined +npm/npmjs/-/react-is/18.2.0, MIT, approved, clearlydefined +npm/npmjs/-/react-player/2.12.0, MIT, approved, clearlydefined +npm/npmjs/-/react-redux/8.1.1, MIT AND BSD-3-Clause, approved, #9134 +npm/npmjs/-/react-refresh/0.11.0, MIT, approved, clearlydefined +npm/npmjs/-/react-router-dom/6.13.0, MIT, approved, #9151 +npm/npmjs/-/react-router/6.13.0, MIT, approved, #9147 +npm/npmjs/-/react-scripts/5.0.1, MIT, approved, clearlydefined +npm/npmjs/-/react-slick/0.29.0, MIT, approved, clearlydefined +npm/npmjs/-/react-transition-group/4.4.5, BSD-3-Clause, approved, CQ22955 +npm/npmjs/-/react/18.2.0, MIT, approved, clearlydefined +npm/npmjs/-/read-cache/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/readable-stream/2.3.8, MIT, approved, #945 +npm/npmjs/-/readable-stream/3.6.2, MIT, approved, CQ22627 +npm/npmjs/-/readdirp/3.6.0, MIT, approved, #2977 +npm/npmjs/-/recursive-readdir/2.2.3, MIT, approved, clearlydefined +npm/npmjs/-/redent/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/redux-thunk/2.4.2, MIT, approved, clearlydefined +npm/npmjs/-/redux/4.2.1, CC0-1.0 AND MIT, approved, #7046 +npm/npmjs/-/regenerate-unicode-properties/10.1.0, MIT, approved, clearlydefined +npm/npmjs/-/regenerate/1.4.2, MIT, approved, clearlydefined +npm/npmjs/-/regenerator-runtime/0.13.11, MIT, approved, #4978 +npm/npmjs/-/regenerator-transform/0.15.1, MIT, approved, #5001 +npm/npmjs/-/regex-parser/2.2.11, MIT, approved, clearlydefined +npm/npmjs/-/regexp.prototype.flags/1.5.0, MIT, approved, #8199 +npm/npmjs/-/regexpp/3.2.0, MIT, approved, clearlydefined +npm/npmjs/-/regexpu-core/5.3.2, MIT, approved, #7117 +npm/npmjs/-/regjsparser/0.9.1, BSD-2-Clause AND (BSD-2-Clause AND BSD-3-Clause), approved, #3329 +npm/npmjs/-/relateurl/0.2.7, MIT, approved, clearlydefined +npm/npmjs/-/remove-accents/0.4.4, MIT, approved, clearlydefined +npm/npmjs/-/renderkid/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/require-directory/2.1.1, MIT, approved, clearlydefined +npm/npmjs/-/require-from-string/2.0.2, MIT, approved, clearlydefined +npm/npmjs/-/requires-port/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/reselect/4.1.8, MIT, approved, clearlydefined +npm/npmjs/-/resize-observer-polyfill/1.5.1, MIT, approved, clearlydefined +npm/npmjs/-/resolve-cwd/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/resolve-from/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/resolve-from/5.0.0, MIT, approved, clearlydefined +npm/npmjs/-/resolve-url-loader/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/resolve.exports/1.1.1, MIT, approved, clearlydefined +npm/npmjs/-/resolve/1.22.2, MIT AND ISC, approved, #2409 +npm/npmjs/-/resolve/2.0.0-next.4, MIT AND ISC, approved, #3078 +npm/npmjs/-/retry/0.13.1, MIT, approved, clearlydefined +npm/npmjs/-/reusify/1.0.4, MIT, approved, clearlydefined +npm/npmjs/-/rifm/0.12.1, MIT, approved, clearlydefined +npm/npmjs/-/rimraf/3.0.2, ISC, approved, clearlydefined +npm/npmjs/-/rollup-plugin-terser/7.0.2, MIT, approved, clearlydefined +npm/npmjs/-/rollup/2.79.1, MIT, approved, clearlydefined +npm/npmjs/-/run-parallel/1.2.0, MIT, approved, clearlydefined +npm/npmjs/-/safe-array-concat/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/safe-buffer/5.1.2, MIT, approved, clearlydefined +npm/npmjs/-/safe-buffer/5.2.1, MIT, approved, clearlydefined +npm/npmjs/-/safe-regex-test/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/safer-buffer/2.1.2, MIT, approved, clearlydefined +npm/npmjs/-/sanitize.css/13.0.0, CC0-1.0, approved, clearlydefined +npm/npmjs/-/sass-loader/12.6.0, MIT, approved, clearlydefined +npm/npmjs/-/sass/1.63.6, MIT, approved, #8718 +npm/npmjs/-/sax/1.2.4, ISC AND MIT AND ISC, approved, #5889 +npm/npmjs/-/saxes/5.0.1, ISC, approved, clearlydefined +npm/npmjs/-/scheduler/0.23.0, MIT, approved, clearlydefined +npm/npmjs/-/schema-utils/2.7.0, MIT, approved, clearlydefined +npm/npmjs/-/schema-utils/2.7.1, MIT, approved, clearlydefined +npm/npmjs/-/schema-utils/3.3.0, MIT, approved, #8952 +npm/npmjs/-/schema-utils/4.2.0, MIT, approved, #8986 +npm/npmjs/-/select-hose/2.0.0, MIT, approved, #145 +npm/npmjs/-/selfsigned/2.1.1, MIT, approved, clearlydefined +npm/npmjs/-/semver/6.3.0, ISC, approved, clearlydefined +npm/npmjs/-/semver/7.5.3, ISC, approved, clearlydefined +npm/npmjs/-/send/0.18.0, MIT, approved, clearlydefined +npm/npmjs/-/serialize-javascript/4.0.0, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/serialize-javascript/6.0.1, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/serve-index/1.9.1, MIT, approved, clearlydefined +npm/npmjs/-/serve-static/1.15.0, MIT, approved, clearlydefined +npm/npmjs/-/setprototypeof/1.1.0, ISC, approved, clearlydefined +npm/npmjs/-/setprototypeof/1.2.0, ISC, approved, clearlydefined +npm/npmjs/-/shebang-command/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/shebang-regex/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/shell-quote/1.8.1, MIT, approved, #7044 +npm/npmjs/-/side-channel/1.0.4, MIT, approved, clearlydefined +npm/npmjs/-/signal-exit/3.0.7, ISC, approved, #5892 +npm/npmjs/-/sisteransi/1.0.5, MIT, approved, clearlydefined +npm/npmjs/-/slash/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/slash/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/slick-carousel/1.8.1, MIT, approved, #2986 +npm/npmjs/-/sockjs/0.3.24, MIT, approved, #2985 +npm/npmjs/-/source-list-map/2.0.1, BSD-3-Clause AND MIT, approved, #978 +npm/npmjs/-/source-map-js/1.0.2, BSD-3-Clause, approved, #2412 +npm/npmjs/-/source-map-loader/3.0.2, MIT, approved, clearlydefined +npm/npmjs/-/source-map-support/0.5.21, MIT, approved, clearlydefined +npm/npmjs/-/source-map/0.5.7, BSD-3-Clause, approved, #2400 +npm/npmjs/-/source-map/0.6.1, BSD-3-Clause, approved, #2417 +npm/npmjs/-/source-map/0.7.4, BSD-3-Clause, approved, #2416 +npm/npmjs/-/source-map/0.8.0-beta.0, BSD-3-Clause, approved, #2984 +npm/npmjs/-/sourcemap-codec/1.4.8, MIT, approved, clearlydefined +npm/npmjs/-/spdy-transport/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/spdy/4.0.2, MIT, approved, #2926 +npm/npmjs/-/sprintf-js/1.0.3, BSD-3-Clause, approved, #949 +npm/npmjs/-/stable/0.1.8, MIT, approved, clearlydefined +npm/npmjs/-/stack-utils/2.0.6, MIT, approved, clearlydefined +npm/npmjs/-/stackframe/1.3.4, MIT, approved, clearlydefined +npm/npmjs/-/statuses/1.5.0, MIT, approved, clearlydefined +npm/npmjs/-/statuses/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/stop-iteration-iterator/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/string-convert/0.2.1, MIT, approved, clearlydefined +npm/npmjs/-/string-length/4.0.2, MIT, approved, clearlydefined +npm/npmjs/-/string-length/5.0.1, MIT, approved, clearlydefined +npm/npmjs/-/string-natural-compare/3.0.1, MIT, approved, clearlydefined +npm/npmjs/-/string-width/4.2.3, MIT, approved, clearlydefined +npm/npmjs/-/string.prototype.matchall/4.0.8, MIT, approved, #4571 +npm/npmjs/-/string.prototype.trim/1.2.7, MIT, approved, clearlydefined +npm/npmjs/-/string.prototype.trimend/1.0.6, MIT, approved, #4564 +npm/npmjs/-/string.prototype.trimstart/1.0.6, MIT, approved, #4647 +npm/npmjs/-/string_decoder/1.1.1, MIT, approved, clearlydefined +npm/npmjs/-/string_decoder/1.3.0, MIT, approved, clearlydefined +npm/npmjs/-/stringify-object/3.3.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/strip-ansi/6.0.1, MIT, approved, clearlydefined +npm/npmjs/-/strip-ansi/7.1.0, MIT, approved, #8735 +npm/npmjs/-/strip-bom/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/strip-bom/4.0.0, MIT, approved, clearlydefined +npm/npmjs/-/strip-comments/2.0.1, MIT, approved, clearlydefined +npm/npmjs/-/strip-final-newline/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/strip-indent/3.0.0, MIT, approved, clearlydefined +npm/npmjs/-/strip-json-comments/3.1.1, MIT, approved, clearlydefined +npm/npmjs/-/style-loader/3.3.3, MIT, approved, clearlydefined +npm/npmjs/-/stylehacks/5.1.1, MIT, approved, clearlydefined +npm/npmjs/-/stylis/4.2.0, MIT, approved, #8409 +npm/npmjs/-/sucrase/3.32.0, MIT, approved, #8042 +npm/npmjs/-/supports-color/5.5.0, MIT, approved, clearlydefined +npm/npmjs/-/supports-color/7.2.0, MIT, approved, clearlydefined +npm/npmjs/-/supports-color/8.1.1, MIT, approved, clearlydefined +npm/npmjs/-/supports-hyperlinks/2.3.0, MIT, approved, clearlydefined +npm/npmjs/-/supports-preserve-symlinks-flag/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/svg-parser/2.0.4, MIT, approved, clearlydefined +npm/npmjs/-/svgo/1.3.2, MIT, approved, clearlydefined +npm/npmjs/-/svgo/2.8.0, MIT AND (0BSD AND BSD-2-Clause AND MIT) AND Apache-2.0, approved, #2989 +npm/npmjs/-/symbol-tree/3.2.4, MIT, approved, clearlydefined +npm/npmjs/-/tailwindcss/3.3.2, MIT AND (Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND ISC AND MIT) AND CC0-1.0, approved, #8390 +npm/npmjs/-/tapable/1.1.3, MIT, approved, clearlydefined +npm/npmjs/-/tapable/2.2.1, MIT, approved, clearlydefined +npm/npmjs/-/temp-dir/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/tempy/0.6.0, MIT, approved, clearlydefined +npm/npmjs/-/terminal-link/2.1.1, MIT, approved, clearlydefined +npm/npmjs/-/terser-webpack-plugin/5.3.9, MIT AND (Apache-2.0 AND MIT) AND Apache-2.0, approved, #7461 +npm/npmjs/-/terser/5.18.1, BSD-2-Clause AND BSD-3-Clause AND BSD-2-Clause, approved, #8970 +npm/npmjs/-/test-exclude/6.0.0, ISC, approved, clearlydefined +npm/npmjs/-/text-table/0.2.0, MIT, approved, clearlydefined +npm/npmjs/-/thenify-all/1.6.0, MIT, approved, clearlydefined +npm/npmjs/-/thenify/3.3.1, MIT, approved, clearlydefined +npm/npmjs/-/throat/6.0.2, MIT, approved, clearlydefined +npm/npmjs/-/thunky/1.1.0, MIT, approved, clearlydefined +npm/npmjs/-/tmpl/1.0.5, BSD-3-Clause, approved, clearlydefined +npm/npmjs/-/to-fast-properties/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/to-regex-range/5.0.1, MIT, approved, clearlydefined +npm/npmjs/-/toidentifier/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/tough-cookie/4.1.3, BSD-3-Clause AND MIT, approved, #8743 +npm/npmjs/-/tr46/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/tr46/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/tryer/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/ts-interface-checker/0.1.13, Apache-2.0, approved, clearlydefined +npm/npmjs/-/tsconfig-paths/3.14.2, MIT, approved, clearlydefined +npm/npmjs/-/tslib/1.14.1, 0BSD, approved, clearlydefined +npm/npmjs/-/tslib/2.5.3, 0BSD, approved, #6747 +npm/npmjs/-/tsutils/3.21.0, MIT, approved, clearlydefined +npm/npmjs/-/type-check/0.3.2, MIT, approved, clearlydefined +npm/npmjs/-/type-check/0.4.0, MIT, approved, clearlydefined +npm/npmjs/-/type-detect/4.0.8, MIT, approved, clearlydefined +npm/npmjs/-/type-fest/0.16.0, MIT OR (CC0-1.0 AND MIT), approved, clearlydefined +npm/npmjs/-/type-fest/0.20.2, MIT OR (CC0-1.0 AND MIT), approved, clearlydefined +npm/npmjs/-/type-fest/0.21.3, MIT OR (CC0-1.0 AND MIT), approved, clearlydefined +npm/npmjs/-/type-is/1.6.18, MIT, approved, clearlydefined +npm/npmjs/-/typed-array-length/1.0.4, MIT, approved, #6246 +npm/npmjs/-/typedarray-to-buffer/3.1.5, MIT, approved, clearlydefined +npm/npmjs/-/typescript/5.0.4, Apache-2.0, approved, #7710 +npm/npmjs/-/unbox-primitive/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/unicode-canonical-property-names-ecmascript/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/unicode-match-property-ecmascript/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/unicode-match-property-value-ecmascript/2.1.0, MIT, approved, #4991 +npm/npmjs/-/unicode-property-aliases-ecmascript/2.1.0, MIT, approved, clearlydefined +npm/npmjs/-/unique-string/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/universalify/0.2.0, MIT, approved, clearlydefined +npm/npmjs/-/universalify/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/unpipe/1.0.0, MIT, approved, clearlydefined +npm/npmjs/-/unquote/1.1.1, MIT, approved, clearlydefined +npm/npmjs/-/upath/1.2.0, MIT, approved, clearlydefined +npm/npmjs/-/update-browserslist-db/1.0.11, MIT, approved, #8237 +npm/npmjs/-/uri-js/4.4.1, BSD-2-Clause, approved, #1086 +npm/npmjs/-/url-parse/1.5.10, MIT, approved, clearlydefined +npm/npmjs/-/use-sync-external-store/1.2.0, MIT, approved, clearlydefined +npm/npmjs/-/util-deprecate/1.0.2, MIT, approved, #5885 +npm/npmjs/-/util.promisify/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/utila/0.4.0, MIT, approved, clearlydefined +npm/npmjs/-/utils-merge/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/uuid/8.3.2, MIT AND (BSD-3-Clause AND MIT), approved, #2438 +npm/npmjs/-/v8-to-istanbul/8.1.1, ISC, approved, clearlydefined +npm/npmjs/-/vary/1.1.2, MIT, approved, clearlydefined +npm/npmjs/-/void-elements/3.1.0, MIT, approved, clearlydefined +npm/npmjs/-/w3c-hr-time/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/w3c-xmlserializer/2.0.0, MIT, approved, clearlydefined +npm/npmjs/-/walker/1.0.8, Apache-2.0, approved, clearlydefined +npm/npmjs/-/watchpack/2.4.0, MIT, approved, clearlydefined +npm/npmjs/-/wbuf/1.7.3, MIT, approved, clearlydefined +npm/npmjs/-/webidl-conversions/4.0.2, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/webidl-conversions/5.0.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/webidl-conversions/6.1.0, BSD-2-Clause, approved, clearlydefined +npm/npmjs/-/webpack-dev-middleware/5.3.3, MIT, approved, clearlydefined +npm/npmjs/-/webpack-dev-server/4.15.1, MIT, approved, #8400 +npm/npmjs/-/webpack-manifest-plugin/4.1.1, MIT, approved, clearlydefined +npm/npmjs/-/webpack-sources/1.4.3, MIT, approved, clearlydefined +npm/npmjs/-/webpack-sources/2.3.1, MIT, approved, clearlydefined +npm/npmjs/-/webpack-sources/3.2.3, MIT, approved, clearlydefined +npm/npmjs/-/webpack/5.88.0, MIT, approved, #9185 +npm/npmjs/-/websocket-driver/0.7.4, Apache-2.0, approved, clearlydefined +npm/npmjs/-/websocket-extensions/0.1.4, Apache-2.0, approved, CQ23021 +npm/npmjs/-/whatwg-encoding/1.0.5, MIT, approved, clearlydefined +npm/npmjs/-/whatwg-fetch/3.6.2, MIT, approved, clearlydefined +npm/npmjs/-/whatwg-mimetype/2.3.0, MIT, approved, clearlydefined +npm/npmjs/-/whatwg-url/7.1.0, MIT, approved, clearlydefined +npm/npmjs/-/whatwg-url/8.7.0, MIT, approved, clearlydefined +npm/npmjs/-/which-boxed-primitive/1.0.2, MIT, approved, clearlydefined +npm/npmjs/-/which-collection/1.0.1, MIT, approved, clearlydefined +npm/npmjs/-/which-typed-array/1.1.9, MIT, approved, #4864 +npm/npmjs/-/which/1.3.1, ISC, approved, clearlydefined +npm/npmjs/-/which/2.0.2, ISC, approved, clearlydefined +npm/npmjs/-/word-wrap/1.2.3, MIT, approved, clearlydefined +npm/npmjs/-/workbox-background-sync/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-broadcast-update/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-build/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-cacheable-response/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-core/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-expiration/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-google-analytics/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-navigation-preload/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-precaching/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-range-requests/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-recipes/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-routing/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-strategies/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-streams/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-sw/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-webpack-plugin/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/workbox-window/6.6.1, MIT, approved, clearlydefined +npm/npmjs/-/wrap-ansi/7.0.0, MIT, approved, clearlydefined +npm/npmjs/-/wrappy/1.0.2, ISC, approved, clearlydefined +npm/npmjs/-/write-file-atomic/3.0.3, ISC, approved, clearlydefined +npm/npmjs/-/ws/7.5.9, MIT, approved, #1940 +npm/npmjs/-/ws/8.13.0, MIT, approved, #7453 +npm/npmjs/-/xml-name-validator/3.0.0, Apache-2.0, approved, clearlydefined +npm/npmjs/-/xmlchars/2.2.0, MIT, approved, clearlydefined +npm/npmjs/-/y18n/5.0.8, ISC, approved, clearlydefined +npm/npmjs/-/yallist/3.1.1, ISC, approved, clearlydefined +npm/npmjs/-/yallist/4.0.0, ISC, approved, clearlydefined +npm/npmjs/-/yaml/1.10.2, ISC, approved, clearlydefined +npm/npmjs/-/yaml/2.3.1, ISC AND 0BSD, approved, #9019 +npm/npmjs/-/yargs-parser/20.2.9, ISC, approved, clearlydefined +npm/npmjs/-/yargs/16.2.0, MIT, approved, clearlydefined +npm/npmjs/-/yocto-queue/0.1.0, MIT, approved, clearlydefined +npm/npmjs/@adobe/css-tools/4.2.0, MIT, approved, #7202 +npm/npmjs/@alloc/quick-lru/5.2.0, MIT, approved, clearlydefined +npm/npmjs/@ampproject/remapping/2.2.1, Apache-2.0, approved, clearlydefined +npm/npmjs/@apideck/better-ajv-errors/0.3.6, MIT, approved, clearlydefined +npm/npmjs/@babel/code-frame/7.22.5, MIT, approved, #8946 +npm/npmjs/@babel/compat-data/7.22.5, MIT, approved, #9062 +npm/npmjs/@babel/core/7.22.5, MIT, approved, #9057 +npm/npmjs/@babel/eslint-parser/7.22.5, MIT, approved, #9138 +npm/npmjs/@babel/generator/7.22.5, MIT, approved, #9002 +npm/npmjs/@babel/helper-annotate-as-pure/7.22.5, MIT, approved, #9009 +npm/npmjs/@babel/helper-builder-binary-assignment-operator-visitor/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8765 +npm/npmjs/@babel/helper-compilation-targets/7.22.5, MIT, approved, #9037 +npm/npmjs/@babel/helper-create-class-features-plugin/7.22.5, MIT, approved, #8985 +npm/npmjs/@babel/helper-create-regexp-features-plugin/7.22.5, MIT, approved, #8950 +npm/npmjs/@babel/helper-define-polyfill-provider/0.4.0, MIT, approved, #9314 +npm/npmjs/@babel/helper-environment-visitor/7.22.5, MIT, approved, #8934 +npm/npmjs/@babel/helper-function-name/7.22.5, MIT, approved, #9071 +npm/npmjs/@babel/helper-hoist-variables/7.22.5, MIT, approved, #8957 +npm/npmjs/@babel/helper-member-expression-to-functions/7.22.5, MIT, approved, #8966 +npm/npmjs/@babel/helper-module-imports/7.22.5, MIT, approved, #8944 +npm/npmjs/@babel/helper-module-transforms/7.22.5, MIT, approved, #9067 +npm/npmjs/@babel/helper-optimise-call-expression/7.22.5, MIT, approved, #9011 +npm/npmjs/@babel/helper-plugin-utils/7.22.5, MIT, approved, #9012 +npm/npmjs/@babel/helper-remap-async-to-generator/7.22.5, MIT, approved, #8981 +npm/npmjs/@babel/helper-replace-supers/7.22.5, MIT, approved, #9068 +npm/npmjs/@babel/helper-simple-access/7.22.5, MIT, approved, #9048 +npm/npmjs/@babel/helper-skip-transparent-expression-wrappers/7.22.5, MIT, approved, #8984 +npm/npmjs/@babel/helper-split-export-declaration/7.22.5, MIT, approved, #8938 +npm/npmjs/@babel/helper-string-parser/7.22.5, MIT, approved, #8962 +npm/npmjs/@babel/helper-validator-identifier/7.22.5, MIT, approved, #8955 +npm/npmjs/@babel/helper-validator-option/7.22.5, MIT, approved, #8961 +npm/npmjs/@babel/helper-wrap-function/7.22.5, MIT, approved, #8951 +npm/npmjs/@babel/helpers/7.22.5, MIT, approved, #9060 +npm/npmjs/@babel/highlight/7.22.5, MIT, approved, #9073 +npm/npmjs/@babel/parser/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8784 +npm/npmjs/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.22.5, MIT, approved, #9072 +npm/npmjs/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8762 +npm/npmjs/@babel/plugin-proposal-class-properties/7.18.6, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-proposal-decorators/7.22.5, MIT, approved, #9148 +npm/npmjs/@babel/plugin-proposal-nullish-coalescing-operator/7.18.6, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-proposal-numeric-separator/7.18.6, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-proposal-optional-chaining/7.21.0, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-proposal-private-methods/7.18.6, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-proposal-private-property-in-object/7.21.0-placeholder-for-preset-env.2, MIT, approved, #8768 +npm/npmjs/@babel/plugin-proposal-private-property-in-object/7.21.11, MIT, approved, #8768 +npm/npmjs/@babel/plugin-proposal-unicode-property-regex/7.18.6, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-async-generators/7.8.4, MIT, approved, #1973 +npm/npmjs/@babel/plugin-syntax-bigint/7.8.3, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-class-properties/7.12.13, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-class-static-block/7.14.5, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-decorators/7.22.5, MIT, approved, #9141 +npm/npmjs/@babel/plugin-syntax-dynamic-import/7.8.3, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-export-namespace-from/7.8.3, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-flow/7.22.5, MIT, approved, #9076 +npm/npmjs/@babel/plugin-syntax-import-assertions/7.22.5, MIT, approved, #9042 +npm/npmjs/@babel/plugin-syntax-import-attributes/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8739 +npm/npmjs/@babel/plugin-syntax-import-meta/7.10.4, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-json-strings/7.8.3, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-jsx/7.22.5, MIT, approved, #9014 +npm/npmjs/@babel/plugin-syntax-logical-assignment-operators/7.10.4, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-numeric-separator/7.10.4, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-object-rest-spread/7.8.3, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-optional-catch-binding/7.8.3, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-optional-chaining/7.8.3, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-private-property-in-object/7.14.5, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-top-level-await/7.14.5, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-syntax-typescript/7.22.5, MIT, approved, #8994 +npm/npmjs/@babel/plugin-syntax-unicode-sets-regex/7.18.6, MIT, approved, clearlydefined +npm/npmjs/@babel/plugin-transform-arrow-functions/7.22.5, MIT, approved, #9046 +npm/npmjs/@babel/plugin-transform-async-generator-functions/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8756 +npm/npmjs/@babel/plugin-transform-async-to-generator/7.22.5, MIT, approved, #8963 +npm/npmjs/@babel/plugin-transform-block-scoped-functions/7.22.5, MIT, approved, #9008 +npm/npmjs/@babel/plugin-transform-block-scoping/7.22.5, MIT, approved, #8945 +npm/npmjs/@babel/plugin-transform-class-properties/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8769 +npm/npmjs/@babel/plugin-transform-class-static-block/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8753 +npm/npmjs/@babel/plugin-transform-classes/7.22.5, MIT, approved, #8975 +npm/npmjs/@babel/plugin-transform-computed-properties/7.22.5, MIT, approved, #9022 +npm/npmjs/@babel/plugin-transform-destructuring/7.22.5, MIT, approved, #8971 +npm/npmjs/@babel/plugin-transform-dotall-regex/7.22.5, MIT, approved, #9056 +npm/npmjs/@babel/plugin-transform-duplicate-keys/7.22.5, MIT, approved, #9039 +npm/npmjs/@babel/plugin-transform-dynamic-import/7.22.5, MIT, approved, #9016 +npm/npmjs/@babel/plugin-transform-exponentiation-operator/7.22.5, MIT, approved, #9001 +npm/npmjs/@babel/plugin-transform-export-namespace-from/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8731 +npm/npmjs/@babel/plugin-transform-flow-strip-types/7.22.5, MIT, approved, #9023 +npm/npmjs/@babel/plugin-transform-for-of/7.22.5, MIT, approved, #8933 +npm/npmjs/@babel/plugin-transform-function-name/7.22.5, MIT, approved, #8936 +npm/npmjs/@babel/plugin-transform-json-strings/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8747 +npm/npmjs/@babel/plugin-transform-literals/7.22.5, MIT, approved, #9044 +npm/npmjs/@babel/plugin-transform-logical-assignment-operators/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8720 +npm/npmjs/@babel/plugin-transform-member-expression-literals/7.22.5, MIT, approved, #9065 +npm/npmjs/@babel/plugin-transform-modules-amd/7.22.5, MIT, approved, #8925 +npm/npmjs/@babel/plugin-transform-modules-commonjs/7.22.5, MIT, approved, #9021 +npm/npmjs/@babel/plugin-transform-modules-systemjs/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8767 +npm/npmjs/@babel/plugin-transform-modules-umd/7.22.5, MIT, approved, #8997 +npm/npmjs/@babel/plugin-transform-named-capturing-groups-regex/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8738 +npm/npmjs/@babel/plugin-transform-new-target/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8737 +npm/npmjs/@babel/plugin-transform-nullish-coalescing-operator/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8763 +npm/npmjs/@babel/plugin-transform-numeric-separator/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8734 +npm/npmjs/@babel/plugin-transform-object-rest-spread/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8726 +npm/npmjs/@babel/plugin-transform-object-super/7.22.5, MIT, approved, #9045 +npm/npmjs/@babel/plugin-transform-optional-catch-binding/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8723 +npm/npmjs/@babel/plugin-transform-optional-chaining/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8740 +npm/npmjs/@babel/plugin-transform-parameters/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8741 +npm/npmjs/@babel/plugin-transform-private-methods/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8757 +npm/npmjs/@babel/plugin-transform-private-property-in-object/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8725 +npm/npmjs/@babel/plugin-transform-property-literals/7.22.5, MIT, approved, #8922 +npm/npmjs/@babel/plugin-transform-react-constant-elements/7.22.5, MIT, approved, #9154 +npm/npmjs/@babel/plugin-transform-react-display-name/7.22.5, MIT, approved, #9028 +npm/npmjs/@babel/plugin-transform-react-jsx-development/7.22.5, MIT, approved, #9025 +npm/npmjs/@babel/plugin-transform-react-jsx/7.22.5, MIT, approved, #9007 +npm/npmjs/@babel/plugin-transform-react-pure-annotations/7.22.5, MIT, approved, #9066 +npm/npmjs/@babel/plugin-transform-regenerator/7.22.5, MIT, approved, #9063 +npm/npmjs/@babel/plugin-transform-reserved-words/7.22.5, MIT, approved, #9029 +npm/npmjs/@babel/plugin-transform-runtime/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8746 +npm/npmjs/@babel/plugin-transform-shorthand-properties/7.22.5, MIT, approved, #9013 +npm/npmjs/@babel/plugin-transform-spread/7.22.5, MIT, approved, #8996 +npm/npmjs/@babel/plugin-transform-sticky-regex/7.22.5, MIT, approved, #8988 +npm/npmjs/@babel/plugin-transform-template-literals/7.22.5, MIT, approved, #9080 +npm/npmjs/@babel/plugin-transform-typeof-symbol/7.22.5, MIT, approved, #9061 +npm/npmjs/@babel/plugin-transform-typescript/7.22.5, MIT, approved, #8948 +npm/npmjs/@babel/plugin-transform-unicode-escapes/7.22.5, MIT, approved, #8998 +npm/npmjs/@babel/plugin-transform-unicode-property-regex/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8727 +npm/npmjs/@babel/plugin-transform-unicode-regex/7.22.5, MIT, approved, #8929 +npm/npmjs/@babel/plugin-transform-unicode-sets-regex/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8755 +npm/npmjs/@babel/preset-env/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8748 +npm/npmjs/@babel/preset-modules/0.1.5, MIT, approved, clearlydefined +npm/npmjs/@babel/preset-react/7.22.5, MIT, approved, #8987 +npm/npmjs/@babel/preset-typescript/7.22.5, MIT, approved, #9074 +npm/npmjs/@babel/regjsgen/0.8.0, MIT, approved, #7149 +npm/npmjs/@babel/runtime/7.22.5, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-2-Clause AND BSD-3-Clause, approved, #8730 +npm/npmjs/@babel/template/7.22.5, MIT, approved, #9017 +npm/npmjs/@babel/traverse/7.22.5, MIT, approved, #8954 +npm/npmjs/@babel/types/7.22.5, MIT, approved, #8967 +npm/npmjs/@bcoe/v8-coverage/0.2.3, ISC AND MIT, approved, clearlydefined +npm/npmjs/@catena-x/portal-shared-components/2.0.5, Apache-2.0 AND (BSD-3-Clause AND MIT), approved, #9187 +npm/npmjs/@csstools/normalize.css/12.0.0, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-cascade-layers/1.1.1, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-color-function/1.1.1, CC0-1.0 AND (MIT AND W3C-20150513) AND W3C-20150513 AND MIT, approved, #3022 +npm/npmjs/@csstools/postcss-font-format-keywords/1.0.1, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-hwb-function/1.0.2, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-ic-unit/1.0.1, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-is-pseudo-class/2.0.7, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-nested-calc/1.0.0, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-normalize-display-values/1.0.1, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-oklab-function/1.1.1, CC0-1.0 AND (MIT AND W3C-20150513) AND W3C-20150513 AND MIT, approved, #3026 +npm/npmjs/@csstools/postcss-progressive-custom-properties/1.3.0, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-stepped-value-functions/1.0.1, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-text-decoration-shorthand/1.0.0, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-trigonometric-functions/1.0.2, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/postcss-unset-value/1.0.2, CC0-1.0, approved, clearlydefined +npm/npmjs/@csstools/selector-specificity/2.2.0, CC0-1.0, approved, clearlydefined +npm/npmjs/@date-io/core/2.16.0, MIT, approved, clearlydefined +npm/npmjs/@date-io/date-fns/2.16.0, MIT, approved, clearlydefined +npm/npmjs/@date-io/dayjs/2.16.0, MIT, approved, clearlydefined +npm/npmjs/@date-io/luxon/2.16.1, MIT, approved, clearlydefined +npm/npmjs/@date-io/moment/2.16.1, MIT, approved, clearlydefined +npm/npmjs/@emotion/babel-plugin/11.11.0, MIT, approved, #8386 +npm/npmjs/@emotion/cache/11.11.0, MIT, approved, #8401 +npm/npmjs/@emotion/hash/0.9.1, MIT, approved, #8394 +npm/npmjs/@emotion/is-prop-valid/1.2.1, MIT, approved, #8392 +npm/npmjs/@emotion/memoize/0.8.1, MIT, approved, #8408 +npm/npmjs/@emotion/react/11.11.1, MIT AND (BSD-3-Clause AND MIT), approved, #8931 +npm/npmjs/@emotion/serialize/1.1.2, MIT, approved, #8417 +npm/npmjs/@emotion/sheet/1.2.2, MIT, approved, #8389 +npm/npmjs/@emotion/styled/11.11.0, MIT, approved, clearlydefined +npm/npmjs/@emotion/unitless/0.8.1, MIT, approved, #8403 +npm/npmjs/@emotion/use-insertion-effect-with-fallbacks/1.0.1, MIT, approved, #8419 +npm/npmjs/@emotion/utils/1.2.1, MIT, approved, #8415 +npm/npmjs/@emotion/weak-memoize/0.3.1, MIT, approved, #8402 +npm/npmjs/@eslint-community/eslint-utils/4.4.0, MIT, approved, #8032 +npm/npmjs/@eslint-community/regexpp/4.5.1, MIT, approved, clearlydefined +npm/npmjs/@eslint/eslintrc/2.0.3, MIT, approved, #7481 +npm/npmjs/@eslint/js/8.37.0, MIT, approved, clearlydefined +npm/npmjs/@eslint/js/8.43.0, MIT, approved, clearlydefined +npm/npmjs/@hookform/error-message/2.0.1, MIT, approved, clearlydefined +npm/npmjs/@humanwhocodes/config-array/0.11.10, Apache-2.0, approved, #5876 +npm/npmjs/@humanwhocodes/module-importer/1.0.1, Apache-2.0, approved, clearlydefined +npm/npmjs/@humanwhocodes/object-schema/1.2.1, BSD-3-Clause, approved, clearlydefined +npm/npmjs/@istanbuljs/load-nyc-config/1.1.0, ISC, approved, clearlydefined +npm/npmjs/@istanbuljs/schema/0.1.3, MIT, approved, clearlydefined +npm/npmjs/@jest/console/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/console/28.1.3, MIT, approved, clearlydefined +npm/npmjs/@jest/core/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/environment/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/expect-utils/29.5.0, MIT, approved, clearlydefined +npm/npmjs/@jest/fake-timers/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/globals/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/reporters/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/schemas/28.1.3, MIT, approved, clearlydefined +npm/npmjs/@jest/schemas/29.4.3, MIT, approved, clearlydefined +npm/npmjs/@jest/source-map/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/test-result/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/test-result/28.1.3, MIT, approved, clearlydefined +npm/npmjs/@jest/test-sequencer/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/transform/27.5.1, MIT, approved, clearlydefined +npm/npmjs/@jest/types/27.5.1, 0BSD AND Apache-2.0 AND BSD-2-Clause AND MIT, approved, #1960 +npm/npmjs/@jest/types/28.1.3, MIT, approved, clearlydefined +npm/npmjs/@jest/types/29.5.0, MIT, approved, clearlydefined +npm/npmjs/@jridgewell/gen-mapping/0.3.3, MIT, approved, clearlydefined +npm/npmjs/@jridgewell/resolve-uri/3.1.0, MIT, approved, clearlydefined +npm/npmjs/@jridgewell/set-array/1.1.2, MIT, approved, clearlydefined +npm/npmjs/@jridgewell/source-map/0.3.3, MIT, approved, #9304 +npm/npmjs/@jridgewell/sourcemap-codec/1.4.14, MIT, approved, clearlydefined +npm/npmjs/@jridgewell/sourcemap-codec/1.4.15, MIT, approved, clearlydefined +npm/npmjs/@jridgewell/trace-mapping/0.3.18, MIT, approved, clearlydefined +npm/npmjs/@leichtgewicht/ip-codec/2.0.4, MIT, approved, clearlydefined +npm/npmjs/@mui/base/5.0.0-beta.4, MIT, approved, #2992 +npm/npmjs/@mui/core-downloads-tracker/5.13.4, MIT, approved, #8983 +npm/npmjs/@mui/icons-material/5.11.16, MIT AND OFL-1.1 AND CC-BY-3.0, approved, #6621 +npm/npmjs/@mui/material/5.13.5, MIT, approved, #8930 +npm/npmjs/@mui/private-theming/5.13.1, MIT, approved, #9047 +npm/npmjs/@mui/styled-engine/5.13.2, MIT, approved, #8968 +npm/npmjs/@mui/system/5.13.5, MIT, approved, #9075 +npm/npmjs/@mui/types/7.2.4, MIT, approved, clearlydefined +npm/npmjs/@mui/utils/5.13.1, MIT, approved, #8982 +npm/npmjs/@mui/x-data-grid/5.17.26, MIT, approved, #3248 +npm/npmjs/@mui/x-date-pickers/5.0.20, MIT, approved, #3247 +npm/npmjs/@nicolo-ribaudo/eslint-scope-5-internals/5.1.1-v1, MIT, approved, clearlydefined +npm/npmjs/@nodelib/fs.scandir/2.1.5, MIT, approved, clearlydefined +npm/npmjs/@nodelib/fs.stat/2.0.5, MIT, approved, clearlydefined +npm/npmjs/@nodelib/fs.walk/1.2.8, MIT, approved, clearlydefined +npm/npmjs/@pmmmwh/react-refresh-webpack-plugin/0.5.10, MIT, approved, clearlydefined +npm/npmjs/@popperjs/core/2.11.8, MIT, approved, clearlydefined +npm/npmjs/@react-hook/cache/1.1.1, MIT, approved, clearlydefined +npm/npmjs/@react-hook/latest/1.0.3, MIT, approved, clearlydefined +npm/npmjs/@reduxjs/toolkit/1.9.5, MIT AND (BSD-2-Clause AND MIT) AND Apache-2.0, approved, #7050 +npm/npmjs/@remix-run/router/1.6.3, MIT, approved, #8387 +npm/npmjs/@rollup/plugin-babel/5.3.1, MIT, approved, clearlydefined +npm/npmjs/@rollup/plugin-node-resolve/11.2.1, MIT, approved, clearlydefined +npm/npmjs/@rollup/plugin-replace/2.4.2, MIT, approved, clearlydefined +npm/npmjs/@rollup/pluginutils/3.1.0, MIT, approved, clearlydefined +npm/npmjs/@rushstack/eslint-patch/1.3.2, MIT, approved, #9132 +npm/npmjs/@sinclair/typebox/0.24.51, MIT, approved, #3330 +npm/npmjs/@sinclair/typebox/0.25.24, MIT, approved, clearlydefined +npm/npmjs/@sinonjs/commons/1.8.6, BSD-3-Clause, approved, #4340 +npm/npmjs/@sinonjs/fake-timers/8.1.0, BSD-3-Clause, approved, #2563 +npm/npmjs/@surma/rollup-plugin-off-main-thread/2.2.3, Apache-2.0, approved, #3006 +npm/npmjs/@svgr/babel-plugin-add-jsx-attribute/5.4.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/babel-plugin-remove-jsx-attribute/5.4.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/babel-plugin-remove-jsx-empty-expression/5.0.1, MIT, approved, clearlydefined +npm/npmjs/@svgr/babel-plugin-replace-jsx-attribute-value/5.0.1, MIT, approved, clearlydefined +npm/npmjs/@svgr/babel-plugin-svg-dynamic-title/5.4.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/babel-plugin-svg-em-dimensions/5.4.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/babel-plugin-transform-react-native-svg/5.4.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/babel-plugin-transform-svg-component/5.5.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/babel-preset/5.5.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/core/5.5.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/hast-util-to-babel-ast/5.5.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/plugin-jsx/5.5.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/plugin-svgo/5.5.0, MIT, approved, clearlydefined +npm/npmjs/@svgr/webpack/5.5.0, MIT, approved, clearlydefined +npm/npmjs/@testing-library/dom/8.20.1, MIT, approved, #6929 +npm/npmjs/@testing-library/dom/9.3.1, MIT AND (MIT AND WTFPL), approved, #9038 +npm/npmjs/@testing-library/jest-dom/5.16.5, MIT, approved, clearlydefined +npm/npmjs/@testing-library/react/13.4.0, MIT, approved, #3261 +npm/npmjs/@testing-library/user-event/13.5.0, MIT, approved, clearlydefined +npm/npmjs/@tootallnate/once/1.1.2, MIT, approved, clearlydefined +npm/npmjs/@trysound/sax/0.2.0, ISC, approved, clearlydefined +npm/npmjs/@types/aria-query/5.0.1, MIT, approved, clearlydefined +npm/npmjs/@types/babel__core/7.20.1, MIT, approved, clearlydefined +npm/npmjs/@types/babel__generator/7.6.4, MIT, approved, clearlydefined +npm/npmjs/@types/babel__template/7.4.1, MIT, approved, clearlydefined +npm/npmjs/@types/babel__traverse/7.20.1, MIT, approved, #8935 +npm/npmjs/@types/body-parser/1.19.2, MIT, approved, clearlydefined +npm/npmjs/@types/bonjour/3.5.10, MIT, approved, clearlydefined +npm/npmjs/@types/connect-history-api-fallback/1.5.0, MIT, approved, #8395 +npm/npmjs/@types/connect/3.4.35, MIT, approved, clearlydefined +npm/npmjs/@types/eslint-scope/3.7.4, MIT, approved, clearlydefined +npm/npmjs/@types/eslint/8.40.2, MIT, approved, #8764 +npm/npmjs/@types/estree/0.0.39, MIT, approved, clearlydefined +npm/npmjs/@types/estree/1.0.1, MIT, approved, #8266 +npm/npmjs/@types/express-serve-static-core/4.17.35, MIT, approved, #6020 +npm/npmjs/@types/express/4.17.17, MIT, approved, #5760 +npm/npmjs/@types/graceful-fs/4.1.6, MIT, approved, clearlydefined +npm/npmjs/@types/hoist-non-react-statics/3.3.1, MIT, approved, clearlydefined +npm/npmjs/@types/html-minifier-terser/6.1.0, MIT, approved, clearlydefined +npm/npmjs/@types/http-errors/2.0.1, MIT, approved, clearlydefined +npm/npmjs/@types/http-proxy/1.17.11, MIT, approved, #8414 +npm/npmjs/@types/istanbul-lib-coverage/2.0.4, MIT, approved, clearlydefined +npm/npmjs/@types/istanbul-lib-report/3.0.0, MIT, approved, clearlydefined +npm/npmjs/@types/istanbul-reports/3.0.1, MIT, approved, clearlydefined +npm/npmjs/@types/jest/27.5.2, MIT, approved, clearlydefined +npm/npmjs/@types/jest/29.5.2, MIT, approved, clearlydefined +npm/npmjs/@types/json-schema/7.0.12, MIT, approved, clearlydefined +npm/npmjs/@types/json5/0.0.29, MIT, approved, clearlydefined +npm/npmjs/@types/lodash.debounce/4.0.7, MIT, approved, clearlydefined +npm/npmjs/@types/lodash.uniq/4.5.7, MIT, approved, clearlydefined +npm/npmjs/@types/lodash/4.14.195, MIT, approved, #4131 +npm/npmjs/@types/mime/1.3.2, MIT, approved, clearlydefined +npm/npmjs/@types/mime/3.0.1, MIT, approved, clearlydefined +npm/npmjs/@types/node/16.18.36, MIT, approved, #7082 +npm/npmjs/@types/node/20.3.1, MIT, approved, clearlydefined +npm/npmjs/@types/parse-json/4.0.0, MIT, approved, clearlydefined +npm/npmjs/@types/prettier/2.7.3, MIT, approved, #9030 +npm/npmjs/@types/prop-types/15.7.5, MIT, approved, clearlydefined +npm/npmjs/@types/q/1.5.5, MIT, approved, clearlydefined +npm/npmjs/@types/qs/6.9.7, MIT, approved, clearlydefined +npm/npmjs/@types/range-parser/1.2.4, MIT, approved, clearlydefined +npm/npmjs/@types/react-dom/18.2.6, MIT, approved, #8256 +npm/npmjs/@types/react-is/18.2.1, MIT, approved, #9131 +npm/npmjs/@types/react-redux/7.1.25, MIT, approved, clearlydefined +npm/npmjs/@types/react-slick/0.23.10, MIT, approved, clearlydefined +npm/npmjs/@types/react-transition-group/4.4.6, MIT, approved, #8416 +npm/npmjs/@types/react/18.2.13, MIT, approved, #8234 +npm/npmjs/@types/resolve/1.17.1, MIT, approved, clearlydefined +npm/npmjs/@types/retry/0.12.0, MIT, approved, clearlydefined +npm/npmjs/@types/scheduler/0.16.3, MIT, approved, #7582 +npm/npmjs/@types/semver/7.5.0, MIT, approved, clearlydefined +npm/npmjs/@types/send/0.17.1, MIT, approved, clearlydefined +npm/npmjs/@types/serve-index/1.9.1, MIT, approved, clearlydefined +npm/npmjs/@types/serve-static/1.15.2, MIT, approved, #9188 +npm/npmjs/@types/sockjs/0.3.33, MIT, approved, clearlydefined +npm/npmjs/@types/stack-utils/2.0.1, MIT, approved, clearlydefined +npm/npmjs/@types/testing-library__jest-dom/5.14.6, MIT, approved, clearlydefined +npm/npmjs/@types/trusted-types/2.0.3, MIT, approved, clearlydefined +npm/npmjs/@types/use-sync-external-store/0.0.3, MIT, approved, clearlydefined +npm/npmjs/@types/ws/8.5.5, MIT, approved, #6016 +npm/npmjs/@types/yargs-parser/21.0.0, MIT, approved, clearlydefined +npm/npmjs/@types/yargs/16.0.5, MIT, approved, clearlydefined +npm/npmjs/@types/yargs/17.0.24, MIT, approved, #7054 +npm/npmjs/@typescript-eslint/eslint-plugin/5.60.0, MIT, approved, #9153 +npm/npmjs/@typescript-eslint/experimental-utils/5.60.0, MIT, approved, #9152 +npm/npmjs/@typescript-eslint/parser/5.60.0, BSD-2-Clause, approved, #9140 +npm/npmjs/@typescript-eslint/scope-manager/5.60.0, MIT, approved, #9130 +npm/npmjs/@typescript-eslint/type-utils/5.60.0, MIT, approved, #9135 +npm/npmjs/@typescript-eslint/types/5.60.0, MIT, approved, #9129 +npm/npmjs/@typescript-eslint/typescript-estree/5.60.0, BSD-2-Clause, approved, #9139 +npm/npmjs/@typescript-eslint/utils/5.60.0, MIT, approved, #9136 +npm/npmjs/@typescript-eslint/visitor-keys/5.60.0, MIT, approved, #9146 +npm/npmjs/@webassemblyjs/ast/1.11.6, MIT, approved, #7953 +npm/npmjs/@webassemblyjs/floating-point-hex-parser/1.11.6, MIT, approved, #7959 +npm/npmjs/@webassemblyjs/helper-api-error/1.11.6, MIT, approved, #7969 +npm/npmjs/@webassemblyjs/helper-buffer/1.11.6, MIT, approved, #7955 +npm/npmjs/@webassemblyjs/helper-numbers/1.11.6, MIT, approved, #7954 +npm/npmjs/@webassemblyjs/helper-wasm-bytecode/1.11.6, MIT, approved, #7962 +npm/npmjs/@webassemblyjs/helper-wasm-section/1.11.6, MIT, approved, #7960 +npm/npmjs/@webassemblyjs/ieee754/1.11.6, MIT, approved, #7961 +npm/npmjs/@webassemblyjs/leb128/1.11.6, Apache-2.0, approved, #7958 +npm/npmjs/@webassemblyjs/utf8/1.11.6, MIT, approved, #7966 +npm/npmjs/@webassemblyjs/wasm-edit/1.11.6, Apache-2.0 AND ISC AND MIT, approved, #2186 +npm/npmjs/@webassemblyjs/wasm-gen/1.11.6, MIT, approved, #7964 +npm/npmjs/@webassemblyjs/wasm-opt/1.11.6, MIT, approved, #7967 +npm/npmjs/@webassemblyjs/wasm-parser/1.11.6, MIT, approved, #7965 +npm/npmjs/@webassemblyjs/wast-printer/1.11.6, MIT, approved, #7957 +npm/npmjs/@xtuc/ieee754/1.2.0, BSD-3-Clause, approved, #123 +npm/npmjs/@xtuc/long/4.2.2, Apache-2.0, approved, clearlydefined diff --git a/FILEHEADER.md b/FILEHEADER.md index 51e3b101e..b5ca5b836 100644 --- a/FILEHEADER.md +++ b/FILEHEADER.md @@ -11,5 +11,6 @@ Install the extension and assign some [keyboard shortcut](https://code.visualstu Every time you create a new file or edit a file that you created and doesn't yet have a header, use the keyboard shortcut to insert the according header template in the file. Currently the following templates are available: -* cx_header_default -* cx_header_with_# \ No newline at end of file + +- cx_header_default +- cx*header_with*# diff --git a/NOTICE.md b/NOTICE.md index 9b86294cb..52b6152bf 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -2,7 +2,7 @@ This content is produced and maintained by the Eclipse Tractus-X project. -* Project home: https://projects.eclipse.org/projects/automotive.tractusx +- Project home: https://projects.eclipse.org/projects/automotive.tractusx ## Copyright @@ -22,20 +22,21 @@ SPDX-License-Identifier: Apache-2.0 The project maintains the following source code repositories in the GitHub organization https://github.com/eclipse-tractusx: -* https://github.com/eclipse-tractusx/portal-frontend-registration -* https://github.com/eclipse-tractusx/portal-frontend -* https://github.com/eclipse-tractusx/portal-backend -* https://github.com/eclipse-tractusx/portal-assets -* https://github.com/eclipse-tractusx/portal-cd -* https://github.com/eclipse-tractusx/portal-iam +- https://github.com/eclipse-tractusx/portal-frontend-registration +- https://github.com/eclipse-tractusx/portal-frontend +- https://github.com/eclipse-tractusx/portal-shared-components +- https://github.com/eclipse-tractusx/portal-backend +- https://github.com/eclipse-tractusx/portal-assets +- https://github.com/eclipse-tractusx/portal-cd +- https://github.com/eclipse-tractusx/portal-iam ## Third-party Content This project leverages the following third party content: -* License: Open Font License 1.1 -* Licence Path: https://github.com/impallari/Libre-Franklin/blob/master/OFL.txt -* Source URL: https://github.com/impallari/Libre-Franklin +- License: Open Font License 1.1 +- Licence Path: https://github.com/impallari/Libre-Franklin/blob/master/OFL.txt +- Source URL: https://github.com/impallari/Libre-Franklin See DEPENDENCIES file. diff --git a/README.md b/README.md index 037a7c265..ae4456935 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@ # Catena-X Portal Frontend -This repository contains the frontend code and [Shared UI Components](https://www.npmjs.com/package/cx-portal-shared-components) for the Catena-X Portal written in React and Typescript. +This repository contains the frontend code for the Catena-X Portal written in React and Typescript. The Catena-X Portal application consists of -* [portal-frontend](https://github.com/eclipse-tractusx/portal-frontend), -* [portal-frontend-registration](https://github.com/eclipse-tractusx/portal-frontend-registration), -* [portal-assets](https://github.com/eclipse-tractusx/portal-assets) and -* [portal-backend](https://github.com/eclipse-tractusx/portal-backend). +- [portal-frontend](https://github.com/eclipse-tractusx/portal-frontend), +- [portal-frontend-registration](https://github.com/eclipse-tractusx/portal-frontend-registration), +- [portal-shared-components](https://github.com/eclipse-tractusx/portal-shared-components), +- [portal-assets](https://github.com/eclipse-tractusx/portal-assets) and +- [portal-backend](https://github.com/eclipse-tractusx/portal-backend). ![Tag](https://img.shields.io/static/v1?label=&message=LeadingRepository&color=green&style=flat) The helm chart for installing the Catena-X Portal is available in [portal-cd](https://github.com/eclipse-tractusx/portal-cd). @@ -35,7 +36,7 @@ Note: if you'd like to run the complete frontend application, follow the 'Run fr export IMAGE=tractusx/portal-frontend:latest docker pull $IMAGE - docker run --rm -d -p 3001:8080 --name cx-portal $IMAGE + docker run --rm -d -p 3001:8080 --name cx-portal-frontend $IMAGE ## Notice for Docker image @@ -45,9 +46,9 @@ DockerHub: https://hub.docker.com/r/tractusx/portal-frontend Base image: nginxinc/nginx-unprivileged:alpine -* Dockerfile: [nginxinc/nginx-unprivileged:alpine](https://github.com/nginxinc/docker-nginx-unprivileged/blob/main/Dockerfile-alpine.template) -* GitHub project: [https://github.com/nginxinc/docker-nginx-unprivileged](https://github.com/nginxinc/docker-nginx-unprivileged) -* DockerHub: [https://hub.docker.com/r/nginxinc/nginx-unprivileged](https://hub.docker.com/r/nginxinc/nginx-unprivileged) +- Dockerfile: [nginxinc/nginx-unprivileged:alpine](https://github.com/nginxinc/docker-nginx-unprivileged/blob/main/Dockerfile-alpine.template) +- GitHub project: [https://github.com/nginxinc/docker-nginx-unprivileged](https://github.com/nginxinc/docker-nginx-unprivileged) +- DockerHub: [https://hub.docker.com/r/nginxinc/nginx-unprivileged](https://hub.docker.com/r/nginxinc/nginx-unprivileged) ## License diff --git a/cx-portal-shared-components/.env b/cx-portal-shared-components/.env deleted file mode 100644 index e69de29bb..000000000 diff --git a/cx-portal-shared-components/.npmignore b/cx-portal-shared-components/.npmignore deleted file mode 100644 index 7b79da9c5..000000000 --- a/cx-portal-shared-components/.npmignore +++ /dev/null @@ -1,54 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -### JetBrains ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -**/nbproject/private/ -**/nbproject/Makefile-*.mk -**/nbproject/Package-*.bash -build/ -nbbuild/ -nbdist/ -.nb-gradle/ - -### Visual Studio Code ### -.vscode/ - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### Log files ### -log/ - -### Secrets ### -**/secrets.* - -# dependencies -**/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -*.zip -**/build -**/storybook-static -**/_storybook -**/src/ignore - -# misc -**/.DS_Store -**/.npmrc - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/cx-portal-shared-components/.nvmrc b/cx-portal-shared-components/.nvmrc deleted file mode 100644 index 4ec320b21..000000000 --- a/cx-portal-shared-components/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v14.17.6 diff --git a/cx-portal-shared-components/.prettierrc b/cx-portal-shared-components/.prettierrc deleted file mode 100644 index 66e7e941c..000000000 --- a/cx-portal-shared-components/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 2, - "semi": false, - "singleQuote": true -} \ No newline at end of file diff --git a/cx-portal-shared-components/.storybook/main.js b/cx-portal-shared-components/.storybook/main.js deleted file mode 100644 index 0673474e8..000000000 --- a/cx-portal-shared-components/.storybook/main.js +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -module.exports = { - stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'], - addons: [ - '@storybook/addon-links', - '@storybook/addon-essentials', - '@storybook/addon-interactions', - '@storybook/preset-create-react-app', - { - name: "@storybook/addon-docs", - options: { - configureJSX: true, - }, - }, - ], - framework: '@storybook/react', - core: { - builder: 'webpack5', - }, - features: { - emotionAlias: false, - }, -} diff --git a/cx-portal-shared-components/.storybook/preview.js b/cx-portal-shared-components/.storybook/preview.js deleted file mode 100644 index d72ffc8dd..000000000 --- a/cx-portal-shared-components/.storybook/preview.js +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -import { SharedThemeProvider } from '../src/components/basic/SharedThemeProvider' -import { SharedCssBaseline } from '../src/components/basic/SharedCssBaseline' - -export const decorators = [ - (Story) => ( - - - - - ), -] - -export const parameters = { - actions: { argTypesRegex: '^on[A-Z].*' }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/, - }, - }, -} diff --git a/cx-portal-shared-components/README.md b/cx-portal-shared-components/README.md deleted file mode 100644 index afd81b70b..000000000 --- a/cx-portal-shared-components/README.md +++ /dev/null @@ -1,83 +0,0 @@ -# Deprecated! - -Please note that this library is discontinued and development will continue only in: -* Repository https://github.com/eclipse-tractusx/portal-shared-components -* NPM Package https://www.npmjs.com/package/@catena-x/portal-shared-components - - -# Catena-X Portal Shared UI Components - -Contains the shared UI components that are used to build the Catena-X Portal Frontend. -Get an overview about the available components here - - yarn start:storybook - -To use components in your own project follow this guide. -First create a new react app and add dependencies for the library and Material UI. -We are using yarn and TypeScript, if you prefer npm/npx or JavaScript use those. - - yarn create react-app sample-shared-components --template typescript - cd sample-shared-components - yarn add cx-portal-shared-components @mui/icons-material @mui/material - - -Start the development server - - yarn start - - -Edit `src/index.tsx` and wrap the `App` with the CX `SharedThemeProvider` context - - ReactDOM.createRoot( - document.getElementById('root') as HTMLElement - ).render( - - - - - - ) - - -Edit `src/index.css` and add this stylings - -Note: replace with your installation host name. - - @font-face { - font-family: "LibreFranklin-SemiBold"; - font-display: block; - src: url("https:///assets/fonts/LibreFranklin-VariableFont_wght.ttf") format("truetype"); - font-weight: 600; - } - @font-face { - font-family: "LibreFranklin-Medium"; - font-display: block; - src: url("https:///assets/fonts/LibreFranklin-VariableFont_wght.ttf") format("truetype"); - font-weight: 500; - } - @font-face { - font-family: "LibreFranklin"; - font-display: block; - src: url("https:///assets/fonts/LibreFranklin-VariableFont_wght.ttf") format("truetype"); - font-weight: 400; - } - @font-face { - font-family: "LibreFranklin-Light"; - font-display: block; - src: url("https:///assets/fonts/LibreFranklin-VariableFont_wght.ttf") format("truetype"); - font-weight: 300; - } - - body { - margin: 0; - font-family: 'LibreFranklin', 'Libre Franklin', 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; - color: black; - font-weight: 300; - } - - -Open `App.tsx` and replace the code with this example - - import { Button } from "cx-portal-shared-components"; - const App = () => - export default App; diff --git a/cx-portal-shared-components/dts/index.js b/cx-portal-shared-components/dts/index.js deleted file mode 100644 index 57c2f492f..000000000 --- a/cx-portal-shared-components/dts/index.js +++ /dev/null @@ -1,1657 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -/** - * tool to bundle and flatten the .d.ts files - */ -import * as path from 'path' -import ts from 'typescript' -import { createRequire } from 'module' -import MagicString from 'magic-string' - -const dts = '.d.ts' -const formatHost = { - gcd: () => ts.sys.getCurrentDirectory(), - getNewLine: () => ts.sys.newLine, - getCanonicalFileName: ts.sys.useCaseSensitiveFileNames - ? (f) => f - : (f) => f.toLowerCase(), -} -const DEFAULT_OPTIONS = { - declaration: true, - noEmit: false, - emitDeclarationOnly: true, - noEmitOnError: true, - checkJs: false, - declarationMap: false, - skipLibCheck: true, - preserveSymlinks: true, - target: ts.ScriptTarget.ESNext, -} -const gco = (input, overrideOptions) => { - const compilerOptions = { ...DEFAULT_OPTIONS, ...overrideOptions } - let dirName = path.dirname(input) - let dtsFiles = [] - const configPath = ts.findConfigFile(dirName, ts.sys.fileExists) - if (!configPath) { - return { dtsFiles, dirName, compilerOptions } - } - dirName = path.dirname(configPath) - const { config, error } = ts.readConfigFile(configPath, ts.sys.readFile) - if (error) { - console.error(ts.formatDiagnostic(error, formatHost)) - return { dtsFiles, dirName, compilerOptions } - } - const { fileNames, options, errors } = ts.parseJsonConfigFileContent( - config, - ts.sys, - dirName - ) - dtsFiles = fileNames.filter((name) => name.endsWith(dts)) - if (errors.length) { - console.error(ts.formatDiagnostics(errors, formatHost)) - return { dtsFiles, dirName, compilerOptions } - } - return { - dtsFiles, - dirName, - compilerOptions: { - ...options, - ...compilerOptions, - }, - } -} -const createProgram$1 = (fileName, overrideOptions) => { - const { dtsFiles, compilerOptions } = gco(fileName, overrideOptions) - return ts.createProgram( - [fileName].concat(Array.from(dtsFiles)), - compilerOptions, - ts.createCompilerHost(compilerOptions, true) - ) -} - -const createPrograms = (input, overrideOptions) => { - const programs = [] - let inputs = [] - let dtsFiles = new Set() - let dirName = '' - let compilerOptions = {} - for (let main of input) { - if (main.endsWith(dts)) { - continue - } - main = path.resolve(main) - const options = gco(main, overrideOptions) - options.dtsFiles.forEach(dtsFiles.add, dtsFiles) - if (!inputs.length) { - inputs.push(main) - ;({ dirName, compilerOptions } = options) - continue - } - if (options.dirName === dirName) { - inputs.push(main) - } else { - const host = ts.createCompilerHost(compilerOptions, true) - const program = ts.createProgram( - inputs.concat(Array.from(dtsFiles)), - compilerOptions, - host - ) - programs.push(program) - inputs = [main] - ;({ dirName, compilerOptions } = options) - } - } - if (inputs.length) { - const host = ts.createCompilerHost(compilerOptions, true) - const program = ts.createProgram( - inputs.concat(Array.from(dtsFiles)), - compilerOptions, - host - ) - programs.push(program) - } - return programs -} - -const getCodeFrame = () => { - let codeFrameColumns = undefined - try { - ;({ codeFrameColumns } = require('@babel/code-frame')) - return codeFrameColumns - } catch { - try { - const esmRequire = createRequire(import.meta.url) - ;({ codeFrameColumns } = esmRequire('@babel/code-frame')) - return codeFrameColumns - } catch {} - } - return undefined -} -const getLocation = (node) => { - const sourceFile = node.getSourceFile() - const start = sourceFile.getLineAndCharacterOfPosition(node.getStart()) - const end = sourceFile.getLineAndCharacterOfPosition(node.getEnd()) - return { - start: { line: start.line + 1, column: start.character + 1 }, - end: { line: end.line + 1, column: end.character + 1 }, - } -} -const frameNode = (node) => { - const codeFrame = getCodeFrame() - const sourceFile = node.getSourceFile() - const code = sourceFile.getFullText() - const location = getLocation(node) - if (codeFrame) { - return ( - '\n' + - codeFrame(code, location, { - highlightCode: true, - }) - ) - } else { - return `\n${location.start.line}:${location.start.column}: \`${node - .getFullText() - .trim()}\`` - } -} -class UnsupportedSyntaxError extends Error { - constructor(node, message = 'Syntax not yet supported') { - super(`${message}\n${frameNode(node)}`) - } -} - -class NF { - constructor(sourceFile) { - this.sourceFile = sourceFile - } - fn() { - const namespaces = [] - const items = {} - for (const node of this.sourceFile.statements) { - const location = { - start: node.getStart(), - end: node.getEnd(), - } - if (ts.isEmptyStatement(node)) { - namespaces.unshift({ - name: '', - exports: [], - location, - }) - continue - } - if ( - (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) && - node.moduleSpecifier && - ts.isStringLiteral(node.moduleSpecifier) - ) { - let { text } = node.moduleSpecifier - if ( - text.startsWith('.') && - (text.endsWith('.d.ts') || - text.endsWith('.d.cts') || - text.endsWith('.d.mts')) - ) { - let start = node.moduleSpecifier.getStart() + 1 - let end = node.moduleSpecifier.getEnd() - 1 - namespaces.unshift({ - name: '', - exports: [], - location: { - start, - end, - }, - textBeforeCodeAfter: text - .replace(/\.d\.ts$/, '.js') - .replace(/\.d\.cts$/, '.cjs') - .replace(/\.d\.mts$/, '.mjs'), - }) - } - } - if ( - ts.isModuleDeclaration(node) && - node.body && - ts.isModuleBlock(node.body) - ) { - for (const stmt of node.body.statements) { - if (ts.isExportDeclaration(stmt) && stmt.exportClause) { - if (ts.isNamespaceExport(stmt.exportClause)) { - continue - } - for (const decl of stmt.exportClause.elements) { - if ( - decl.propertyName && - decl.propertyName.getText() === decl.name.getText() - ) { - namespaces.unshift({ - name: '', - exports: [], - location: { - start: decl.propertyName.getEnd(), - end: decl.name.getEnd(), - }, - }) - } - } - } - } - } - if (ts.isClassDeclaration(node)) { - items[node.name.getText()] = { - type: 'class', - generics: node.typeParameters, - } - } else if (ts.isFunctionDeclaration(node)) { - items[node.name.getText()] = { type: 'function' } - } else if (ts.isInterfaceDeclaration(node)) { - items[node.name.getText()] = { - type: 'interface', - generics: node.typeParameters, - } - } else if (ts.isTypeAliasDeclaration(node)) { - items[node.name.getText()] = { - type: 'type', - generics: node.typeParameters, - } - } else if (ts.isModuleDeclaration(node) && ts.isIdentifier(node.name)) { - items[node.name.getText()] = { type: 'namespace' } - } else if (ts.isEnumDeclaration(node)) { - items[node.name.getText()] = { type: 'enum' } - } - if (!ts.isVariableStatement(node)) { - continue - } - const { declarations } = node.declarationList - if (declarations.length !== 1) { - continue - } - const decl = declarations[0] - const name = decl.name.getText() - if (!decl.initializer || !ts.isCallExpression(decl.initializer)) { - items[name] = { type: 'var' } - continue - } - const obj = decl.initializer.arguments[0] - if ( - !decl.initializer.expression - .getFullText() - .includes('/*#__PURE__*/Object.freeze') || - !ts.isObjectLiteralExpression(obj) - ) { - continue - } - const exports = [] - for (const prop of obj.properties) { - if ( - !ts.isPropertyAssignment(prop) || - !(ts.isIdentifier(prop.name) || ts.isStringLiteral(prop.name)) || - (prop.name.text !== '__proto__' && !ts.isIdentifier(prop.initializer)) - ) { - throw new UnsupportedSyntaxError( - prop, - 'Expected a property assignment' - ) - } - if (prop.name.text === '__proto__') { - continue - } - exports.push({ - exportedName: prop.name.text, - localName: prop.initializer.getText(), - }) - } - - namespaces.unshift({ - name, - exports, - location, - }) - } - return { namespaces, itemTypes: items } - } - fix() { - let _a - let code = this.sourceFile.getFullText() - const { namespaces, itemTypes } = this.fn() - for (const ns of namespaces) { - const codeAfter = code.slice(ns.location.end) - code = code.slice(0, ns.location.start) - for (const { exportedName, localName } of ns.exports) { - if (exportedName === localName) { - const { type, generics } = itemTypes[localName] || {} - if (type === 'interface' || type === 'type') { - const typeParams = rtp(generics) - code += `type ${ns.name}_${exportedName}${typeParams.in} = ${localName}${typeParams.out};\n` - } else if (type === 'enum' || type === 'class') { - const typeParams = rtp(generics) - code += `type ${ns.name}_${exportedName}${typeParams.in} = ${localName}${typeParams.out};\n` - code += `declare const ${ns.name}_${exportedName}: typeof ${localName};\n` - } else { - code += `declare const ${ns.name}_${exportedName}: typeof ${localName};\n` - } - } - } - if (ns.name) { - code += `declare namespace ${ns.name} {\n` - code += ` export {\n` - for (const { exportedName, localName } of ns.exports) { - if (exportedName === localName) { - code += ` ${ns.name}_${exportedName} as ${exportedName},\n` - } else { - code += ` ${localName} as ${exportedName},\n` - } - } - code += ` };\n` - code += `}` - } - code += (_a = ns.textBeforeCodeAfter) !== null && _a !== void 0 ? _a : '' - code += codeAfter - } - return code - } -} -function rtp(typeParameters) { - if (!typeParameters || !typeParameters.length) { - return { in: '', out: '' } - } - return { - in: `<${typeParameters.map((param) => param.getText()).join(', ')}>`, - out: `<${typeParameters.map((param) => param.name.getText()).join(', ')}>`, - } -} -let IDs = 1 -function createProgram(node) { - return withStartEnd( - { - type: 'Program', - sourceType: 'module', - body: [], - }, - { start: node.getFullStart(), end: node.getEnd() } - ) -} -function createReference(id) { - return { - type: 'AssignmentPattern', - left: { - type: 'Identifier', - name: String(IDs++), - }, - right: id, - } -} -function createIdentifier(node) { - return withStartEnd( - { - type: 'Identifier', - name: node.getText(), - }, - node - ) -} -function cIIFE(range) { - const fn = withStartEnd( - { - type: 'FunctionExpression', - id: null, - params: [], - body: { type: 'BlockStatement', body: [] }, - }, - range - ) - const iife = withStartEnd( - { - type: 'ExpressionStatement', - expression: { - type: 'CallExpression', - callee: { type: 'Identifier', name: String(IDs++) }, - arguments: [fn], - optional: false, - }, - }, - range - ) - return { fn, iife } -} -function cd(id, range) { - return withStartEnd( - { - type: 'FunctionDeclaration', - id: withStartEnd( - { - type: 'Identifier', - name: ts.idText(id), - }, - id - ), - params: [], - body: { type: 'BlockStatement', body: [] }, - }, - range - ) -} -function ce(node) { - if (ts.isLiteralExpression(node)) { - return { type: 'Literal', value: node.text } - } - if (ts.isPropertyAccessExpression(node)) { - if (ts.isPrivateIdentifier(node.name)) { - throw new UnsupportedSyntaxError(node.name) - } - return withStartEnd( - { - type: 'MemberExpression', - computed: false, - optional: false, - object: ce(node.expression), - property: ce(node.name), - }, - { - start: node.expression.getStart(), - end: node.name.getEnd(), - } - ) - } - if (ts.isIdentifier(node)) { - return createIdentifier(node) - } else if (node.kind === ts.SyntaxKind.NullKeyword) { - return { type: 'Literal', value: null } - } else { - throw new UnsupportedSyntaxError(node) - } -} -function withStartEnd(esNode, nodeOrRange) { - let range = - 'start' in nodeOrRange - ? nodeOrRange - : { start: nodeOrRange.getStart(), end: nodeOrRange.getEnd() } - return Object.assign(esNode, range) -} -function matchesModifier(node, flags) { - const nodeFlags = ts.getCombinedModifierFlags(node) - return (nodeFlags & flags) === flags -} -function pp({ sourceFile }) { - const code = new MagicString(sourceFile.getFullText()) - const declaredNames = new Set() - const exportedNames = new Set() - let defaultExport = '' - const inlineImports = new Map() - const nameRanges = new Map() - for (const node of sourceFile.statements) { - if (ts.isEmptyStatement(node)) { - code.remove(node.getStart(), node.getEnd()) - continue - } - if ( - ts.isEnumDeclaration(node) || - ts.isFunctionDeclaration(node) || - ts.isInterfaceDeclaration(node) || - ts.isClassDeclaration(node) || - ts.isTypeAliasDeclaration(node) || - ts.isModuleDeclaration(node) - ) { - if (node.name) { - const name = node.name.getText() - declaredNames.add(name) - - if (matchesModifier(node, ts.ModifierFlags.ExportDefault)) { - defaultExport = name - } else if (matchesModifier(node, ts.ModifierFlags.Export)) { - exportedNames.add(name) - } - if (!(node.flags & ts.NodeFlags.GlobalAugmentation)) { - pushNamedNode(name, [getStart(node), getEnd(node)]) - } - } - if (ts.isModuleDeclaration(node)) { - duplicateExports(code, node) - } - fixModifiers(code, node) - } else if (ts.isVariableStatement(node)) { - const { declarations } = node.declarationList - const isExport = matchesModifier(node, ts.ModifierFlags.Export) - for (const decl of node.declarationList.declarations) { - if (ts.isIdentifier(decl.name)) { - const name = decl.name.getText() - declaredNames.add(name) - if (isExport) { - exportedNames.add(name) - } - } - } - fixModifiers(code, node) - if (declarations.length === 1) { - const decl = declarations[0] - if (ts.isIdentifier(decl.name)) { - pushNamedNode(decl.name.getText(), [getStart(node), getEnd(node)]) - } - } else { - const decls = declarations.slice() - const first = decls.shift() - pushNamedNode(first.name.getText(), [getStart(node), first.getEnd()]) - for (const decl of decls) { - if (ts.isIdentifier(decl.name)) { - pushNamedNode(decl.name.getText(), [ - decl.getFullStart(), - decl.getEnd(), - ]) - } - } - } - const { flags } = node.declarationList - const type = - flags & ts.NodeFlags.Let - ? 'let' - : flags & ts.NodeFlags.Const - ? 'const' - : 'var' - const prefix = `declare ${type} ` - const list = node.declarationList - .getChildren() - .find((c) => c.kind === ts.SyntaxKind.SyntaxList) - .getChildren() - let commaPos = 0 - for (const node of list) { - if (node.kind === ts.SyntaxKind.CommaToken) { - commaPos = node.getStart() - code.remove(commaPos, node.getEnd()) - } else if (commaPos) { - code.appendLeft(commaPos, ';\n') - const start = node.getFullStart() - const slice = code.slice(start, node.getStart()) - let whitespace = slice.length - slice.trimStart().length - if (whitespace) { - code.overwrite(start, start + whitespace, prefix) - } else { - code.appendLeft(start, prefix) - } - } - } - } - } - for (const node of sourceFile.statements) { - cii(node) - if (!matchesModifier(node, ts.ModifierFlags.ExportDefault)) { - continue - } - if (ts.isFunctionDeclaration(node) || ts.isClassDeclaration(node)) { - if (node.name) { - continue - } - if (!defaultExport) { - defaultExport = uniqName('export_default') - } - const children = node.getChildren() - const idx = children.findIndex( - (node) => - node.kind === ts.SyntaxKind.ClassKeyword || - node.kind === ts.SyntaxKind.FunctionKeyword - ) - const token = children[idx] - const nextToken = children[idx + 1] - const isPunctuation = - nextToken.kind >= ts.SyntaxKind.FirstPunctuation && - nextToken.kind <= ts.SyntaxKind.LastPunctuation - if (isPunctuation) { - code.appendLeft(nextToken.getStart(), defaultExport) - } else { - code.appendRight(token.getEnd(), ` ${defaultExport}`) - } - } - } - for (const ranges of nameRanges.values()) { - const last = ranges.pop() - const start = last[0] - for (const node of ranges) { - code.move(node[0], node[1], start) - } - } - if (defaultExport) { - code.append(`\nexport default ${defaultExport};\n`) - } - if (exportedNames.size) { - code.append(`\nexport { ${[...exportedNames].join(', ')} };\n`) - } - for (const [fileId, importName] of inlineImports.entries()) { - code.prepend(`import * as ${importName} from '${fileId}';\n`) - } - const lineStarts = sourceFile.getLineStarts() - const typeReferences = new Set() - for (const ref of sourceFile.typeReferenceDirectives) { - typeReferences.add(ref.fileName) - const { line } = sourceFile.getLineAndCharacterOfPosition(ref.pos) - const start = lineStarts[line] - let end = sourceFile.getLineEndOfPosition(ref.pos) - if (code.slice(end, end + 1) === '\n') { - end += 1 - } - code.remove(start, end) - } - const fileReferences = new Set() - for (const ref of sourceFile.referencedFiles) { - fileReferences.add( - path.join(path.dirname(sourceFile.fileName), ref.fileName) - ) - const { line } = sourceFile.getLineAndCharacterOfPosition(ref.pos) - const start = lineStarts[line] - let end = sourceFile.getLineEndOfPosition(ref.pos) - if (code.slice(end, end + 1) === '\n') { - end += 1 - } - code.remove(start, end) - } - return { - code, - typeReferences, - fileReferences, - } - function cii(node) { - ts.forEachChild(node, cii) - if (ts.isImportTypeNode(node)) { - if ( - !ts.isLiteralTypeNode(node.argument) || - !ts.isStringLiteral(node.argument.literal) - ) { - throw new UnsupportedSyntaxError( - node, - 'inline imports should have a literal argument' - ) - } - const fileId = node.argument.literal.text - const children = node.getChildren() - const start = children - .find((t) => t.kind === ts.SyntaxKind.ImportKeyword) - .getStart() - let end = node.getEnd() - const token = children.find( - (t) => - t.kind === ts.SyntaxKind.DotToken || - t.kind === ts.SyntaxKind.LessThanToken - ) - if (token) { - end = token.getStart() - } - const importName = cnsi(fileId) - code.overwrite(start, end, importName) - } - } - function cnsi(fileId) { - let importName = inlineImports.get(fileId) - if (!importName) { - importName = uniqName(fileId.replace(/[^a-zA-Z0-9_$]/g, () => '_')) - inlineImports.set(fileId, importName) - } - return importName - } - function uniqName(hint) { - let name = hint - while (declaredNames.has(name)) { - name = `_${name}` - } - declaredNames.add(name) - return name - } - function pushNamedNode(name, range) { - let nodes = nameRanges.get(name) - if (!nodes) { - nodes = [range] - nameRanges.set(name, nodes) - } else { - const last = nodes[nodes.length - 1] - if (last[1] === range[0]) { - last[1] = range[1] - } else { - nodes.push(range) - } - } - } -} -function fixModifiers(code, node) { - let _a - let hasDeclare = false - const needsDeclare = - ts.isClassDeclaration(node) || - ts.isFunctionDeclaration(node) || - ts.isModuleDeclaration(node) || - ts.isVariableStatement(node) - for (const mod of (_a = node.modifiers) !== null && _a !== void 0 ? _a : []) { - switch (mod.kind) { - case ts.SyntaxKind.ExportKeyword: - case ts.SyntaxKind.DefaultKeyword: - code.remove(mod.getStart(), mod.getEnd() + 1) - break - case ts.SyntaxKind.DeclareKeyword: - hasDeclare = true - break - default: - } - } - if (needsDeclare && !hasDeclare) { - code.appendRight(node.getStart(), 'declare ') - } -} -function duplicateExports(code, module) { - if (!module.body || !ts.isModuleBlock(module.body)) { - return - } - for (const node of module.body.statements) { - if (ts.isExportDeclaration(node) && node.exportClause) { - if (ts.isNamespaceExport(node.exportClause)) { - continue - } - for (const decl of node.exportClause.elements) { - if (!decl.propertyName) { - code.appendLeft(decl.name.getEnd(), ` as ${decl.name.getText()}`) - } - } - } - } -} -function getStart(node) { - const start = node.getFullStart() - return start + (newlineAt(node, start) ? 1 : 0) -} -function getEnd(node) { - const end = node.getEnd() - return end + (newlineAt(node, end) ? 1 : 0) -} -function newlineAt(node, idx) { - return node.getSourceFile().getFullText()[idx] === '\n' -} -const IGNORE_TYPENODES = new Set([ - ts.SyntaxKind.LiteralType, - ts.SyntaxKind.VoidKeyword, - ts.SyntaxKind.UnknownKeyword, - ts.SyntaxKind.AnyKeyword, - ts.SyntaxKind.BooleanKeyword, - ts.SyntaxKind.NumberKeyword, - ts.SyntaxKind.StringKeyword, - ts.SyntaxKind.ObjectKeyword, - ts.SyntaxKind.NullKeyword, - ts.SyntaxKind.UndefinedKeyword, - ts.SyntaxKind.SymbolKeyword, - ts.SyntaxKind.NeverKeyword, - ts.SyntaxKind.ThisKeyword, - ts.SyntaxKind.ThisType, - ts.SyntaxKind.BigIntKeyword, -]) -class DeclarationScope { - constructor({ id, range }) { - this.scopes = [] - if (id) { - this.declaration = cd(id, range) - } else { - const { iife, fn } = cIIFE(range) - this.iife = iife - this.declaration = fn - } - } - pushScope() { - this.scopes.push(new Set()) - } - popScope(n = 1) { - for (let i = 0; i < n; i++) { - this.scopes.pop() - } - } - pushTypeVariable(id) { - let _a - const name = id.getText() - ;(_a = this.scopes[this.scopes.length - 1]) === null || _a === void 0 - ? void 0 - : _a.add(name) - } - pushRaw(expr) { - this.declaration.params.push(expr) - } - pushReference(id) { - let name - if (id.type === 'Identifier') { - name = id.name - } else if (id.type === 'MemberExpression') { - if (id.object.type === 'Identifier') { - name = id.object.name - } - } - if (name) { - for (const scope of this.scopes) { - if (scope.has(name)) { - return - } - } - } - this.pushRaw(createReference(id)) - } - pir(id) { - this.pushReference(createIdentifier(id)) - } - cen(node) { - if (ts.isIdentifier(node)) { - return createIdentifier(node) - } - return withStartEnd( - { - type: 'MemberExpression', - computed: false, - optional: false, - object: this.cen(node.left), - property: createIdentifier(node.right), - }, - node - ) - } - cpa(node) { - if ( - !ts.isIdentifier(node.expression) && - !ts.isPropertyAccessExpression(node.expression) - ) { - throw new UnsupportedSyntaxError(node.expression) - } - if (ts.isPrivateIdentifier(node.name)) { - throw new UnsupportedSyntaxError(node.name) - } - let object = ts.isIdentifier(node.expression) - ? createIdentifier(node.expression) - : this.cpa(node.expression) - return withStartEnd( - { - type: 'MemberExpression', - computed: false, - optional: false, - object, - property: createIdentifier(node.name), - }, - node - ) - } - ccpn(node) { - if (!node.name || !ts.isComputedPropertyName(node.name)) { - return - } - const { expression } = node.name - if (ts.isLiteralExpression(expression)) { - return - } - if (ts.isIdentifier(expression)) { - return this.pushReference(createIdentifier(expression)) - } - if (ts.isPropertyAccessExpression(expression)) { - return this.pushReference(this.cpa(expression)) - } - throw new UnsupportedSyntaxError(expression) - } - cpat(node) { - this.ccpn(node) - const typeVariables = this.ctp(node.typeParameters) - for (const param of node.parameters) { - this.ctn(param.type) - } - this.ctn(node.type) - this.popScope(typeVariables) - } - chc(node) { - for (const heritage of node.heritageClauses || []) { - for (const type of heritage.types) { - this.pushReference(ce(type.expression)) - this.cta(type) - } - } - } - cta(node) { - if (!node.typeArguments) { - return - } - for (const arg of node.typeArguments) { - this.ctn(arg) - } - } - cm(members) { - for (const node of members) { - if ( - ts.isPropertyDeclaration(node) || - ts.isPropertySignature(node) || - ts.isIndexSignatureDeclaration(node) - ) { - this.ccpn(node) - this.ctn(node.type) - continue - } - if ( - ts.isMethodDeclaration(node) || - ts.isMethodSignature(node) || - ts.isConstructorDeclaration(node) || - ts.isConstructSignatureDeclaration(node) || - ts.isCallSignatureDeclaration(node) || - ts.isGetAccessorDeclaration(node) || - ts.isSetAccessorDeclaration(node) - ) { - this.cpat(node) - } else { - throw new UnsupportedSyntaxError(node) - } - } - } - ctp(params) { - if (!params) { - return 0 - } - for (const node of params) { - this.ctn(node.constraint) - this.ctn(node.default) - this.pushScope() - this.pushTypeVariable(node.name) - } - return params.length - } - ctn(node) { - if (!node) { - return - } - if (IGNORE_TYPENODES.has(node.kind)) { - return - } - if (ts.isTypeReferenceNode(node)) { - this.pushReference(this.cen(node.typeName)) - this.cta(node) - return - } - if (ts.isTypeLiteralNode(node)) { - return this.cm(node.members) - } - if (ts.isArrayTypeNode(node)) { - return this.ctn(node.elementType) - } - if (ts.isTupleTypeNode(node)) { - for (const type of node.elements) { - this.ctn(type) - } - return - } - if ( - ts.isNamedTupleMember(node) || - ts.isParenthesizedTypeNode(node) || - ts.isTypeOperatorNode(node) || - ts.isTypePredicateNode(node) - ) { - return this.ctn(node.type) - } - if (ts.isUnionTypeNode(node) || ts.isIntersectionTypeNode(node)) { - for (const type of node.types) { - this.ctn(type) - } - return - } - if (ts.isMappedTypeNode(node)) { - const { typeParameter, type, nameType } = node - this.ctn(typeParameter.constraint) - this.pushScope() - this.pushTypeVariable(typeParameter.name) - this.ctn(type) - if (nameType) { - this.ctn(nameType) - } - this.popScope() - return - } - if (ts.isConditionalTypeNode(node)) { - this.ctn(node.checkType) - this.pushScope() - this.ctn(node.extendsType) - this.ctn(node.trueType) - this.ctn(node.falseType) - this.popScope() - return - } - if (ts.isIndexedAccessTypeNode(node)) { - this.ctn(node.objectType) - this.ctn(node.indexType) - return - } - if (ts.isFunctionOrConstructorTypeNode(node)) { - this.cpat(node) - return - } - if (ts.isTypeQueryNode(node)) { - this.pushReference(this.cen(node.exprName)) - return - } - if (ts.isRestTypeNode(node)) { - this.ctn(node.type) - return - } - if (ts.isOptionalTypeNode(node)) { - this.ctn(node.type) - return - } - if (ts.isTemplateLiteralTypeNode(node)) { - for (const span of node.templateSpans) { - this.ctn(span.type) - } - return - } - if (ts.isInferTypeNode(node)) { - this.pushTypeVariable(node.typeParameter.name) - return - } else { - throw new UnsupportedSyntaxError(node) - } - } - cn(node, relaxedModuleBlock = false) { - this.pushScope() - if (relaxedModuleBlock && node.body && ts.isModuleDeclaration(node.body)) { - this.cn(node.body, true) - return - } - if (!node.body || !ts.isModuleBlock(node.body)) { - throw new UnsupportedSyntaxError( - node, - `namespace must have a 'ModuleBlock' body.` - ) - } - const { statements } = node.body - - for (const stmt of statements) { - if ( - ts.isEnumDeclaration(stmt) || - ts.isFunctionDeclaration(stmt) || - ts.isClassDeclaration(stmt) || - ts.isInterfaceDeclaration(stmt) || - ts.isTypeAliasDeclaration(stmt) || - ts.isModuleDeclaration(stmt) - ) { - if (stmt.name && ts.isIdentifier(stmt.name)) { - this.pushTypeVariable(stmt.name) - } else { - throw new UnsupportedSyntaxError( - stmt, - `non-Identifier name not supported` - ) - } - continue - } - if (ts.isVariableStatement(stmt)) { - for (const decl of stmt.declarationList.declarations) { - if (ts.isIdentifier(decl.name)) { - this.pushTypeVariable(decl.name) - } else { - throw new UnsupportedSyntaxError( - decl, - `non-Identifier name not supported` - ) - } - } - continue - } - if (ts.isExportDeclaration(stmt)); - else { - throw new UnsupportedSyntaxError( - stmt, - `namespace child (hoisting) not supported yet` - ) - } - } - for (const stmt of statements) { - if (ts.isVariableStatement(stmt)) { - for (const decl of stmt.declarationList.declarations) { - if (decl.type) { - this.ctn(decl.type) - } - } - continue - } - if (ts.isFunctionDeclaration(stmt)) { - this.cpat(stmt) - continue - } - if (ts.isInterfaceDeclaration(stmt) || ts.isClassDeclaration(stmt)) { - const typeVariables = this.ctp(stmt.typeParameters) - this.chc(stmt) - this.cm(stmt.members) - this.popScope(typeVariables) - continue - } - if (ts.isTypeAliasDeclaration(stmt)) { - const typeVariables = this.ctp(stmt.typeParameters) - this.ctn(stmt.type) - this.popScope(typeVariables) - continue - } - if (ts.isModuleDeclaration(stmt)) { - this.cn(stmt, relaxedModuleBlock) - continue - } - if (ts.isEnumDeclaration(stmt)) { - continue - } - if (ts.isExportDeclaration(stmt)) { - if (stmt.exportClause) { - if (ts.isNamespaceExport(stmt.exportClause)) { - throw new UnsupportedSyntaxError(stmt.exportClause) - } - for (const decl of stmt.exportClause.elements) { - const id = decl.propertyName || decl.name - this.pir(id) - } - } - } else { - throw new UnsupportedSyntaxError( - stmt, - `namespace child (walking) not supported yet` - ) - } - } - this.popScope() - } -} -function convert({ sourceFile }) { - const transformer = new Transformer(sourceFile) - return transformer.transform() -} -class Transformer { - constructor(sourceFile) { - this.sourceFile = sourceFile - this.declarations = new Map() - this.ast = createProgram(sourceFile) - for (const stmt of sourceFile.statements) { - this.cs(stmt) - } - } - transform() { - return { - ast: this.ast, - } - } - ps(node) { - this.ast.body.push(node) - } - cd(node, id) { - const range = { start: node.getFullStart(), end: node.getEnd() } - if (!id) { - const scope = new DeclarationScope({ range }) - this.ps(scope.iife) - return scope - } - const name = id.getText() - const scope = new DeclarationScope({ id, range }) - const existingScope = this.declarations.get(name) - if (existingScope) { - existingScope.pir(id) - existingScope.declaration.end = range.end - let selfIdx = this.ast.body.findIndex( - (node) => node === existingScope.declaration - ) - for (let i = selfIdx + 1; i < this.ast.body.length; i++) { - const decl = this.ast.body[i] - decl.start = decl.end = range.end - } - } else { - this.ps(scope.declaration) - this.declarations.set(name, scope) - } - return existingScope || scope - } - cs(node) { - if (ts.isEnumDeclaration(node)) { - return this.ced(node) - } - if (ts.isFunctionDeclaration(node)) { - return this.cfd(node) - } - if (ts.isInterfaceDeclaration(node) || ts.isClassDeclaration(node)) { - return this.ccoi(node) - } - if (ts.isTypeAliasDeclaration(node)) { - return this.ctad(node) - } - if (ts.isVariableStatement(node)) { - return this.cvs(node) - } - if (ts.isExportDeclaration(node) || ts.isExportAssignment(node)) { - return this.cexd(node) - } - if (ts.isModuleDeclaration(node)) { - return this.cnd(node) - } - if (node.kind === ts.SyntaxKind.NamespaceExportDeclaration) { - return this.rs(node) - } - if (ts.isImportDeclaration(node) || ts.isImportEqualsDeclaration(node)) { - return this.cimd(node) - } else { - throw new UnsupportedSyntaxError(node) - } - } - rs(node) { - this.ps( - withStartEnd( - { - type: 'ExpressionStatement', - expression: { type: 'Literal', value: 'pls remove me' }, - }, - node - ) - ) - } - cnd(node) { - const isGlobalAugmentation = node.flags & ts.NodeFlags.GlobalAugmentation - if (isGlobalAugmentation || !ts.isIdentifier(node.name)) { - const scope = this.cd(node) - scope.cn(node, true) - return - } - const scope = this.cd(node, node.name) - scope.pir(node.name) - scope.cn(node) - } - ced(node) { - const scope = this.cd(node, node.name) - scope.pir(node.name) - } - cfd(node) { - if (!node.name) { - throw new UnsupportedSyntaxError( - node, - `FunctionDeclaration should have a name` - ) - } - const scope = this.cd(node, node.name) - scope.pir(node.name) - scope.cpat(node) - } - ccoi(node) { - if (!node.name) { - throw new UnsupportedSyntaxError( - node, - `ClassDeclaration / InterfaceDeclaration should have a name` - ) - } - const scope = this.cd(node, node.name) - const typeVariables = scope.ctp(node.typeParameters) - scope.chc(node) - scope.cm(node.members) - scope.popScope(typeVariables) - } - ctad(node) { - const scope = this.cd(node, node.name) - const typeVariables = scope.ctp(node.typeParameters) - scope.ctn(node.type) - scope.popScope(typeVariables) - } - cvs(node) { - const { declarations } = node.declarationList - if (declarations.length !== 1) { - throw new UnsupportedSyntaxError( - node, - `VariableStatement with more than one declaration not yet supported` - ) - } - for (const decl of declarations) { - if (!ts.isIdentifier(decl.name)) { - throw new UnsupportedSyntaxError( - node, - `VariableDeclaration must have a name` - ) - } - const scope = this.cd(node, decl.name) - scope.ctn(decl.type) - } - } - cexd(node) { - if (ts.isExportAssignment(node)) { - this.ps( - withStartEnd( - { - type: 'ExportDefaultDeclaration', - declaration: ce(node.expression), - }, - node - ) - ) - return - } - const source = node.moduleSpecifier ? ce(node.moduleSpecifier) : undefined - if (!node.exportClause) { - this.ps( - withStartEnd( - { - type: 'ExportAllDeclaration', - source, - exported: null, - }, - node - ) - ) - } else if (ts.isNamespaceExport(node.exportClause)) { - this.ps( - withStartEnd( - { - type: 'ExportAllDeclaration', - source, - exported: createIdentifier(node.exportClause.name), - }, - node - ) - ) - } else { - const specifiers = [] - for (const elem of node.exportClause.elements) { - specifiers.push(this.cexs(elem)) - } - this.ps( - withStartEnd( - { - type: 'ExportNamedDeclaration', - declaration: null, - specifiers, - source, - }, - node - ) - ) - } - } - cimd(node) { - if (ts.isImportEqualsDeclaration(node)) { - if (!ts.isExternalModuleReference(node.moduleReference)) { - throw new UnsupportedSyntaxError( - node, - 'ImportEquals should have a literal source.' - ) - } - this.ps( - withStartEnd( - { - type: 'ImportDeclaration', - specifiers: [ - { - type: 'ImportDefaultSpecifier', - local: createIdentifier(node.name), - }, - ], - source: ce(node.moduleReference.expression), - }, - node - ) - ) - return - } - const source = ce(node.moduleSpecifier) - const specifiers = - node.importClause && node.importClause.namedBindings - ? this.cnib(node.importClause.namedBindings) - : [] - if (node.importClause && node.importClause.name) { - specifiers.push({ - type: 'ImportDefaultSpecifier', - local: createIdentifier(node.importClause.name), - }) - } - this.ps( - withStartEnd( - { - type: 'ImportDeclaration', - specifiers, - source, - }, - node - ) - ) - } - cnib(node) { - if (ts.isNamedImports(node)) { - return node.elements.map((el) => { - const local = createIdentifier(el.name) - const imported = el.propertyName - ? createIdentifier(el.propertyName) - : local - return { - type: 'ImportSpecifier', - local, - imported, - } - }) - } - return [ - { - type: 'ImportNamespaceSpecifier', - local: createIdentifier(node.name), - }, - ] - } - cexs(node) { - const exported = createIdentifier(node.name) - return { - type: 'ExportSpecifier', - exported: exported, - local: node.propertyName ? createIdentifier(node.propertyName) : exported, - } - } -} -function parse(fileName, code) { - return ts.createSourceFile(fileName, code, ts.ScriptTarget.Latest, true) -} -const transform = () => { - const allTypeReferences = new Map() - const allFileReferences = new Map() - return { - name: 'dts-transform', - options(options) { - const { onwarn } = options - return { - ...options, - onwarn(warning, warn) { - if (warning.code !== 'CIRCULAR_DEPENDENCY') { - if (onwarn) { - onwarn(warning, warn) - } else { - warn(warning) - } - } - }, - treeshake: { - moduleSideEffects: 'no-external', - propertyReadSideEffects: true, - unknownGlobalSideEffects: false, - }, - } - }, - outputOptions(options) { - return { - ...options, - chunkFileNames: options.chunkFileNames || '[name]-[hash].d.ts', - entryFileNames: options.entryFileNames || '[name].d.ts', - format: 'es', - exports: 'named', - compact: false, - freeze: true, - interop: false, - namespaceToStringTag: false, - strict: false, - } - }, - transform(code, fileName) { - let sourceFile = parse(fileName, code) - const pped = pp({ sourceFile }) - - allTypeReferences.set(sourceFile.fileName, pped.typeReferences) - allFileReferences.set(sourceFile.fileName, pped.fileReferences) - code = pped.code.toString() - sourceFile = parse(fileName, code) - const converted = convert({ sourceFile }) - if (process.env.DTS_DUMP_AST) { - console.log(fileName) - console.log(code) - console.log(JSON.stringify(converted.ast.body, undefined, 2)) - } - return { code, ast: converted.ast, map: pped.code.generateMap() } - }, - renderChunk(code, chunk, options) { - const source = parse(chunk.fileName, code) - const fixer = new NF(source) - const typeReferences = new Set() - const fileReferences = new Set() - for (const fileName of Object.keys(chunk.modules)) { - for (const ref of allTypeReferences.get( - fileName.split('\\').join('/') - ) || []) { - typeReferences.add(ref) - } - for (const ref of allFileReferences.get( - fileName.split('\\').join('/') - ) || []) { - const chunkFolder = - (options.file && path.dirname(options.file)) || - (chunk.facadeModuleId && path.dirname(chunk.facadeModuleId)) || - '.' - let targetRelPath = path - .relative(chunkFolder, ref) - .split('\\') - .join('/') - if (targetRelPath[0] !== '.') { - targetRelPath = './' + targetRelPath - } - fileReferences.add(targetRelPath) - } - } - code = writeBlock( - Array.from(fileReferences, (ref) => `/// `) - ) - code += writeBlock( - Array.from(typeReferences, (ref) => `/// `) - ) - code += fixer.fix() - return { code, map: { mappings: '' } } - }, - } -} -function writeBlock(codes) { - if (codes.length) { - return codes.join('\n') + '\n' - } - return '' -} -const tsx = /\.(t|j)sx?$/ -const plugin = (options = {}) => { - const transformPlugin = transform() - const { respectExternal = false, compilerOptions = {} } = options - let programs = [] - function getModule(fileName) { - let source - let program - if (!programs.length && fileName.endsWith(dts)) { - source = true - } else { - program = programs.find((p) => (source = p.getSourceFile(fileName))) - if (!program && ts.sys.fileExists(fileName)) { - programs.push((program = createProgram$1(fileName, compilerOptions))) - source = program.getSourceFile(fileName) - } - } - return { source, program } - } - return { - name: 'dts', - options(options) { - let { input = [] } = options - if (!Array.isArray(input)) { - input = typeof input === 'string' ? [input] : Object.values(input) - } else if (input.length > 1) { - options.input = {} - for (const filename of input) { - let name = filename.replace(/((\.d)?\.(t|j)sx?)$/, '') - if (path.isAbsolute(filename)) { - name = path.basename(name) - } else { - name = path.normalize(name) - } - options.input[name] = filename - } - } - programs = createPrograms(Object.values(input), compilerOptions) - return transformPlugin.options.call(this, options) - }, - outputOptions: transformPlugin.outputOptions, - transform(code, id) { - const transformFile = (source, id) => { - if (typeof source === 'object') { - code = source.getFullText() - } - return transformPlugin.transform.call(this, code, id) - } - if (!tsx.test(id)) { - return null - } - if (id.endsWith(dts)) { - const { source } = getModule(id) - return source ? transformFile(source, id) : null - } - - const declarationId = id.replace(tsx, dts) - let module = getModule(declarationId) - if (module.source) { - return transformFile(module.source, declarationId) - } - - module = getModule(id) - if (typeof module.source != 'object' || !module.program) { - return null - } - let generated - const { emitSkipped, diagnostics } = module.program.emit( - module.source, - (_, declarationText) => { - code = declarationText - generated = transformFile(true, declarationId) - }, - undefined, - true - ) - if (emitSkipped) { - const errors = diagnostics.filter( - (diag) => diag.category === ts.DiagnosticCategory.Error - ) - if (errors.length) { - console.error(ts.formatDiagnostics(errors, formatHost)) - this.error('Failed to compile. Check the logs above.') - } - } - return generated - }, - resolveId(source, importer) { - if (!importer) return - importer = importer.split('\\').join('/') - const { resolvedModule } = ts.nodeModuleNameResolver( - source, - importer, - compilerOptions, - ts.sys - ) - if (!resolvedModule) return - if (!respectExternal && resolvedModule.isExternalLibraryImport) - return { id: source, external: true } - else return { id: path.resolve(resolvedModule.resolvedFileName) } - }, - renderChunk: transformPlugin.renderChunk, - } -} - -export { plugin as default } diff --git a/cx-portal-shared-components/package.json b/cx-portal-shared-components/package.json deleted file mode 100644 index 2bdf41cbc..000000000 --- a/cx-portal-shared-components/package.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "name": "cx-portal-shared-components", - "version": "1.5.0", - "main": "./dist/index.js", - "module": "./dist/index.es.js", - "license": "Apache-2.0", - "homepage": "https://catena-x.net/", - "repository": { - "type": "git", - "url": "https://github.com/eclipse-tractusx/portal-frontend.git" - }, - "author": "Catena-X Contributors", - "files": [ - "package.json", - "src", - "dist" - ], - "scripts": { - "start": "yarn start:storybook", - "build:lib": "rollup -c", - "build": "react-scripts build", - "test": "react-scripts test", - "test:ci": "CI=true react-scripts test", - "clean": "rimraf ./build ./dist ./storybook-static", - "start:storybook": "start-storybook -p 6006 -s public", - "build:storybook": "mkdirp public && build-storybook -s public && rimraf ../cx-portal/public/_storybook && mv ./storybook-static ../cx-portal/public/_storybook" - }, - "dependencies": { - "@date-io/date-fns": "^2.14.0", - "@emotion/react": "^11.8.1", - "@emotion/styled": "^11.8.1", - "@mui/x-data-grid": "^5.15.0", - "@mui/x-date-pickers": "^5.0.4", - "@types/autosuggest-highlight": "^3.2.0", - "@types/react-slick": "^0.23.8", - "autosuggest-highlight": "^3.2.1", - "date-fns": "^2.29.1", - "react-redux": "^7.2.6", - "react-router-dom": "^6.2.1", - "react-slick": "^0.28.1", - "slick-carousel": "^1.8.1" - }, - "peerDependencies": { - "@mui/icons-material": "^5.4.4", - "@mui/material": "^5.4.4", - "react": ">=17.0.2", - "react-dom": ">=17.0.2" - }, - "devDependencies": { - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@mui/icons-material": "^5.4.4", - "@mui/material": "^5.4.4", - "@reduxjs/toolkit": "^1.7.2", - "@rollup/plugin-commonjs": "^21.0.2", - "@rollup/plugin-node-resolve": "^13.1.3", - "@rollup/plugin-typescript": "^8.3.1", - "@storybook/addon-actions": "^6.4.19", - "@storybook/addon-docs": "^6.4.19", - "@storybook/addon-essentials": "^6.4.19", - "@storybook/addon-interactions": "^6.4.19", - "@storybook/addon-links": "^6.4.19", - "@storybook/builder-webpack5": "^6.4.19", - "@storybook/manager-webpack5": "^6.4.19", - "@storybook/node-logger": "^6.4.19", - "@storybook/preset-create-react-app": "^4.0.1", - "@storybook/react": "^6.4.19", - "@storybook/testing-library": "^0.0.9", - "@testing-library/jest-dom": "^4.2.4", - "@testing-library/react": "^9.5.0", - "@testing-library/user-event": "^7.2.1", - "@types/jest": "^27.4.1", - "@types/lodash": "^4.14.179", - "@types/node": "^17.0.23", - "@types/react": "^16.14.23", - "@types/react-dom": "^16.9.14", - "@types/react-redux": "^7.1.22", - "classnames": "^2.3.1", - "cross-env": "5.0.5", - "prettier": "^2.5.1", - "react": ">=17.0.2", - "react-dom": ">=17.0.2", - "react-scripts": "5.0.1", - "rollup": "^2.70.0", - "rollup-plugin-peer-deps-external": "^2.2.4", - "rollup-plugin-scss": "3", - "rollup-plugin-svg": "^2.0.0", - "rollup-plugin-terser": "^7.0.2", - "sass": "^1.49.9", - "typescript": "^4.1.6", - "webpack": "^5.69.1" - }, - "eslintConfig": { - "extends": "react-app", - "overrides": [ - { - "files": [ - "**/*.stories.*" - ], - "rules": { - "import/no-anonymous-default-export": "off" - } - } - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} diff --git a/cx-portal-shared-components/public/empty b/cx-portal-shared-components/public/empty deleted file mode 100644 index e69de29bb..000000000 diff --git a/cx-portal-shared-components/rollup.config.js b/cx-portal-shared-components/rollup.config.js deleted file mode 100644 index 88f690f87..000000000 --- a/cx-portal-shared-components/rollup.config.js +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import resolve from "@rollup/plugin-node-resolve"; -import commonjs from "@rollup/plugin-commonjs"; -import typescript from "@rollup/plugin-typescript"; -import { terser } from "rollup-plugin-terser"; -import peerDepsExternal from 'rollup-plugin-peer-deps-external'; -import scss from 'rollup-plugin-scss' -import svg from 'rollup-plugin-svg' -import cxp from './dts/index.js' - -import packageJson from "./package.json"; - -const rollupConfig = [ - { - input: "src/index.ts", - output: [ - { - file: packageJson.main, - format: "cjs", - sourcemap: true, - }, - { - file: packageJson.module, - format: "esm", - sourcemap: true, - } - ], - plugins: [ - peerDepsExternal(), - resolve({ - preferBuiltins: true - }), - commonjs(), - typescript({ tsconfig: "./tsconfig.build.json" }), - scss({}), - svg(), - terser(), - ], - external: ["react", "react-dom", "styled-components"] - }, - { - input: 'dist/types/index.d.ts', - output: [{ file: 'dist/index.d.ts', format: "esm" }], - external: [/\.s?css$/,/\.css$/], - plugins: [cxp()], - }, - -]; - -export default rollupConfig \ No newline at end of file diff --git a/cx-portal-shared-components/src/@types/styles.ts b/cx-portal-shared-components/src/@types/styles.ts deleted file mode 100644 index 739982cdd..000000000 --- a/cx-portal-shared-components/src/@types/styles.ts +++ /dev/null @@ -1,185 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import '@mui/material/styles' - -declare module '@mui/material/styles' { - interface TypeIcons { - icon01: string - icon02: string - icon03: string - } - - interface TypeBrand { - brand01: string - brand02: string - } - - interface TypeDanger { - danger: string - dangerHover: string - dangerBadge: string - } - - interface TypeSupport { - success: string - error: string - info: string - warning: string - } - - interface TypeBorders { - border01: string - border02: string - border03: string - border04: string - } - - interface TypeStepper { - stepDone: string - stepCurrent: string - stepUpcoming: string - } - - interface TypeBackground { - background01: string - background02: string - background03: string - background04: string - background05: string - background06: string - background07: string - background08: string - background09: string - background10: string - background11: string - background12: string - background13: string - background14: string - } - - interface TypeTextField { - placeholderText: string - helperText: string - background: string - backgroundHover: string - } - - interface TypeText { - primary: string - secondary: string - tertiary: string - quaternary: string - } - - interface TypeAccent { - accent01: string - accent02: string - accent03: string - accent04: string - accent05: string - accent06: string - accent07: string - accent08: string - accent09: string - accent10: string - accent11: string - accent12: string - } - - interface TypeSelected { - hover: string - focus: string - active: string - } - - interface TypeChipColor { - main: string - contrastText: string - } - - interface TypeChipCardColor { - release: string - active: string - inactive: string - created: string - inReview: string - default: string - bgRelease: string - bgActive: string - bgInactive: string - bgCreated: string - bgInReview: string - bgDefault: string - } - interface PaletteColor { - shadow: string - } - - interface SimplePaletteColorOptions { - shadow?: string - } - - interface ButtonColor { - darkGrey?: string - lightGrey?: string - white?: string - yellow?: string - } - - interface Palette { - icon: TypeIcons - border: TypeBorders - background: TypeBackground - textField: TypeTextField - text: TypeText - brand: TypeBrand - danger: TypeDanger - support: TypeSupport - accent: TypeAccent - selected: TypeSelected - pending: TypeChipColor - confirmed: TypeChipColor - declined: TypeChipColor - label: TypeChipColor - chip: TypeChipCardColor - stepper: TypeStepper - buttons: ButtonColor - } - interface PaletteOptions { - icon?: Partial - border?: Partial - background?: Partial - textField?: Partial - text?: Partial - brand?: Partial - danger?: Partial - support?: Partial - accent?: Partial - selected?: Partial - pending?: Partial - confirmed?: Partial - declined?: Partial - label?: Partial - chip?: Partial - stepper?: Partial - buttons?: Partial - } -} diff --git a/cx-portal-shared-components/src/@types/typography.ts b/cx-portal-shared-components/src/@types/typography.ts deleted file mode 100644 index 6727ec53a..000000000 --- a/cx-portal-shared-components/src/@types/typography.ts +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import '@mui/material/Typography' - -declare module '@mui/material/Typography' { - interface TypographyPropsVariantOverrides { - body3: true - caption: false - caption1: true - caption2: true - caption3: true - label1: true - label2: true - label3: true - label4: true - label5: true - helper: true - } -} - -declare module '@mui/material/styles' { - interface TypographyVariants { - body3: React.CSSProperties - caption1: React.CSSProperties - caption2: React.CSSProperties - caption3: React.CSSProperties - label1: React.CSSProperties - label2: React.CSSProperties - label3: React.CSSProperties - label4: React.CSSProperties - label5: React.CSSProperties - helper: React.CSSProperties - } - - interface TypographyVariantsOptions { - body3?: React.CSSProperties - caption1?: React.CSSProperties - caption2?: React.CSSProperties - caption3?: React.CSSProperties - label1?: React.CSSProperties - label2?: React.CSSProperties - label3?: React.CSSProperties - label4?: React.CSSProperties - label5?: React.CSSProperties - helper?: React.CSSProperties - } -} diff --git a/cx-portal-shared-components/src/assets/data/TableRows.json b/cx-portal-shared-components/src/assets/data/TableRows.json deleted file mode 100644 index bf9febaee..000000000 --- a/cx-portal-shared-components/src/assets/data/TableRows.json +++ /dev/null @@ -1,66 +0,0 @@ -[ - { - "id": 1, - "name": "Fatih Ayyildiz", - "company": "Mercedes-Benz AG", - "email": "fatih_hikmet.ayyildiz@mercedes-benz.com", - "note": "Lorep ipsum Dolores", - "role": "Admin" - }, - { - "id": 2, - "name": "Julia Jeroch", - "company": "BMW", - "email": "julia.jeroch@bmw.de", - "note": "Lorep ipsum Dolores", - "role": "Admin" - }, - { - "id": 3, - "name": "Dutton John", - "company": "SAP", - "email": "john.dutton@sap.de", - "note": "Lorep ipsum Dolores", - "role": "Editor" - }, - { - "id": 4, - "name": "Mueller Rudolf", - "company": "Bosch", - "email": "mueller.rudi@bosch.de", - "note": "Lorep ipsum Dolores mia dela culpa", - "role": "Admin" - }, - { - "id": 5, - "name": "Dampf Hans", - "company": "Henkel", - "email": "dampf.hans@henkel.de", - "note": "Lorep ipsum Dolores mia dela culpa", - "role": "Editor" - }, - { - "id": 6, - "name": "Braun Heinrich", - "company": "BMW", - "email": "heinrich.braun@bmw.de", - "note": "Lorep ipsum Dolores mi gela dio", - "role": "Manager" - }, - { - "id": 7, - "name": "Mueller Rudolf", - "company": "Bosch", - "email": "mueller.rudi@bosch.de", - "note": "Lorep ipsum Dolores mia dela culpa", - "role": "Admin" - }, - { - "id": 8, - "name": "Schlarb Hans", - "company": "Catena-X", - "email": "hans.schlarb@catena-x.com", - "note": "Lorep ipsum Dolores megari", - "role": "User" - } -] diff --git a/cx-portal-shared-components/src/assets/errorImage/robot-color.svg b/cx-portal-shared-components/src/assets/errorImage/robot-color.svg deleted file mode 100644 index 07247efd2..000000000 --- a/cx-portal-shared-components/src/assets/errorImage/robot-color.svg +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cx-portal-shared-components/src/assets/errorImage/robot-color.svg.license b/cx-portal-shared-components/src/assets/errorImage/robot-color.svg.license deleted file mode 100644 index d19d7f534..000000000 --- a/cx-portal-shared-components/src/assets/errorImage/robot-color.svg.license +++ /dev/null @@ -1,3 +0,0 @@ -Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - -SPDX-License-Identifier: CC-BY-4.0 \ No newline at end of file diff --git a/cx-portal-shared-components/src/assets/errorImage/robot-sw.svg b/cx-portal-shared-components/src/assets/errorImage/robot-sw.svg deleted file mode 100644 index ec7e3026f..000000000 --- a/cx-portal-shared-components/src/assets/errorImage/robot-sw.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cx-portal-shared-components/src/assets/errorImage/robot-sw.svg.license b/cx-portal-shared-components/src/assets/errorImage/robot-sw.svg.license deleted file mode 100644 index d19d7f534..000000000 --- a/cx-portal-shared-components/src/assets/errorImage/robot-sw.svg.license +++ /dev/null @@ -1,3 +0,0 @@ -Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - -SPDX-License-Identifier: CC-BY-4.0 \ No newline at end of file diff --git a/cx-portal-shared-components/src/assets/fonts/LibreFranklin-Italic-VariableFont_wght.ttf b/cx-portal-shared-components/src/assets/fonts/LibreFranklin-Italic-VariableFont_wght.ttf deleted file mode 100644 index 9058abc37..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/LibreFranklin-Italic-VariableFont_wght.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/LibreFranklin-VariableFont_wght.ttf b/cx-portal-shared-components/src/assets/fonts/LibreFranklin-VariableFont_wght.ttf deleted file mode 100644 index c1d1e31c5..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/LibreFranklin-VariableFont_wght.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Black.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Black.ttf deleted file mode 100644 index ee1f7a30b..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Black.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-BlackItalic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-BlackItalic.ttf deleted file mode 100644 index 86c715873..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-BlackItalic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Bold.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Bold.ttf deleted file mode 100644 index 453d1f84c..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Bold.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-BoldItalic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-BoldItalic.ttf deleted file mode 100644 index c4ff4a310..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-BoldItalic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraBold.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraBold.ttf deleted file mode 100644 index db56f2be7..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraBold.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraBoldItalic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraBoldItalic.ttf deleted file mode 100644 index fa36881d2..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraBoldItalic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraLight.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraLight.ttf deleted file mode 100644 index 19cad5919..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraLight.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraLightItalic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraLightItalic.ttf deleted file mode 100644 index 828ddda42..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ExtraLightItalic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Italic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Italic.ttf deleted file mode 100644 index 630e4fd07..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Italic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Light.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Light.ttf deleted file mode 100644 index efb6cea9a..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Light.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-LightItalic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-LightItalic.ttf deleted file mode 100644 index cd0d852d8..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-LightItalic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Medium.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Medium.ttf deleted file mode 100644 index 86ff32db7..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Medium.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-MediumItalic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-MediumItalic.ttf deleted file mode 100644 index 401d44f30..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-MediumItalic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Regular.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Regular.ttf deleted file mode 100644 index 0eca7b61e..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Regular.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-SemiBold.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-SemiBold.ttf deleted file mode 100644 index eb98baad3..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-SemiBold.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-SemiBoldItalic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-SemiBoldItalic.ttf deleted file mode 100644 index ceaaf053e..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-SemiBoldItalic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Thin.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Thin.ttf deleted file mode 100644 index 55beb2eba..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-Thin.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ThinItalic.ttf b/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ThinItalic.ttf deleted file mode 100644 index d165efaea..000000000 Binary files a/cx-portal-shared-components/src/assets/fonts/static/LibreFranklin-ThinItalic.ttf and /dev/null differ diff --git a/cx-portal-shared-components/src/assets/logo/cx-logo-text.svg b/cx-portal-shared-components/src/assets/logo/cx-logo-text.svg deleted file mode 100644 index 22a2fb7c8..000000000 --- a/cx-portal-shared-components/src/assets/logo/cx-logo-text.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/cx-portal-shared-components/src/assets/logo/cx-logo.svg b/cx-portal-shared-components/src/assets/logo/cx-logo.svg deleted file mode 100644 index 460376168..000000000 --- a/cx-portal-shared-components/src/assets/logo/cx-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/cx-portal-shared-components/src/components/basic/Alert/Alert.stories.tsx b/cx-portal-shared-components/src/components/basic/Alert/Alert.stories.tsx deleted file mode 100644 index 2801e6f95..000000000 --- a/cx-portal-shared-components/src/components/basic/Alert/Alert.stories.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Alert as Component } from '.' - -export default { - title: 'Alert', - component: Component, - argTypes: { - children: {}, - }, -} -const Template: ComponentStory = (args: any) => ( - {args.children} -) - -export const Alert = Template.bind({}) -Alert.args = { - severity: 'info', - children: Message, -} diff --git a/cx-portal-shared-components/src/components/basic/BaseImage/BaseImage.stories.tsx b/cx-portal-shared-components/src/components/basic/BaseImage/BaseImage.stories.tsx deleted file mode 100644 index ef491fe3c..000000000 --- a/cx-portal-shared-components/src/components/basic/BaseImage/BaseImage.stories.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { BaseImage as Component } from '.' - -export default { - title: 'Image', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const BaseImage = Template.bind({}) -BaseImage.args = { - image: - 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii04IC04IDY4LjUgNzEuNiI+PHBhdGggZD0iTTQwIDI4LjY5di02YTEgMSAwIDAwLTEuNTUtLjgyTDE0LjY5IDM4LjMxYTQuMTEgNC4xMSAwIDAxLTYuNDUtMy4zOFYyN2E4LjIzIDguMjMgMCAwMTMuNTUtNi43Nmw3LjA4LTQuODlBNC4wNyA0LjA3IDAgMDAyMC42MyAxMlYuOTlBMSAxIDAgMDAxOS4xLjE4bC01IDMuNDJBNC4wOCA0LjA4IDAgMDAxMi4zOCA3djIuODRMNi4zIDE0QTE0LjU3IDE0LjU3IDAgMDAwIDI2djguODlhMTIuMzYgMTIuMzYgMCAwMDE5LjM4IDEwLjJsMTguOS0xM2E0LjA5IDQuMDkgMCAwMDEuNzItMy40eiIgZmlsbD0iI2I0YjRiNCIvPjxwYXRoIGQ9Ik0zMyAxMC42M2wtMTguOSAxM0E0LjA5IDQuMDkgMCAwMDEyLjM1IDI3djZhMSAxIDAgMDAxLjU1LjgxbDIzLjgxLTE2LjRhNC4xMSA0LjExIDAgMDE2LjQ0IDMuMzh2Ny45YTguMjUgOC4yNSAwIDAxLTMuNTUgNi43N2wtNi4zMyA0LjM2LS43Mi41YTQuMDYgNC4wNiAwIDAwLTEuNzUgMy4zNHYxMS4wMmExIDEgMCAwMDEuNTUuODFsNS0zLjQzQTQuMDUgNC4wNSAwIDAwNDAgNDguNzJ2LTIuODVsNi4wNi00LjE4YTE0LjU4IDE0LjU4IDAgMDA2LjI5LTEyVjIwLjhBMTIuMzUgMTIuMzUgMCAwMDMzIDEwLjYzeiIgZmlsbD0iI2ExYTFhMSIvPjwvc3ZnPg==', - altText: 'Logo CatenaX', -} diff --git a/cx-portal-shared-components/src/components/basic/BaseImage/index.tsx b/cx-portal-shared-components/src/components/basic/BaseImage/index.tsx deleted file mode 100644 index 9154fda3b..000000000 --- a/cx-portal-shared-components/src/components/basic/BaseImage/index.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Buffer } from 'buffer' - -interface BaseImageProps { - image: string - altText?: string -} - -export const BaseImage = ({ - image, - altText = '', - ...props -}: BaseImageProps) => { - const src = image.trim().startsWith('<') - ? `data:image/svg+xml;base64,${Buffer.from(image, 'utf8').toString( - 'base64' - )}` - : image - - return ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Breadcrumb/Breadcrumb.stories.tsx b/cx-portal-shared-components/src/components/basic/Breadcrumb/Breadcrumb.stories.tsx deleted file mode 100644 index e3c0ae61f..000000000 --- a/cx-portal-shared-components/src/components/basic/Breadcrumb/Breadcrumb.stories.tsx +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Link, Typography } from '@mui/material' -import { ComponentStory } from '@storybook/react' - -import { Breadcrumb as Component } from '.' - -export default { - title: 'Breadcrumb', - component: Component, - argTypes: {}, -} - -const breadcrumbs = [ - console.log('navigate to home')} - > - Home - , - console.log('navigate to Breackcrumb 1')} - > - Breadcrumb 1 - , - - Breadcrumb 2 - , -] - -const Template: ComponentStory = (args: any) => ( - -) - -export const Breadcrumb = Template.bind({}) -Breadcrumb.args = { - backButtonLabel: 'Back', - backButtonVariant: 'outlined', - onBackButtonClick: () => console.log('Back button clicked!'), - breadcrumbs: breadcrumbs, -} diff --git a/cx-portal-shared-components/src/components/basic/Breadcrumb/index.tsx b/cx-portal-shared-components/src/components/basic/Breadcrumb/index.tsx deleted file mode 100644 index 7a51d446d..000000000 --- a/cx-portal-shared-components/src/components/basic/Breadcrumb/index.tsx +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Breadcrumbs } from '@mui/material' -import { BackButton, BackButtonProps } from '../Button/BackButton' - -interface BreadcrumbProps { - onBackButtonClick?: React.MouseEventHandler - breadcrumbs: any[] -} - -export const Breadcrumb = ({ - backButtonLabel, - backButtonVariant = 'text', - onBackButtonClick, - breadcrumbs, -}: BreadcrumbProps & BackButtonProps) => { - return ( - - - - - {breadcrumbs} - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Button/BackButton.tsx b/cx-portal-shared-components/src/components/basic/Button/BackButton.tsx deleted file mode 100644 index 40948cd62..000000000 --- a/cx-portal-shared-components/src/components/basic/Button/BackButton.tsx +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Button } from '../Button' -import ArrowBackIcon from '@mui/icons-material/ArrowBack' - -export interface BackButtonProps { - backButtonLabel?: string - backButtonVariant?: 'text' | 'outlined' | 'contained' - onBackButtonClick?: React.MouseEventHandler -} - -export const BackButton = ({ - backButtonLabel, - backButtonVariant, - onBackButtonClick, -}: BackButtonProps) => { - return ( - <> - {backButtonLabel && ( - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Button/Button.stories.tsx b/cx-portal-shared-components/src/components/basic/Button/Button.stories.tsx deleted file mode 100644 index fdca2aa85..000000000 --- a/cx-portal-shared-components/src/components/basic/Button/Button.stories.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Button as Component } from '.' - -export default { - title: 'Buttons', - component: Component, - argTypes: { - children: { - name: 'label', - }, - onClick: { - action: 'onClick', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Button = Template.bind({}) -Button.args = { - color: 'primary', - size: 'large', - disabled: false, - children: 'Button', - fullWidth: false, -} diff --git a/cx-portal-shared-components/src/components/basic/Button/LoadMoreButton.stories.tsx b/cx-portal-shared-components/src/components/basic/Button/LoadMoreButton.stories.tsx deleted file mode 100644 index e9c4f583d..000000000 --- a/cx-portal-shared-components/src/components/basic/Button/LoadMoreButton.stories.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { LoadMoreButton as Component } from './LoadMoreButton' - -export default { - title: 'Buttons', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const LoadMoreButton = Template.bind({}) -LoadMoreButton.args = { - label: 'load more', - color: 'primary', -} diff --git a/cx-portal-shared-components/src/components/basic/Button/LoadMoreButton.tsx b/cx-portal-shared-components/src/components/basic/Button/LoadMoreButton.tsx deleted file mode 100644 index 5cf6ab93b..000000000 --- a/cx-portal-shared-components/src/components/basic/Button/LoadMoreButton.tsx +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ButtonProps as MuiButtonProps } from '@mui/material/Button/Button' -import { Button } from '../Button' -import AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline' - -export interface LoadMoreButtonProps - extends Omit { - label: string | JSX.Element - color?: 'primary' | 'secondary' | 'white' - onClick?: React.MouseEventHandler -} - -export const LoadMoreButton = ({ - label, - color, - onClick, - ...props -}: LoadMoreButtonProps) => { - const getStyle = () => { - switch (color) { - case 'white': - return { - variant: 'outlined', - color: 'secondary.main', - hoverColor: 'secondary.dark', - background: 'transparent', - backgroundHover: 'transparent', - } as const - case 'secondary': - return { - variant: 'contained', - color: 'primary.main', - hoverColor: 'primary.dark', - background: 'secondary.main', - backgroundHover: 'secondary.dark', - } as const - case 'primary': - default: - return { - variant: 'outlined', - color: 'primary.main', - hoverColor: 'primary.dark', - background: 'transparent', - backgroundHover: 'transparent', - } as const - } - } - - const style = getStyle() - - return ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Button/index.tsx b/cx-portal-shared-components/src/components/basic/Button/index.tsx deleted file mode 100644 index 34206c2b6..000000000 --- a/cx-portal-shared-components/src/components/basic/Button/index.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiButton, { ButtonProps as MuiButtonProps } from '@mui/material/Button' - -export interface ButtonProps extends Omit { - color?: 'primary' | 'secondary' | 'success' | 'error' | 'warning' -} - -export const Button = ({ - variant = 'contained', - color: colorProp = 'primary', - ...props -}: ButtonProps) => { - const color = ['outlined', 'text'].includes(variant) ? 'primary' : colorProp - - return -} diff --git a/cx-portal-shared-components/src/components/basic/Carousel/Carousel.stories.tsx b/cx-portal-shared-components/src/components/basic/Carousel/Carousel.stories.tsx deleted file mode 100644 index 33d1a60ed..000000000 --- a/cx-portal-shared-components/src/components/basic/Carousel/Carousel.stories.tsx +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { Carousel as Component } from '.' -import { theme } from '../../../theme' -import uniqueId from 'lodash/uniqueId' - -export default { - title: 'Carousel', - component: Component, - argTypes: { - children: {}, - }, -} - -const itemsArray = [ - 'Element 1', - 'Element 2', - 'Element 3', - 'Element 4', - 'Element 5', -] - -const Template: ComponentStory = (args: any) => ( - - {itemsArray.map((item: string) => { - return ( -
- {item} -
- ) - })} -
-) - -export const Carousel = Template.bind({}) -Carousel.args = { - dots: true, - infinite: true, - slidesToShow: 3, - itemWidth: 266, - itemHeight: 279, - gapBetweenSlides: 32, - gapToDots: 40, - gapToArrows: 32, - gapCarouselTop: 32, - expandOnHover: false, -} diff --git a/cx-portal-shared-components/src/components/basic/Carousel/CarouselBox.stories.tsx b/cx-portal-shared-components/src/components/basic/Carousel/CarouselBox.stories.tsx deleted file mode 100644 index fd9208528..000000000 --- a/cx-portal-shared-components/src/components/basic/Carousel/CarouselBox.stories.tsx +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { CarouselBox as Component } from './CarouselBox' -import { theme } from '../../../theme' -import uniqueId from 'lodash/uniqueId' - -export default { - title: 'Carousel', - component: Component, - argTypes: { - children: {}, - }, -} - -const itemsArray = [ - 'Element 1', - 'Element 2', - 'Element 3', - 'Element 4', - 'Element 5', -] - -const Template: ComponentStory = (args: any) => ( - - {itemsArray.map((item: string) => { - return ( -
-
- {item} -
-
- ) - })} -
-) - -export const CarouselBox = Template.bind({}) -CarouselBox.args = { - dots: true, - title: 'My Favorite', - itemWidth: 266, - itemHeight: 235, - backgroundColor: '#fff', - hasBorder: true, - borderRadius: 20, -} diff --git a/cx-portal-shared-components/src/components/basic/Carousel/CarouselBox.tsx b/cx-portal-shared-components/src/components/basic/Carousel/CarouselBox.tsx deleted file mode 100644 index 731dade91..000000000 --- a/cx-portal-shared-components/src/components/basic/Carousel/CarouselBox.tsx +++ /dev/null @@ -1,224 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useState, Children, useEffect } from 'react' -import Slider from 'react-slick' -import ArrowForwardIcon from '@mui/icons-material/ArrowForward' -import ArrowBackIcon from '@mui/icons-material/ArrowBack' -import { IconButton } from '../IconButton' -import { Box } from '@mui/material' -import uniqueId from 'lodash/uniqueId' -import { Typography } from '../Typography' -import { theme } from '../../../theme' -import 'slick-carousel/slick/slick.css' -import 'slick-carousel/slick/slick-theme.css' - -export interface CarouselProps { - children?: React.ReactNode - title: string - dots?: boolean - itemWidth?: number - itemHeight?: number - backgroundColor?: string - hasBorder?: boolean - borderRadius?: number -} - -function NavArrows(props: any) { - const { className, style, onClick } = props - return ( -
- {props.show && ( - - {props.isNext && } - - {!props.isNext && } - - )} -
- ) -} - -export const CarouselBox = ({ - children, - title, - dots = true, - itemWidth = 266, - itemHeight = 235, - backgroundColor = '#fff', - hasBorder = true, - borderRadius = 20, -}: CarouselProps) => { - const [showArrows, setShowArrows] = useState(false) - const onMouseEnter = () => setShowArrows(true) - const onMouseLeave = () => setShowArrows(false) - const arrayChildren = Children.toArray(children) - const itemsCount = arrayChildren.length > 2 - const dotsBottom = itemsCount ? `0px` : '-25px' - const arrowsTopMultiRow = itemHeight ? itemHeight + 35 : 0 - const arrowsTopSingleRow = itemHeight ? itemHeight / 2 : 0 - const arrowsTop = itemsCount ? arrowsTopMultiRow : arrowsTopSingleRow - - // check if more than tow items: - const [carouselHeight, setCarouselHeight] = useState(700) - const [sliderHeight, setSliderHeight] = useState(508) - const [carouselWidth, setCarouselWidth] = useState(690) - - useEffect(() => { - if (itemsCount) { - const height = 2 * itemHeight + 172 - setCarouselHeight(height) - - const width = 2 * itemWidth + 180 - setCarouselWidth(width) - - setSliderHeight(2 * itemHeight + 100) - } else { - setCarouselHeight(382) - setSliderHeight(itemHeight + 100) - - const width = 2 * itemWidth + 180 - setCarouselWidth(width) - } - }, [itemHeight, itemWidth, itemsCount]) - - const settings = { - dots: dots && itemsCount, - infinite: itemsCount, - slidesToShow: itemsCount ? 2 : 1, - slidesToScroll: 2, - swipeToSlide: false, - rows: itemsCount ? 2 : 1, - nextArrow: itemsCount ? ( - - ) : ( - <> - ), - prevArrow: itemsCount ? ( - - ) : ( - <> - ), - } - - return ( - - - {title} - - - {Children.map(arrayChildren, (child) => { - return ( -
- - - - {child} - - - -
- ) - })} -
-
- ) -} diff --git a/cx-portal-shared-components/src/components/basic/Carousel/index.tsx b/cx-portal-shared-components/src/components/basic/Carousel/index.tsx deleted file mode 100644 index ad16b2dbf..000000000 --- a/cx-portal-shared-components/src/components/basic/Carousel/index.tsx +++ /dev/null @@ -1,247 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useState, Children, useEffect, useCallback } from 'react' -import Slider from 'react-slick' -import ArrowForwardIcon from '@mui/icons-material/ArrowForward' -import ArrowBackIcon from '@mui/icons-material/ArrowBack' -import { IconButton } from '../IconButton' -import { Box } from '@mui/material' -import { theme } from '../../../theme' -import uniqueId from 'lodash/uniqueId' -import 'slick-carousel/slick/slick.css' -import 'slick-carousel/slick/slick-theme.css' -export interface CarouselProps { - children?: React.ReactNode - dots?: boolean - infinite?: boolean - slidesToShow?: number - itemWidth?: number - itemHeight?: number - gapBetweenSlides?: number - gapToDots?: number - gapToArrows?: number - gapCarouselTop?: number - expandOnHover?: boolean - position?: string -} - -function NavArrows(props: any) { - const { className, style, onClick } = props - return ( -
- {props.show && ( - - {props.isNext && } - - {!props.isNext && } - - )} -
- ) -} - -export const Carousel = ({ - children, - dots = true, - infinite = true, - slidesToShow = 4, - itemWidth = 266, - itemHeight = 279, - gapBetweenSlides = 32, - gapToDots = 40, - gapToArrows = 32, - gapCarouselTop = 32, - expandOnHover = false, - position = 'relative', -}: CarouselProps) => { - const [showArrows, setShowArrows] = useState(false) - const onMouseEnter = () => setShowArrows(true) - const onMouseLeave = () => setShowArrows(false) - const arrayChildren = Children.toArray(children) - - useEffect(() => { - window.addEventListener('resize', updateWindowSize) - - return () => { - window.removeEventListener('resize', updateWindowSize) - } - }) - - slidesToShow = slidesToShow && slidesToShow > 0 ? slidesToShow : 1 - slidesToShow = - slidesToShow && slidesToShow > arrayChildren.length - ? arrayChildren.length - : slidesToShow - gapToArrows = gapToArrows && gapToArrows > 0 ? gapToArrows : 1 - gapBetweenSlides = - gapBetweenSlides && gapBetweenSlides > 0 ? gapBetweenSlides : 1 - - const dotsBottom = expandOnHover ? `${gapBetweenSlides}px` : '-25px' - const slidsInnerGap = gapBetweenSlides ? `${gapBetweenSlides / 2}px` : 0 - const outerGapToArrow = gapToArrows ? `${gapToArrows}px` : 0 - const innerGapToArrow = gapToArrows ? `${gapToArrows / 2}px` : 0 - const outerGapToDots = gapToDots && dots ? `${gapToDots}px` : 'auto' - const itemTop = - itemHeight && gapCarouselTop ? itemHeight + gapCarouselTop : itemHeight - const arrowsTop = itemHeight ? itemTop / 2 : 0 - - const getCarouselWidth = useCallback( - (slides: number) => - slides && itemWidth && gapBetweenSlides && gapToArrows - ? slides * itemWidth + slides * gapBetweenSlides + 3 * gapToArrows - : 0, - [itemWidth, gapBetweenSlides, gapToArrows] - ) - - const getCarouselLeft = () => { - return gapBetweenSlides ? `-${2 * gapBetweenSlides}px` : 0 - } - - const [responsiveSlides, setResponsiveSlides] = useState(slidesToShow) - const [responsiveWidth, setResponsiveWidth] = useState( - getCarouselWidth(slidesToShow) - ) - const [carouselLeft, setCarouselLeft] = useState(getCarouselLeft()) - - const updateWindowSize = () => { - const appId = document.getElementById('app') - if (appId?.clientWidth) { - if (appId.clientWidth >= theme.breakpoints.values.lg) { - setResponsiveSlides(slidesToShow) - setCarouselLeft(getCarouselLeft) - } - if ( - appId.clientWidth <= theme.breakpoints.values.lg && - appId.clientWidth > theme.breakpoints.values.md - ) { - setResponsiveSlides(2) - setCarouselLeft(0) - } - if (appId.clientWidth <= theme.breakpoints.values.md) { - setResponsiveSlides(1) - setCarouselLeft(0) - } - - setResponsiveWidth(getCarouselWidth(responsiveSlides)) - } else { - setCarouselLeft(0) - } - } - - useEffect(() => { - setResponsiveSlides(slidesToShow) - setResponsiveWidth(getCarouselWidth(slidesToShow)) - }, [slidesToShow, getCarouselWidth]) - - const settings = { - dots: dots, - infinite: infinite, - slidesToShow: responsiveSlides, - slidesToScroll: responsiveSlides, - swipeToSlide: false, - nextArrow: , - prevArrow: , - } - - return ( - - - {Children.map(arrayChildren, (child) => { - return ( -
- - - - {child} - - - -
- ) - })} -
-
- ) -} diff --git a/cx-portal-shared-components/src/components/basic/CategoryDivider/CategoryDivider.stories.tsx b/cx-portal-shared-components/src/components/basic/CategoryDivider/CategoryDivider.stories.tsx deleted file mode 100644 index 73ea32317..000000000 --- a/cx-portal-shared-components/src/components/basic/CategoryDivider/CategoryDivider.stories.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { CategoryDivider as Component } from '.' - -export default { - title: 'CategoryDivider', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - <> - - -) - -export const CategoryDivider = Template.bind({}) -CategoryDivider.args = { - categoryName: 'Favorites', - categoryItemsLength: 128, - buttonText: 'More', -} diff --git a/cx-portal-shared-components/src/components/basic/CategoryDivider/index.tsx b/cx-portal-shared-components/src/components/basic/CategoryDivider/index.tsx deleted file mode 100644 index 7a03edcd8..000000000 --- a/cx-portal-shared-components/src/components/basic/CategoryDivider/index.tsx +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Divider } from '@mui/material' -import { Button } from '../Button' -import { Typography } from '../Typography' - -interface CategoryDividerProps { - buttonText: string - categoryItemsLength: number - categoryName: string - disabled: boolean - onButtonClick: React.MouseEventHandler -} - -export const CategoryDivider = ({ - buttonText, - categoryItemsLength, - categoryName, - disabled = false, - onButtonClick = () => {}, -}: CategoryDividerProps) => { - return ( - - - - {categoryName} ({categoryItemsLength}) - - - - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Checkbox/Checkbox.stories.tsx b/cx-portal-shared-components/src/components/basic/Checkbox/Checkbox.stories.tsx deleted file mode 100644 index 13a01e23e..000000000 --- a/cx-portal-shared-components/src/components/basic/Checkbox/Checkbox.stories.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Checkbox as Component } from '.' - -export default { - title: 'Form', - component: Component, - argTypes: { - onClick: { - action: 'onClick', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Checkbox = Template.bind({}) -Checkbox.args = { - disabled: false, - label: 'Some Checkbox label', -} diff --git a/cx-portal-shared-components/src/components/basic/Checkbox/index.tsx b/cx-portal-shared-components/src/components/basic/Checkbox/index.tsx deleted file mode 100644 index 6b616fc1a..000000000 --- a/cx-portal-shared-components/src/components/basic/Checkbox/index.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiCheckbox, { - CheckboxProps as MuiCheckboxProps, -} from '@mui/material/Checkbox' -import FormControlLabel from '@mui/material/FormControlLabel' - -const ariaLabel = { inputProps: { 'aria-label': 'Checkbox demo' } } - -interface CheckboxProps extends Omit { - size?: 'medium' | 'small' - label?: string | number -} - -export const Checkbox = ({ - size = 'medium', - label, - ...props -}: CheckboxProps) => { - return label ? ( - } - label={label} - /> - ) : ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Chip/DraggableChip.stories.tsx b/cx-portal-shared-components/src/components/basic/Chip/DraggableChip.stories.tsx deleted file mode 100644 index e8b698944..000000000 --- a/cx-portal-shared-components/src/components/basic/Chip/DraggableChip.stories.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { DraggableChip as Component } from './DraggableChip' - -export default { - title: 'Chip', - component: Component, - args: { - children: 'name_use_case_4', - isSelected: false, - width: '170px', - }, -} - -const Template: ComponentStory = (args: any) => ( - {args.children} -) - -export const DraggableChip = Template.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/Chip/DraggableChip.tsx b/cx-portal-shared-components/src/components/basic/Chip/DraggableChip.tsx deleted file mode 100644 index c062d941f..000000000 --- a/cx-portal-shared-components/src/components/basic/Chip/DraggableChip.tsx +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, BoxProps, useTheme } from '@mui/material' -import OpenWithIcon from '@mui/icons-material/OpenWith' - -interface DraggableChipProps extends BoxProps { - isSelected?: boolean - onClick?: () => void - width?: string - backgroundColor?: string - backgroundColorHighlight?: string - children: React.ReactNode -} - -export const DraggableChip = ({ - isSelected, - children, - width = '170px', - backgroundColor = 'rgb(243, 235, 208)', - backgroundColorHighlight = 'rgb(255, 230, 100)', - ...props -}: DraggableChipProps) => { - const theme = useTheme() - - return ( - - {children} - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Chip/TransitionChip.tsx b/cx-portal-shared-components/src/components/basic/Chip/TransitionChip.tsx deleted file mode 100644 index 19d774764..000000000 --- a/cx-portal-shared-components/src/components/basic/Chip/TransitionChip.tsx +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiChip, { ChipProps } from '@mui/material/Chip' -import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline' -import HighlightOffIcon from '@mui/icons-material/HighlightOff' -import { useState } from 'react' -import { theme } from '../../../theme' - -interface ChipCustomProps extends ChipProps { - type?: 'decline' | 'confirm' | 'plain' - withIcon?: true | false - onClick?: any - duration?: number - disabled?: boolean -} - -export const TransitionChip = ({ - variant = 'filled', - type = 'decline', - withIcon = true, - onClick, - duration = 2.5, - onDelete = () => null, // To avoid default delete icon appear - disabled = false, - ...props -}: ChipCustomProps) => { - let icon, hoverBgColor, hoverTextColor, timeout: any - - const [enableClick, setEnableClick] = useState(false) - - switch (type) { - case 'decline': - icon = - hoverBgColor = theme.palette.declined.main - hoverTextColor = theme.palette.declined.contrastText - break - case 'confirm': - icon = - hoverBgColor = theme.palette.confirmed.main - hoverTextColor = theme.palette.confirmed.contrastText - break - } - - const handleMouseEnter = () => { - timeout = setTimeout(() => { - setEnableClick(true) - }, duration * 1000) - } - const handleMouseLeave = () => { - clearTimeout(timeout) - setEnableClick(false) - } - - const onButtonClick = () => { - if (enableClick) onClick() - } - return ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Chip/chip.stories.mdx b/cx-portal-shared-components/src/components/basic/Chip/chip.stories.mdx deleted file mode 100644 index 74977414f..000000000 --- a/cx-portal-shared-components/src/components/basic/Chip/chip.stories.mdx +++ /dev/null @@ -1,36 +0,0 @@ -import { Meta, Story, Canvas } from '@storybook/addon-docs'; -import { Chip as Component } from '.' - - - -# Chip Component Examples - -Chip component used the same way as described in the -[MUI Chip](https://mui.com/components/chips/) - documentation with -[MUI Chip API](https://mui.com/api/chips/) - -# Examples - -Currently Chip component has two different type and you can see the usage of those two different type below. Chip types has different icons and difference appears when users hover on those Chips. - - - - console.log('Decline clicked event'), - withIcon: true, - }} /> - console.log('Confirm clicked event'), - withIcon: true, - }} /> - - diff --git a/cx-portal-shared-components/src/components/basic/Chip/chip.stories.tsx b/cx-portal-shared-components/src/components/basic/Chip/chip.stories.tsx deleted file mode 100644 index 48799f28d..000000000 --- a/cx-portal-shared-components/src/components/basic/Chip/chip.stories.tsx +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { Chip as Component } from '.' - -import { - Subtitle, - Description, - Primary, - ArgsTable, - Stories, - PRIMARY_STORY, -} from '@storybook/addon-docs' - -export default { - title: 'Chip', - component: Component, - argTypes: {}, - parameters: { - docs: { - page: () => ( - <> -

Catena-X Chip Component

-

- Chip component used the same way as described in the - - MUI Chip - {' '} - documentation with - - MUI Chip API - -

- Please take a look to "Examples" stories doc page for example - usages -

-

- - - - - - - ), - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Chip = Template.bind({}) -Chip.args = { - color: 'secondary', - variant: 'filled', - label: 'decline', - type: 'decline', - onClick: () => console.log('Decline clicked'), - withIcon: true, - handleDelete: () => console.log('onDelete clicked'), -} diff --git a/cx-portal-shared-components/src/components/basic/Chip/index.tsx b/cx-portal-shared-components/src/components/basic/Chip/index.tsx deleted file mode 100644 index 4e8cf90c0..000000000 --- a/cx-portal-shared-components/src/components/basic/Chip/index.tsx +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiChip, { ChipProps } from '@mui/material/Chip' -import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline' -import HighlightOffIcon from '@mui/icons-material/HighlightOff' -import { theme } from '../../../theme' -import AutorenewIcon from '@mui/icons-material/Autorenew' - -interface ChipCustomProps extends ChipProps { - type?: 'decline' | 'confirm' | 'plain' | 'delete' | 'progress' - withIcon?: true | false - onDelete?: () => void - handleDelete?: any -} - -export const Chip = ({ - variant = 'filled', - color = 'label', - type = 'decline', - withIcon = true, - onDelete, - handleDelete, - ...props -}: ChipCustomProps) => { - let icon, hoverBgColor, hoverTextColor - - switch (type) { - case 'decline': - icon = - hoverBgColor = theme.palette.declined.main - hoverTextColor = theme.palette.declined.contrastText - break - case 'confirm': - icon = - hoverBgColor = theme.palette.confirmed.main - hoverTextColor = theme.palette.confirmed.contrastText - break - case 'progress': - icon = - hoverBgColor = theme.palette.info.main - hoverTextColor = theme.palette.info.contrastText - } - - return ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/CircularProgress/CircularProgress.scss b/cx-portal-shared-components/src/components/basic/CircularProgress/CircularProgress.scss deleted file mode 100644 index cc811343b..000000000 --- a/cx-portal-shared-components/src/components/basic/CircularProgress/CircularProgress.scss +++ /dev/null @@ -1,266 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -@import 'src/scss/global'; - -$loader-color: #ffa600 !default; -$loader-size: 16px !default; -$loader-animation-duration: 1s !default; - -@function circle-normal($size) { - @return round($size * 0.70710678118) + $size; -} - -@mixin circularProgress( - $size: $loader-size, - $color: $loader-color, - $duration: $loader-animation-duration, - $align: null -) { - $unique-name: unique-id(); - $dot-color: rgba($color, 0.05), rgba($color, 0.1), rgba($color, 0.2), - rgba($color, 0.3), rgba($color, 0.4), rgba($color, 0.6), rgba($color, 0.8), - rgba($color, 1); - width: $size; - height: $size; - border-radius: 50%; - position: relative; - animation: #{'circularProgress-'}#{$unique-name} $duration linear infinite; - - @if ($align == null) { - margin: $size; - } - - @if ($align == center) { - margin: 0 auto; - } - - @if ($align == middle) { - top: 50%; - margin: 20px auto 0; - } - - @keyframes #{'circularProgress-'}#{$unique-name} { - 0% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 1), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 2), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 3), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 4), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 5), - // Bottom Left - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 6), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 7), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 8); - } - - 12.5% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 8), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 1), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 2), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 3), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 4), - // Bottom Left - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 5), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 6), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 7); - } - - 25% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 7), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 8), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 1), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 2), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 3), - // Bottom Left - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 4), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 5), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 6); - } - - 37.5% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 6), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 7), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 8), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 1), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 2), - // Bottom Left - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 3), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 4), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 5); - } - - 50% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 5), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 6), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 7), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 8), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 1), - // Bottom Left - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 2), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 3), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 4); - } - - 62.5% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 4), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 5), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 6), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 7), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 8), - // Bottom Left - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 1), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 2), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 3); - } - - 75% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 3), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 4), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 5), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 6), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 7), - // Bottom Lefts - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 8), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 1), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 2); - } - - 87.5% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 2), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 3), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 4), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 5), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 6), - // Bottom Left - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 7), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 8), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 1); - } - - 100% { - box-shadow: // Top - 0 (-circle-normal($size)) 0 0 nth($dot-color, 1), - // Top Right - circle-angle($size) (-circle-angle($size)) 0 0 nth($dot-color, 2), - // Right - circle-normal($size) 0 0 0 nth($dot-color, 3), - // Bottom right - circle-angle($size) circle-angle($size) 0 0 nth($dot-color, 4), - // Bottom - 0 circle-normal($size) 0 0 nth($dot-color, 5), - // Bottom Left - (-circle-angle($size)) circle-angle($size) 0 0 nth($dot-color, 6), - // Left - (-circle-normal($size)) 0 0 0 nth($dot-color, 7), - // Top left - (-circle-angle($size)) (-circle-angle($size)) 0 0 nth($dot-color, 8); - } - } -} - -@mixin loader-rotate { - @keyframes loader-rotate { - 0% { - transform: rotate(0); - } - - 100% { - transform: rotate(360deg); - } - } -} - -@mixin loader-scale { - @keyframes loader-scale { - 0% { - transform: scale(0); - opacity: 0; - } - - 50% { - opacity: 1; - } - - 100% { - transform: scale(1); - opacity: 0; - } - } -} - -.circularProgress { - @include circularProgress($size: 12px); -} diff --git a/cx-portal-shared-components/src/components/basic/CircularProgress/circularProgress.stories.tsx b/cx-portal-shared-components/src/components/basic/CircularProgress/circularProgress.stories.tsx deleted file mode 100644 index 8387780f6..000000000 --- a/cx-portal-shared-components/src/components/basic/CircularProgress/circularProgress.stories.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { CircularProgress as Component } from '.' - -export default { - title: 'Loading', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Loading = Template.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/CircularProgress/index.tsx b/cx-portal-shared-components/src/components/basic/CircularProgress/index.tsx deleted file mode 100644 index cdef5a1c1..000000000 --- a/cx-portal-shared-components/src/components/basic/CircularProgress/index.tsx +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import './CircularProgress.scss' - -export const CircularProgress = () => { - return
-} diff --git a/cx-portal-shared-components/src/components/basic/CustomAccordion/CustomAccordion.stories.tsx b/cx-portal-shared-components/src/components/basic/CustomAccordion/CustomAccordion.stories.tsx deleted file mode 100644 index d51843c5a..000000000 --- a/cx-portal-shared-components/src/components/basic/CustomAccordion/CustomAccordion.stories.tsx +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Divider, Typography } from '@mui/material' -import { ComponentStory } from '@storybook/react' -import { CustomAccordion as Component } from '.' -import { Table } from '../StaticTable/StaticTable.stories' -import { CustomAccordionProps } from './Item' -import HomeOutlinedIcon from '@mui/icons-material/HomeOutlined' -import SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined' - -export default { - title: 'CustomAccordion', - component: Component, - argTypes: { - children: {}, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -const item_1_open: CustomAccordionProps = { - expanded: true, - id: 'panel-1', - title: 'First Item', - icon: , - children: Content of the first item, -} - -const item_1_open_colored: CustomAccordionProps = { - expanded: false, - id: 'panel-1', - title: 'First Item', - icon: , - color: 'background.background09', - children: ( - - Content of the first item - - - You can add any complex content into the accordion item. For example a - table: - - - - ), -} -const item_2_closed: CustomAccordionProps = { - expanded: false, - id: 'panel-2', - icon: , - title: 'Second Item', - children: Content of the second item, -} -const item_3_closed: CustomAccordionProps = { - expanded: false, - id: 'panel-3', - title: 'Third Item', - children: Content of the third item, -} - -export const BasicAccordion = Template.bind({}) -BasicAccordion.args = { - items: [item_1_open, item_2_closed, item_3_closed], -} - -export const ColoredAccordion = Template.bind({}) -ColoredAccordion.args = { - items: [item_1_open_colored, item_2_closed, item_3_closed], -} diff --git a/cx-portal-shared-components/src/components/basic/CustomAccordion/Item.tsx b/cx-portal-shared-components/src/components/basic/CustomAccordion/Item.tsx deleted file mode 100644 index 815d5d8a8..000000000 --- a/cx-portal-shared-components/src/components/basic/CustomAccordion/Item.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -import Accordion, { AccordionProps } from '@mui/material/Accordion' -import AccordionSummary from '@mui/material/AccordionSummary' -import AccordionDetails from '@mui/material/AccordionDetails' -import { Box, Typography } from '@mui/material' -import ExpandMoreIcon from '@mui/icons-material/ExpandMore' - -export interface CustomAccordionProps extends AccordionProps { - expanded: boolean | undefined - id: string - title: string - children: React.ReactElement - color?: string - icon?: React.ReactElement - titleElement?: React.ReactElement -} - -export const CustomAccordionItem = ({ - expanded, - id, - title, - children, - color, - icon, - titleElement, - ...props -}: CustomAccordionProps) => { - return ( - - } - sx={{ - bgcolor: color, - ':hover': { - bgcolor: 'background.background12', - }, - ':focus': { - boxShadow: 'none !important', - bgcolor: 'background.background12', - }, - }} - > - {icon && ( - {icon} - )} - {titleElement} - {title} - - - {children} - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/CustomAccordion/index.tsx b/cx-portal-shared-components/src/components/basic/CustomAccordion/index.tsx deleted file mode 100644 index a8d45ad30..000000000 --- a/cx-portal-shared-components/src/components/basic/CustomAccordion/index.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useState } from 'react' -import { CustomAccordionItem, CustomAccordionProps } from './Item' - -export const CustomAccordion = ({ - items, -}: { - items: CustomAccordionProps[] -}) => { - const defaultExpanded = items.map((item) => (item.expanded ? item.id : ''))[0] - const [expanded, setExpanded] = useState(defaultExpanded) - - const handleChange = - (panel: string) => (_event: React.SyntheticEvent, newExpanded: boolean) => { - setExpanded(newExpanded ? panel : false) - } - - return ( - <> - {items.map((item) => { - item.expanded = expanded === item.id - item.onChange = handleChange(item.id) - return - })} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/CustomIcons/FileErrorIcon.tsx b/cx-portal-shared-components/src/components/basic/CustomIcons/FileErrorIcon.tsx deleted file mode 100644 index 854047efc..000000000 --- a/cx-portal-shared-components/src/components/basic/CustomIcons/FileErrorIcon.tsx +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -interface FileIconProps { - fillColor?: string - size?: number -} - -export const FileErrorIcon = ({ fillColor, size }: FileIconProps) => { - return ( - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/CustomIcons/FileIcon.tsx b/cx-portal-shared-components/src/components/basic/CustomIcons/FileIcon.tsx deleted file mode 100644 index 71e646289..000000000 --- a/cx-portal-shared-components/src/components/basic/CustomIcons/FileIcon.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -interface FileIconProps { - fillColor?: string - strokeColor?: string - size?: number -} - -export const FileIcon = ({ fillColor, strokeColor, size }: FileIconProps) => { - return ( - - - - - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Datepicker/Datepicker.stories.tsx b/cx-portal-shared-components/src/components/basic/Datepicker/Datepicker.stories.tsx deleted file mode 100644 index 5667d7e6b..000000000 --- a/cx-portal-shared-components/src/components/basic/Datepicker/Datepicker.stories.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { Box } from '@mui/material' - -import { Datepicker as Component } from '.' - -export default { - title: 'Datepicker', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - - - -) - -export const DatePicker = Template.bind({}) -DatePicker.args = { - label: 'Date label', - placeholder: 'Enter a date', - helperText: 'Helper', - disabled: false, - error: false, - margin: 'dense', - variant: 'filled', - locale: 'en', - defaultValue: new Date(), - readOnly: false, - daySelectedColor: '#0F71CB', - todayColor: '#939393', - onChangeItem: (date: any) => console.log('date:', date), -} diff --git a/cx-portal-shared-components/src/components/basic/Datepicker/index.tsx b/cx-portal-shared-components/src/components/basic/Datepicker/index.tsx deleted file mode 100644 index 9647d79fb..000000000 --- a/cx-portal-shared-components/src/components/basic/Datepicker/index.tsx +++ /dev/null @@ -1,188 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useEffect, useState } from 'react' -import { Box, Button } from '@mui/material' -import { TextFieldProps } from '@mui/material/TextField' -import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns' -import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider' -import { DatePicker } from '@mui/x-date-pickers/DatePicker' -import { PickersDayProps } from '@mui/x-date-pickers/PickersDay' -import { Input } from '../Input' -import deLocale from 'date-fns/locale/de' -import enLocale from 'date-fns/locale/en-US' -import uniqueId from 'lodash/uniqueId' - -export type DateType = Date | null -export interface DatepickerProps extends Omit { - label: string - placeholder: string - variant?: 'filled' - locale: 'en' | 'de' - defaultValue?: DateType - readOnly: boolean - daySelectedColor?: string - todayColor?: string - onChangeItem: (items: DateType) => void -} - -const localeMap = { - en: enLocale, - de: deLocale, -} - -export const Datepicker = ({ - label, - placeholder, - variant, - margin, - helperText, - error = false, - disabled, - locale = 'en', - defaultValue, - readOnly, - daySelectedColor = '#0F71CB', - todayColor = '#939393', - onChangeItem, -}: DatepickerProps) => { - const [value, setValue] = useState(null) - const [open, setOpen] = useState(false) - - useEffect(() => { - if (defaultValue) { - setValue(new Date(defaultValue)) - } - }, [defaultValue]) - - const handleChange = (newValue: DateType) => { - if (newValue) { - setValue(new Date(newValue)) - } - onChangeItem(newValue) - handleClose() - } - - const handleOpen = () => { - if (!readOnly && !disabled) { - setOpen(true) - } - } - - const handleClose = () => { - setOpen(false) - } - - const iconColor = open ? daySelectedColor : '#939393' - return ( - - - handleChange(newValue)} - onClose={() => handleClose()} - inputFormat={'yyyy-MM-dd'} - renderInput={(params) => ( - - - - )} - renderDay={( - day: Date, - _selectedDays: Date[], - pickersDayProps: PickersDayProps - ) => { - const bgColor = pickersDayProps.today ? todayColor : '#fff' - const bgSelected = pickersDayProps.selected - ? daySelectedColor - : bgColor - const colorSelected = pickersDayProps.selected ? '#fff' : '#202020' - const isBold = pickersDayProps.today ? '500' : '400' - - return ( - - {day ? ( - - ) : ( -
- )} -
- ) - }} - PaperProps={{ - sx: { marginLeft: '16px' }, - }} - /> -
-
- ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dialog/Dialog.stories.tsx b/cx-portal-shared-components/src/components/basic/Dialog/Dialog.stories.tsx deleted file mode 100644 index 4b6a97273..000000000 --- a/cx-portal-shared-components/src/components/basic/Dialog/Dialog.stories.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Dialog as Component } from '.' -import { Button } from '../Button' -import { DialogActions } from './DialogActions' -import { DialogContent } from './DialogContent' -import { DialogHeader } from './DialogHeader' - -export default { - title: 'Modal', - component: Component, - argTypes: { - maxWidth: { - control: 'inline-radio', - options: [undefined, 'sm', 'md', 'lg', 'xl'], - }, - }, - args: { - open: true, - maxWidth: undefined, - fullWidth: false, - title: 'Title', - intro: - 'Optional intro. Lorem ipsum dolor sit amet consectetur adipisicing elit.', - content: 'Content goes here.', - helperText: 'Lorem ipsum dolor sit amet consectetur adipisicing elit.', - }, -} - -const DialogTemplate: ComponentStory = (args: any) => { - const { title, intro, content, helperText, ...componentArgs } = args - - return ( - - - {content} - - - - - - ) -} - -export const Dialog = DialogTemplate.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/Dialog/DialogActions.stories.tsx b/cx-portal-shared-components/src/components/basic/Dialog/DialogActions.stories.tsx deleted file mode 100644 index 1ee5b5ce6..000000000 --- a/cx-portal-shared-components/src/components/basic/Dialog/DialogActions.stories.tsx +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { DialogActions as Component } from './DialogActions' -import { Button } from '../Button' - -export default { - title: 'Modal', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - - - - -) - -export const DialogActions = Template.bind({}) -DialogActions.args = { - helperText: 'Lorem ipsum dolor sit amet consectetur adipisicing elit.', -} diff --git a/cx-portal-shared-components/src/components/basic/Dialog/DialogActions.tsx b/cx-portal-shared-components/src/components/basic/Dialog/DialogActions.tsx deleted file mode 100644 index e04dcdfc5..000000000 --- a/cx-portal-shared-components/src/components/basic/Dialog/DialogActions.tsx +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import MuiDialogActions, { - DialogActionsProps as MuiDialogActionsProps, -} from '@mui/material/DialogActions' -import { CONTENT_SPACING_RIGHT_LEFT } from './index' - -export interface DialogActionProps extends MuiDialogActionsProps { - helperText?: string -} - -export const DialogActions = ({ - children, - helperText, - ...props -}: DialogActionProps) => { - const { spacing } = useTheme() - - return ( - - {helperText && ( - - {helperText} - - )} - {children} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dialog/DialogContent.tsx b/cx-portal-shared-components/src/components/basic/Dialog/DialogContent.tsx deleted file mode 100644 index 4da7f0f1f..000000000 --- a/cx-portal-shared-components/src/components/basic/Dialog/DialogContent.tsx +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useTheme } from '@mui/material' -import MuiDialogContent, { - DialogContentProps as MuiDialogContentProps, -} from '@mui/material/DialogContent' -import { CONTENT_SPACING_RIGHT_LEFT } from './index' - -export type DialogContentProps = MuiDialogContentProps - -export const DialogContent = (props: DialogContentProps) => { - const { spacing } = useTheme() - - return ( - *': { - textAlign: 'left', - }, - }} - {...props} - > - {props.children} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dialog/DialogHeader.stories.tsx b/cx-portal-shared-components/src/components/basic/Dialog/DialogHeader.stories.tsx deleted file mode 100644 index 8575627e2..000000000 --- a/cx-portal-shared-components/src/components/basic/Dialog/DialogHeader.stories.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { DialogHeader as Component } from './DialogHeader' - -export default { - title: 'Modal', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const DialogHeader = Template.bind({}) -DialogHeader.args = { - title: 'Title', - intro: - 'Optional intro. Lorem ipsum dolor sit amet consectetur adipisicing elit.', - closeWithIcon: false, -} diff --git a/cx-portal-shared-components/src/components/basic/Dialog/DialogHeader.tsx b/cx-portal-shared-components/src/components/basic/Dialog/DialogHeader.tsx deleted file mode 100644 index ed82ad6d9..000000000 --- a/cx-portal-shared-components/src/components/basic/Dialog/DialogHeader.tsx +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -import { Box, useTheme } from '@mui/material' -import MuiDialogTitle from '@mui/material/DialogTitle' -import { Typography } from '../Typography' -import { IconButton } from '../IconButton' -import CloseIcon from '@mui/icons-material/Close' -import CheckCircleOutlineOutlinedIcon from '@mui/icons-material/CheckCircleOutlineOutlined' -import { CONTENT_SPACING_RIGHT_LEFT } from './index' - -export interface DialogHeaderProps { - title?: string | JSX.Element - intro?: string | JSX.Element - icon?: boolean - closeWithIcon?: boolean - onCloseWithIcon?: (event: React.MouseEvent) => void - iconComponent?: JSX.Element - children?: JSX.Element -} - -export const DialogHeader = ({ - title, - intro, - icon, - closeWithIcon, - iconComponent = ( - - ), - children, - onCloseWithIcon, -}: DialogHeaderProps) => { - const { spacing, palette } = useTheme() - - return ( - - {title && ( - - {icon && {iconComponent}} - {title} - {closeWithIcon && ( - - - - )} - - )} - {intro && ( - - {intro} - - )} - {children} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dialog/index.tsx b/cx-portal-shared-components/src/components/basic/Dialog/index.tsx deleted file mode 100644 index 0ce1c8f00..000000000 --- a/cx-portal-shared-components/src/components/basic/Dialog/index.tsx +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useTheme } from '@mui/material' -import MuiDialog, { DialogProps as MuiDialogProps } from '@mui/material/Dialog' - -export const CONTENT_SPACING_RIGHT_LEFT = 10 -const MODAL_DEFAULT_WIDTH = '1000px' - -interface AddtionalDialogProps { - modalBorderRadius?: number - additionalModalRootStyles?: any -} - -export type DialogProps = Pick< - MuiDialogProps, - 'children' | 'open' | 'scroll' | 'sx' | 'fullWidth' | 'maxWidth' -> - -export const Dialog = ({ - scroll = 'body', - modalBorderRadius, - additionalModalRootStyles = {}, - fullWidth, - maxWidth, - ...props -}: DialogProps & AddtionalDialogProps) => { - const theme = useTheme() - - const radius = - modalBorderRadius && modalBorderRadius !== 0 ? modalBorderRadius : 20 - - const fullScreenWidth = `calc(100vw - ${theme.spacing(8)})` - - const defaultWidth = maxWidth ? 'auto' : MODAL_DEFAULT_WIDTH - const width = fullWidth ? fullScreenWidth : defaultWidth - - return ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/DropdownMenu/DropdownMenu.stories.tsx b/cx-portal-shared-components/src/components/basic/DropdownMenu/DropdownMenu.stories.tsx deleted file mode 100644 index f400432e1..000000000 --- a/cx-portal-shared-components/src/components/basic/DropdownMenu/DropdownMenu.stories.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import EditIcon from '@mui/icons-material/Edit' -import FileCopyIcon from '@mui/icons-material/FileCopy' -import MenuItem from '@mui/material/MenuItem' -import { ComponentStory } from '@storybook/react' - -import { DropdownMenu as Component } from '.' - -export default { - title: 'Dropdown Menu', - component: Component, - args: { - buttonText: 'Admin', - }, -} - -const Template: ComponentStory = (args: any) => ( - - console.log('edit!')}> - - Edit - - {}}> - - Duplicate - - {}}>Archive - {}}>More - -) - -export const DropdownMenu = Template.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/DropdownMenu/index.tsx b/cx-portal-shared-components/src/components/basic/DropdownMenu/index.tsx deleted file mode 100644 index a46b09666..000000000 --- a/cx-portal-shared-components/src/components/basic/DropdownMenu/index.tsx +++ /dev/null @@ -1,112 +0,0 @@ -import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown' -import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp' -import { useTheme } from '@mui/material' -import Button from '@mui/material/Button' -import Menu from '@mui/material/Menu' -import { Theme } from '@mui/material/styles' -import { SxProps } from '@mui/system' -import * as React from 'react' -import { PropsWithChildren, useRef, useState } from 'react' - -export interface DropdownMenuProps { - buttonText: string | JSX.Element - buttonSx?: SxProps - menuSx?: SxProps -} - -export const DropdownMenu = ({ - buttonText, - children, - buttonSx, - menuSx, -}: PropsWithChildren) => { - const theme = useTheme() - - const [open, setOpen] = useState(false) - - const anchorElRef = useRef(null) - - const handleOpen = () => { - setOpen(true) - } - - const handleClose = () => { - setOpen(false) - } - - return ( -
- - - {children} - -
- ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/DropArea.stories.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/DropArea.stories.tsx deleted file mode 100644 index 909a74aef..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/DropArea.stories.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { DropArea as Component } from './components/DropArea' - -export default { - title: 'Dropzone', - component: Component, - args: { - size: 'normal', - disabled: false, - error: '', - translations: { - title: 'Drag & drop your files here', - subTitle: 'or %browse files% on your computer.', - errorTitle: 'Sorry', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const DropArea = Template.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/DropPreview.stories.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/DropPreview.stories.tsx deleted file mode 100644 index 2ef78b1ea..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/DropPreview.stories.tsx +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { DropPreview as Component } from './components/DropPreview' -import { UploadStatus } from './types' - -export default { - title: 'Dropzone', - component: Component, - args: { - uploadFiles: [ - { name: 'Test123.pdf', size: 44345000, status: UploadStatus.NEW }, - { - name: 'Document.pdf', - size: 65402, - status: UploadStatus.UPLOADING, - progressPercent: 45, - }, - { - name: 'Das ist ein sehr langer Name von einer Datei - der Name ist wirklich äußerst, äußerst lang...!.pdf', - size: 32003, - status: UploadStatus.NEW, - }, - { - name: 'My pretty PDF.pdf', - size: 54676543, - status: UploadStatus.UPLOAD_SUCCESS, - }, - { - name: 'Nix wars.xls', - size: 543545, - status: UploadStatus.UPLOAD_ERROR, - }, - ], - translations: { - placeholder: 'Lorem Ipsum: Wieviele sachen willst du hochladen', - uploadProgess: 'Uploaded % of % files', - uploadSuccess: 'Uploaded', - uploadError: 'Not Uploaded', - }, - placeholder: false, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const DropPreview = Template.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/DropPreviewFile.stories.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/DropPreviewFile.stories.tsx deleted file mode 100644 index 7f9505c9e..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/DropPreviewFile.stories.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { DropPreviewFile as Component } from './components/DropPreviewFile' -import { UploadStatus } from './types' - -export default { - title: 'Dropzone', - component: Component, - args: { - name: 'Document.pdf', - size: 65402, - status: UploadStatus.NEW, - progressPercent: 0, - translations: { - placeholder: 'Lorem Ipsum: Wieviele sachen willst du hochladen', - uploadProgess: 'Uploaded % of % files', - uploadSuccess: 'Uploaded', - uploadError: 'Not Uploaded', - }, - placeholder: false, - }, - argTypes: { - status: { - control: 'radio', - options: [ - UploadStatus.NEW, - UploadStatus.UPLOADING, - UploadStatus.UPLOAD_SUCCESS, - UploadStatus.UPLOAD_ERROR, - ], - }, - }, -} - -const Template: ComponentStory = (args: any) => { - const { name, size, status, progressPercent, ...props } = args - return ( - - ) -} - -export const DropPreviewFile = Template.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/Dropzone.stories.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/Dropzone.stories.tsx deleted file mode 100644 index a22859696..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/Dropzone.stories.tsx +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { DropzoneOldDEPRECATED as Component } from './old_deprecated' - -export default { - title: 'Dropzone', - component: Component, - argTypes: { - onClick: { - action: 'onClick', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const DropzoneOldDEPRECATED = Template.bind({}) -DropzoneOldDEPRECATED.args = { - inputContentTitle: 'Drag & drop your files here', - inputContentSubTitle: 'or %browse files% on your computer.', - size: 'normal', - accept: 'image/*,audio/*,video/*', - getUploadParams: () => ({ url: 'https://httpbin.org/post' }), - statusText: { - rejected_file_type: 'Rejected file type', - rejected_max_files: 'Rejected max files', - preparing: 'Preparing', - error_file_size: 'Error file size', - error_validation: 'Error validation', - ready: 'Ready', - started: 'Started', - getting_upload_params: 'Getting upload_params', - error_upload_params: 'Error_upload_params', - uploading: 'Uploading', - exception_upload: 'Exception_upload', - aborted: 'Aborted', - restarted: 'Restarted', - removed: 'Removed', - error_upload: 'Error_upload', - headers_received: 'Headers_received', - done: 'Done', - }, - errorStatus: [ - 'error_upload_params', - 'exception_upload', - 'error_upload', - 'aborted', - 'ready', - ], -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/components/DeleteConfirmOverlay.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/components/DeleteConfirmOverlay.tsx deleted file mode 100644 index 3afc4c900..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/components/DeleteConfirmOverlay.tsx +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { FunctionComponent } from 'react' -import { Button } from '../../Button' -import { Dialog } from '../../Dialog' -import { DialogActions } from '../../Dialog/DialogActions' -import { DialogContent } from '../../Dialog/DialogContent' -import { DialogHeader } from '../../Dialog/DialogHeader' -import { deleteConfirmOverlayTranslation } from '../types' - -export interface DeleteConfirmOverlayProps { - deleteOverlay: boolean - onCallback: (closeOverlay: boolean) => void - deleteOverlayTranslation?: deleteConfirmOverlayTranslation -} - -export const DeleteConfirmOverlay: FunctionComponent< - DeleteConfirmOverlayProps -> = ({ onCallback, deleteOverlay = false, deleteOverlayTranslation }) => { - return ( - - - - {deleteOverlayTranslation?.content} - - - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/components/DropArea.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/components/DropArea.tsx deleted file mode 100644 index 82ddcf81b..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/components/DropArea.tsx +++ /dev/null @@ -1,172 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Link, useTheme } from '@mui/material' -import { Fragment, FunctionComponent, useState } from 'react' -import { FileErrorIcon } from '../../CustomIcons/FileErrorIcon' -import { Typography } from '../../Typography' -import UploadFileIcon from '@mui/icons-material/UploadFile' -import { DropZoneDropAreaTranslations } from '../types' -import { Alert } from '../../Alert' - -export interface DropAreaProps { - translations: DropZoneDropAreaTranslations - children?: JSX.Element | JSX.Element[] - disabled?: boolean - error?: boolean | string - size?: 'normal' | 'small' -} - -export const DropArea: FunctionComponent = ({ - translations, - children, - error, - disabled = false, - size = 'normal', -}) => { - const theme = useTheme() - - const { title, subTitle } = translations - - const [isDragging, setDragging] = useState(false) - - let formattedSubtitle = subTitle - if (typeof subTitle === 'string') { - const subTitleParts = subTitle.split('%') - if (subTitleParts.length === 3) { - formattedSubtitle = ( - - {subTitleParts[0]} - {subTitleParts[1]} - {subTitleParts[2]} - - ) - } - } - - const hasGenericError = error === true - const hasErrorMessage = error && typeof error === 'string' - - const errorBackground = hasGenericError && 'declined.main' - const disabledBackground = disabled && 'action.disabledBackground' - const draggingBackground = isDragging && 'selected.active' - - const borderRadius = 24 - const borderColor = hasGenericError - ? encodeURIComponent(theme.palette.danger.danger) - : 'rgb(7, 73, 133)' - const dashedBorder = `"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='${borderRadius}' ry='${borderRadius}' stroke='${borderColor}' stroke-width='2' stroke-dasharray='2%2c 6' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e"` - - return ( - - !disabled && setDragging(true)} - onDragLeave={() => setDragging(false)} - onDrop={() => setDragging(false)} - sx={{ - position: 'relative', - transition: theme.transitions.create('background-color'), - borderRadius: `${borderRadius}px`, - border: 'none', - backgroundImage: disabled ? 'none' : `url(${dashedBorder})`, - textAlign: 'center', - backgroundColor: - disabledBackground || - errorBackground || - draggingBackground || - 'selected.hover', - '&:hover': { - backgroundColor: - disabledBackground || - errorBackground || - draggingBackground || - 'selected.focus', - }, - cursor: disabled ? 'not-allowed' : 'pointer', - }} - > - - - - {hasGenericError ? ( - - ) : ( - - )} - - - - {title} - - - {formattedSubtitle} - - - - - {children} - - - - {hasErrorMessage && ( - - - {error} - - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/components/DropPreview.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/components/DropPreview.tsx deleted file mode 100644 index 66ff20db6..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/components/DropPreview.tsx +++ /dev/null @@ -1,168 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { FunctionComponent, useState } from 'react' -import { - DropZonePreviewTranslations, - UploadFile, - deleteConfirmOverlayTranslation, - UploadStatus, -} from '../types' -import { DeleteConfirmOverlay } from './DeleteConfirmOverlay' -import { - DropPreviewFile as DefaultDropPreviewFile, - DropPreviewFileProps, -} from './DropPreviewFile' - -export interface DropPreviewProps { - uploadFiles: UploadFile[] - onDelete?: (deleteIndex: number, documentId: string) => void - onDownload?: (name: string, id: string) => void - translations: DropZonePreviewTranslations - - DropStatusHeader?: FunctionComponent | false - DropPreviewFile?: FunctionComponent | false - enableDeleteIcon?: boolean - enableDeleteOverlay?: boolean - deleteOverlayTranslation?: deleteConfirmOverlayTranslation -} - -export interface DropStatusHeaderProps { - numUploaded: number - numTotal: number -} - -export const DropPreview: FunctionComponent = ({ - uploadFiles, - translations, - onDelete, - onDownload, - DropStatusHeader, - DropPreviewFile, - enableDeleteIcon = true, - enableDeleteOverlay = false, - deleteOverlayTranslation, -}) => { - const [deletestatus, setDeleteStatus] = useState({ index: 0, state: false }) - - const isFinished = (file: UploadFile) => - file.status === UploadStatus.UPLOAD_SUCCESS || - file.status === UploadStatus.UPLOAD_ERROR - - const filesCount = uploadFiles.length - - const finishedFilesCount = uploadFiles.filter(isFinished).length - const uploadedFilesCount = uploadFiles.filter( - (file) => - file.status === UploadStatus.UPLOAD_SUCCESS || - file.status === UploadStatus.NEW - ).length - - const DefaultDropStatusHeader: typeof DropStatusHeader = ({ - numUploaded, - numTotal, - }) => { - const uploadProgress = translations.uploadProgess - .replace('%', numUploaded.toString()) - .replace('%', numTotal.toString()) - - return ( - - {filesCount ? uploadProgress : translations.placeholder} - - ) - } - - let DropStatusHeaderComponent = DefaultDropStatusHeader - if (DropStatusHeader) { - DropStatusHeaderComponent = DropStatusHeader - } else if (DropStatusHeader === false) { - DropStatusHeaderComponent = () => null - } - - let DropPreviewFileComponent = DefaultDropPreviewFile - if (DropPreviewFile) { - DropPreviewFileComponent = DropPreviewFile - } else if (DropPreviewFile === false) { - DropPreviewFileComponent = () => null - } - - const onCallback = (closeOverlay: boolean) => { - if (closeOverlay) { - onDelete?.(deletestatus.index, '') - } - setDeleteStatus({ index: 0, state: false }) - } - - return ( - <> - onCallback(closeOverlay)} - deleteOverlay={deletestatus.state} - deleteOverlayTranslation={deleteOverlayTranslation} - /> - - - {finishedFilesCount > 0 && ( - - {uploadFiles - .filter((file) => isFinished(file)) - .map((file, index) => ( - - enableDeleteOverlay - ? setDeleteStatus({ index: index, state: true }) - : file.id && onDelete?.(index, file.id) - } - enableDeleteIcon={enableDeleteIcon} - onDownload={() => file.id && onDownload?.(file.name, file.id)} - /> - ))} - - )} - {filesCount - finishedFilesCount > 0 && ( - - {uploadFiles - .filter((file) => !isFinished(file)) - .map((file, index) => ( - - enableDeleteOverlay - ? setDeleteStatus({ index: index, state: true }) - : onDelete?.(index, '') - } - /> - ))} - - )} - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/components/DropPreviewFile.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/components/DropPreviewFile.tsx deleted file mode 100644 index c7e664201..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/components/DropPreviewFile.tsx +++ /dev/null @@ -1,221 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, IconButton, useTheme } from '@mui/material' -import React, { FunctionComponent, useEffect, useRef, useState } from 'react' -import { DropZonePreviewTranslations, UploadFile, UploadStatus } from '../types' -import { FileIcon } from '../../CustomIcons/FileIcon' -import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline' - -const FAKE_UPLOAD_DURATION = 6000 - -const formatBytes = (b: number) => { - const units = ['bytes', 'KB', 'MB'] - let l = 0 - let n = b - - while (n >= 1024) { - n /= 1024 - l += 1 - } - - return `${n?.toFixed?.(n >= 10 || l < 1 ? 0 : 1)} ${units[l]}` -} - -export interface DropPreviewFileProps { - uploadFile: UploadFile - onDelete?: () => void - translations: DropZonePreviewTranslations - enableDeleteIcon?: boolean - onDownload?: () => void -} - -export const DropPreviewFile: FunctionComponent = ({ - uploadFile, - translations, - onDelete, - enableDeleteIcon = true, - onDownload, -}) => { - const theme = useTheme() - - const [fakeProgressPercent, setFakeProgressPercent] = useState(0) - const fakeProgressTimeRef = useRef(0) - - const progressPercent = uploadFile.progressPercent || fakeProgressPercent - - useEffect(() => { - if ( - uploadFile.status === UploadStatus.UPLOADING && - fakeProgressTimeRef.current === 0 - ) { - const intervalFrequency = 50 - - const updateProgress = () => { - fakeProgressTimeRef.current += intervalFrequency - - setFakeProgressPercent( - Math.log2( - 1 + (fakeProgressTimeRef.current / FAKE_UPLOAD_DURATION) * 5 - ) * 33 - ) - - if (fakeProgressTimeRef.current < FAKE_UPLOAD_DURATION) { - setTimeout(updateProgress, intervalFrequency) - } else { - fakeProgressTimeRef.current = 0 - } - } - - updateProgress() - } - }, [uploadFile.status]) - - const isUploading = uploadFile.status === UploadStatus.UPLOADING - - let tagLabel - - switch (uploadFile.status) { - case UploadStatus.UPLOAD_SUCCESS: - tagLabel = translations.uploadSuccess - break - case UploadStatus.UPLOAD_ERROR: - tagLabel = translations.uploadError - break - } - - const showDeleteButton = - enableDeleteIcon && - uploadFile.status !== UploadStatus.UPLOADING && - uploadFile.status !== UploadStatus.UPLOAD_ERROR - - return ( - - - - - - onDownload?.()} - > - {uploadFile.name} - - - {uploadFile?.size && formatBytes(uploadFile.size)} - - - {tagLabel && ( - - - {tagLabel} - - - )} - - onDelete?.()}> - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/index.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/index.tsx deleted file mode 100644 index bfd37321b..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/index.tsx +++ /dev/null @@ -1,4 +0,0 @@ -export * from './types' -export * from './components/DropArea' -export * from './components/DropPreview' -export * from './components/DropPreviewFile' diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/DropzoneTypes.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/DropzoneTypes.tsx deleted file mode 100644 index b916c1c61..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/DropzoneTypes.tsx +++ /dev/null @@ -1,232 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -export type StatusValue = - | 'rejected_file_type' - | 'rejected_max_files' - | 'preparing' - | 'error_file_size' - | 'error_validation' - | 'ready' - | 'started' - | 'getting_upload_params' - | 'error_upload_params' - | 'uploading' - | 'exception_upload' - | 'aborted' - | 'restarted' - | 'removed' - | 'error_upload' - | 'headers_received' - | 'done' - -export type MethodValue = - | 'delete' - | 'get' - | 'head' - | 'options' - | 'patch' - | 'post' - | 'put' - | 'DELETE' - | 'GET' - | 'HEAD' - | 'OPTIONS' - | 'PATCH' - | 'POST' - | 'PUT' - -export interface IMeta { - id: string - status: StatusValue - type: string // MIME type, example: `image/*` - name: string - uploadedDate: string // ISO string - percent: number - size: number // bytes - lastModifiedDate: string // ISO string - previewUrl?: string // from URL.createObjectURL - duration?: number // seconds - width?: number - height?: number - validationError?: any -} - -export interface IFileWithMeta { - file: File - meta: IMeta - cancel: () => void - restart: () => void - remove: () => void - xhr?: XMLHttpRequest -} - -export interface IExtra { - active: boolean - reject: boolean - dragged: DataTransferItem[] - accept: string - multiple: boolean - minSizeBytes: number - maxSizeBytes: number - maxFiles: number -} - -export interface IUploadParams { - url: string - method?: MethodValue - body?: string | FormData | ArrayBuffer | Blob | File | URLSearchParams - fields?: { [name: string]: string | Blob } - headers?: { [name: string]: string } - meta?: { [name: string]: any } -} - -export type CustomizationFunction = ( - allFiles: IFileWithMeta[], - extra: IExtra -) => T - -export interface IStyleCustomization { - dropzone?: T | CustomizationFunction - dropzoneActive?: T | CustomizationFunction - dropzoneReject?: T | CustomizationFunction - dropzoneDisabled?: T | CustomizationFunction - input?: T | CustomizationFunction - inputLabel?: T | CustomizationFunction - inputLabelWithFiles?: T | CustomizationFunction - preview?: T | CustomizationFunction -} - -export interface IExtraLayout extends IExtra { - onFiles(files: File[]): void - onCancelFile(file: IFileWithMeta): void - onRemoveFile(file: IFileWithMeta): void - onRestartFile(file: IFileWithMeta): void -} - -export interface ILayoutProps { - files: IFileWithMeta[] - extra: IExtraLayout - input: React.ReactNode - previews: React.ReactNode[] | null - dropzoneProps: { - ref: React.RefObject - className: string - style?: React.CSSProperties - onDragEnter(event: React.DragEvent): void - onDragOver(event: React.DragEvent): void - onDragLeave(event: React.DragEvent): void - onDrop(event: React.DragEvent): void - } -} - -interface ICommonProps { - files: IFileWithMeta[] - extra: IExtra -} - -export interface IPreviewProps extends ICommonProps { - meta: IMeta - className?: string - imageClassName?: string - style?: React.CSSProperties - imageStyle?: React.CSSProperties - fileWithMeta: IFileWithMeta - isUpload: boolean - errorStatus: String[] - statusText: Partial -} - -export interface IInputProps extends ICommonProps { - inputClassName?: string - labelClassName?: string - labelWithFilesClassName?: string - style?: React.CSSProperties - labelStyle?: React.CSSProperties - labelWithFilesStyle?: React.CSSProperties - getFilesFromEvent: ( - event: React.ChangeEvent - ) => Promise - accept: string - multiple: boolean - disabled: boolean - content?: React.ReactNode - withFilesContent?: React.ReactNode - onFiles: (files: File[]) => void - inputContentSubTitle: string - inputContentTitle: string - size?: 'normal' | 'small' -} - -type ReactComponent = ( - props: Props -) => React.ReactNode | React.Component - -type statusText = { - [k in StatusValue]: string -} - -export interface IDropzoneProps { - onChangeStatus?( - file: IFileWithMeta, - status: StatusValue, - allFiles: IFileWithMeta[] - ): { meta: { [name: string]: any } } | void - getUploadParams?(file: IFileWithMeta): IUploadParams | Promise - - getFilesFromEvent?: ( - event: React.DragEvent | React.ChangeEvent - ) => Promise | File[] - getDataTransferItemsFromEvent?: ( - event: React.DragEvent - ) => Promise | DataTransferItem[] - - accept: string - multiple: boolean - minSizeBytes: number - maxSizeBytes: number - maxFiles: number - - inputContentSubTitle: string - inputContentTitle: string - - errorStatus: String[] - statusText: Partial - - validate?(file: IFileWithMeta): any // usually a string, but can be anything - - autoUpload: boolean - timeout?: number - - initialFiles?: File[] - - /* component customization */ - disabled: boolean | CustomizationFunction - - classNames: IStyleCustomization - styles: IStyleCustomization - addClassNames: IStyleCustomization - - /* component injection */ - PreviewComponent?: ReactComponent - InputComponent?: ReactComponent - - size?: 'normal' | 'small' -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/Input.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/Input.tsx deleted file mode 100644 index 9bed9af4e..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/Input.tsx +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -import { IInputProps } from './DropzoneTypes' -import { DropArea } from '../components/DropArea' - -class Input extends React.PureComponent { - render() { - const { - inputClassName, - style, - accept, - inputContentTitle, - inputContentSubTitle, - multiple, - disabled, - getFilesFromEvent, - onFiles, - size, - } = this.props - - return ( - - { - const target = e.target - const chosenFiles = await getFilesFromEvent(e) - onFiles(chosenFiles) - target.value = '' - }} - /> - - ) - } -} -export default Input diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/Preview.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/Preview.tsx deleted file mode 100644 index bffa26970..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/Preview.tsx +++ /dev/null @@ -1,116 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -import { IPreviewProps } from './DropzoneTypes' -import { Box } from '@mui/material' -import { Typography } from '../../Typography' -import { FileIcon } from '../../CustomIcons/FileIcon' -import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline' -import RestartAltOutlinedIcon from '@mui/icons-material/RestartAltOutlined' -class Preview extends React.PureComponent { - render() { - const { - fileWithMeta: { cancel, remove, restart }, - meta, - errorStatus, - statusText, - } = this.props - - const newStatusValue = statusText[meta.status] ?? meta.status - - return ( - - - - - - {meta.name} - - - {newStatusValue} - - - - - {meta.status === 'uploading' && ( - - - - )} - {meta.status !== 'preparing' && - meta.status !== 'getting_upload_params' && - meta.status !== 'uploading' && ( - - - - )} - {errorStatus.includes(meta.status) && ( - - - - )} - - ) - } -} -export default Preview diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/index.tsx b/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/index.tsx deleted file mode 100644 index 766a6bdb2..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/index.tsx +++ /dev/null @@ -1,534 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -import Layout from './Layout' -import Preview from './Preview' -import Input from './Input' - -import { - formatBytes, - formatDuration, - accepts, - resolveValue, - mergeStyles, - defaultClassNames, - getFilesFromEvent as defaultGetFilesFromEvent, -} from './utils' - -import { - IDropzoneProps, - IExtra, - IExtraLayout, - IFileWithMeta, - IInputProps, - IUploadParams, -} from './DropzoneTypes' - -class DropzoneOldDEPRECATED extends React.Component< - IDropzoneProps, - { active: boolean; dragged: (File | DataTransferItem)[] } -> { - static defaultProps: IDropzoneProps - protected files: IFileWithMeta[] - protected mounted: boolean - protected dropzone: React.RefObject - protected dragTimeoutId?: number - - constructor(props: IDropzoneProps) { - super(props) - this.state = { - active: false, - dragged: [], - } - this.files = [] - this.mounted = true - this.dropzone = React.createRef() - } - - componentDidMount() { - if (this.props.initialFiles) this.handleFiles(this.props.initialFiles) - } - - componentDidUpdate(prevProps: IDropzoneProps) { - const { initialFiles } = this.props - if (prevProps.initialFiles !== initialFiles && initialFiles) - this.handleFiles(initialFiles) - } - - componentWillUnmount() { - this.mounted = false - for (const fileWithMeta of this.files) this.handleCancel(fileWithMeta) - } - - forceUpdate = () => { - if (this.mounted) super.forceUpdate() - } - - getFilesFromEvent = () => { - return this.props.getFilesFromEvent || defaultGetFilesFromEvent - } - - getDataTransferItemsFromEvent = () => { - return this.props.getDataTransferItemsFromEvent || defaultGetFilesFromEvent - } - - handleDragEnter = async (e: React.DragEvent) => { - e.preventDefault() - e.stopPropagation() - const dragged = (await this.getDataTransferItemsFromEvent()( - e - )) as DataTransferItem[] - this.setState({ active: true, dragged }) - } - - handleDragOver = async (e: React.DragEvent) => { - e.preventDefault() - e.stopPropagation() - clearTimeout(this.dragTimeoutId) - const dragged = await this.getDataTransferItemsFromEvent()(e) - this.setState({ active: true, dragged }) - } - - handleDragLeave = (e: React.DragEvent) => { - e.preventDefault() - e.stopPropagation() - this.dragTimeoutId = window.setTimeout( - () => this.setState({ active: false, dragged: [] }), - 150 - ) - } - - handleDrop = async (e: React.DragEvent) => { - e.preventDefault() - e.stopPropagation() - this.setState({ active: false, dragged: [] }) - const files = (await this.getFilesFromEvent()(e)) as File[] - this.handleFiles(files) - } - - handleDropDisabled = (e: React.DragEvent) => { - e.preventDefault() - e.stopPropagation() - this.setState({ active: false, dragged: [] }) - } - - handleChangeStatus = (fileWithMeta: IFileWithMeta) => { - if (!this.props.onChangeStatus) return - const { meta = {} } = - this.props.onChangeStatus( - fileWithMeta, - fileWithMeta.meta.status, - this.files - ) || {} - if (meta) { - delete meta.status - fileWithMeta.meta = { ...fileWithMeta.meta, ...meta } - this.forceUpdate() - } - } - - handleCancel = (fileWithMeta: IFileWithMeta) => { - if (fileWithMeta.meta.status !== 'uploading') return - fileWithMeta.meta.status = 'aborted' - if (fileWithMeta.xhr) fileWithMeta.xhr.abort() - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - } - - handleRemove = (fileWithMeta: IFileWithMeta) => { - const index = this.files.findIndex((f) => f === fileWithMeta) - if (index !== -1) { - URL.revokeObjectURL(fileWithMeta.meta.previewUrl || '') - fileWithMeta.meta.status = 'removed' - this.handleChangeStatus(fileWithMeta) - this.files.splice(index, 1) - this.forceUpdate() - } - } - - handleRestart = (fileWithMeta: IFileWithMeta) => { - if (!this.props.getUploadParams) return - - if (fileWithMeta.meta.status === 'ready') - fileWithMeta.meta.status = 'started' - else fileWithMeta.meta.status = 'restarted' - this.handleChangeStatus(fileWithMeta) - - fileWithMeta.meta.status = 'getting_upload_params' - fileWithMeta.meta.percent = 0 - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - this.uploadFile(fileWithMeta) - } - - // expects an array of File objects - handleFiles = (files: File[]) => { - files.forEach((f, i) => this.handleFile(f, `${new Date().getTime()}-${i}`)) - const { current } = this.dropzone - if (current) - setTimeout( - () => current.scroll({ top: current.scrollHeight, behavior: 'smooth' }), - 150 - ) - } - - handleFile = async (file: File, id: string) => { - const { name, size, type, lastModified } = file - const { - minSizeBytes, - maxSizeBytes, - maxFiles, - accept, - getUploadParams, - autoUpload, - validate, - } = this.props - - const uploadedDate = new Date().toISOString() - const lastModifiedDate = - lastModified && new Date(lastModified).toISOString() - const fileWithMeta = { - file, - meta: { - name, - size, - type, - lastModifiedDate, - uploadedDate, - percent: 0, - id, - }, - } as IFileWithMeta - - if (file.type !== 'application/x-moz-file' && !accepts(file, accept)) { - fileWithMeta.meta.status = 'rejected_file_type' - this.handleChangeStatus(fileWithMeta) - return - } - if (this.files.length >= maxFiles) { - fileWithMeta.meta.status = 'rejected_max_files' - this.handleChangeStatus(fileWithMeta) - return - } - - fileWithMeta.cancel = () => this.handleCancel(fileWithMeta) - fileWithMeta.remove = () => this.handleRemove(fileWithMeta) - fileWithMeta.restart = () => this.handleRestart(fileWithMeta) - - fileWithMeta.meta.status = 'preparing' - this.files.push(fileWithMeta) - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - - if (size < minSizeBytes || size > maxSizeBytes) { - fileWithMeta.meta.status = 'error_file_size' - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - return - } - - if (validate) { - const error = validate(fileWithMeta) - if (error) { - fileWithMeta.meta.status = 'error_validation' - fileWithMeta.meta.validationError = error - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - return - } - } - - if (getUploadParams) { - if (autoUpload) { - this.uploadFile(fileWithMeta) - fileWithMeta.meta.status = 'getting_upload_params' - } else { - fileWithMeta.meta.status = 'ready' - } - } else { - fileWithMeta.meta.status = 'done' - } - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - } - - uploadFile = async (fileWithMeta: IFileWithMeta) => { - const { getUploadParams } = this.props - if (!getUploadParams) return - let params: IUploadParams | null = null - try { - params = await getUploadParams(fileWithMeta) - } catch (e) { - console.error('Error Upload Params', e) - } - if (params === null) return - const { - url, - method = 'POST', - body, - fields = {}, - headers = {}, - meta: extraMeta = {}, - } = params - delete extraMeta.status - - if (!url) { - fileWithMeta.meta.status = 'error_upload_params' - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - return - } - - const xhr = new XMLHttpRequest() - const formData = new FormData() - xhr.open(method, url, true) - - for (const field of Object.keys(fields)) - formData.append(field, fields[field]) - xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest') - for (const header of Object.keys(headers)) - xhr.setRequestHeader(header, headers[header]) - fileWithMeta.meta = { ...fileWithMeta.meta, ...extraMeta } - - // update progress (can be used to show progress indicator) - xhr.upload.addEventListener('progress', (e) => { - fileWithMeta.meta.percent = (e.loaded * 100.0) / e.total || 100 - this.forceUpdate() - }) - - xhr.addEventListener('readystatechange', () => { - if (xhr.readyState !== 2 && xhr.readyState !== 4) return - - if (xhr.status === 0 && fileWithMeta.meta.status !== 'aborted') { - fileWithMeta.meta.status = 'exception_upload' - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - } - - if (xhr.status > 0 && xhr.status < 400) { - fileWithMeta.meta.percent = 100 - if (xhr.readyState === 2) fileWithMeta.meta.status = 'headers_received' - if (xhr.readyState === 4) fileWithMeta.meta.status = 'done' - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - } - - if (xhr.status >= 400 && fileWithMeta.meta.status !== 'error_upload') { - fileWithMeta.meta.status = 'error_upload' - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - } - }) - - formData.append('file', fileWithMeta.file) - if (this.props.timeout) xhr.timeout = this.props.timeout - xhr.send(body || formData) - fileWithMeta.xhr = xhr - fileWithMeta.meta.status = 'uploading' - this.handleChangeStatus(fileWithMeta) - this.forceUpdate() - } - - render() { - const { - accept, - multiple, - maxFiles, - minSizeBytes, - maxSizeBytes, - getUploadParams, - disabled, - classNames, - styles, - addClassNames, - PreviewComponent, - inputContentSubTitle, - inputContentTitle, - errorStatus, - statusText, - size, - } = this.props - - const { active, dragged } = this.state - - const reject = dragged.some( - (file) => - file.type !== 'application/x-moz-file' && !accepts(file as File, accept) - ) - const extra = { - active, - reject, - dragged, - accept, - multiple, - minSizeBytes, - maxSizeBytes, - maxFiles, - } as IExtra - const files = [...this.files] - const dropzoneDisabled = resolveValue(disabled, files, extra) - - const { - classNames: { - dropzone: dropzoneClassName, - dropzoneActive: dropzoneActiveClassName, - dropzoneReject: dropzoneRejectClassName, - dropzoneDisabled: dropzoneDisabledClassName, - input: inputClassName, - }, - styles: { - dropzone: dropzoneStyle, - dropzoneActive: dropzoneActiveStyle, - dropzoneReject: dropzoneRejectStyle, - dropzoneDisabled: dropzoneDisabledStyle, - input: inputStyle, - }, - } = mergeStyles(classNames, styles, addClassNames, files, extra) - - let previews = null - - if (PreviewComponent !== null) { - previews = files.map((f) => { - return ( - - ) - }) - } - - const input = ( - - ) - - let className = dropzoneClassName - let style = dropzoneStyle - - if (dropzoneDisabled) { - className = `${className} ${dropzoneDisabledClassName}` - style = { ...(style || {}), ...(dropzoneDisabledStyle || {}) } - } else if (reject) { - className = `${className} ${dropzoneRejectClassName}` - style = { ...(style || {}), ...(dropzoneRejectStyle || {}) } - } else if (active) { - className = `${className} ${dropzoneActiveClassName}` - style = { ...(style || {}), ...(dropzoneActiveStyle || {}) } - } - - return ( - - ) - } -} - -DropzoneOldDEPRECATED.defaultProps = { - accept: '*', - multiple: true, - minSizeBytes: 0, - maxSizeBytes: Number.MAX_SAFE_INTEGER, - maxFiles: Number.MAX_SAFE_INTEGER, - autoUpload: true, - disabled: false, - classNames: {}, - styles: {}, - addClassNames: {}, - inputContentTitle: 'Drag & drop your files here', - inputContentSubTitle: 'or browse files on your computer.', - errorStatus: [ - 'error_upload_params', - 'exception_upload', - 'error_upload', - 'aborted', - 'ready', - ], - statusText: { - rejected_file_type: 'new rejected_file_type', - rejected_max_files: 'new rejected_max_files', - preparing: 'new preparing', - error_file_size: 'new error_file_size', - error_validation: 'new error_validation', - ready: 'new ready', - started: 'new started', - getting_upload_params: 'new getting_upload_params', - error_upload_params: 'new error_upload_params', - uploading: 'new uploading', - exception_upload: 'new exception_upload', - aborted: 'new aborted', - restarted: 'new restarted', - removed: 'new removed', - error_upload: 'new error_upload', - headers_received: 'new headers_received', - done: 'new done', - }, -} - -export { - DropzoneOldDEPRECATED, - formatBytes, - formatDuration, - accepts, - defaultClassNames, - defaultGetFilesFromEvent as getFilesFromEvent, -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/utils.ts b/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/utils.ts deleted file mode 100644 index 5002deb06..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/old_deprecated/utils.ts +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -import { IStyleCustomization } from './DropzoneTypes' - -export const formatBytes = (b: number) => { - const units = ['bytes', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] - let l = 0 - let n = b - - while (n >= 1024) { - n /= 1024 - l += 1 - } - - return `${n.toFixed(n >= 10 || l < 1 ? 0 : 1)}${units[l]}` -} - -export const formatDuration = (seconds: number) => { - const date = new Date(0) - date.setSeconds(seconds) - const dateString = date.toISOString().slice(11, 19) - if (seconds < 3600) return dateString.slice(3) - return dateString -} - -// returns true if file.name is empty and accept string is something like ".csv", -// because file comes from dataTransferItem for drag events, and -// dataTransferItem.name is always empty -export const accepts = (file: File, accept: string) => { - if (!accept || accept === '*') return true - - const mimeType = file.type || '' - const baseMimeType = mimeType.split('/').shift() - - return accept - .split(',') - .map((t) => t.trim()) - .some((type) => { - if (type.charAt(0) === '.') { - return ( - file.name === undefined || - file.name.toLowerCase().endsWith(type.toLowerCase()) - ) - } else if (type.endsWith('/*')) { - // this is something like an image/* mime type - return baseMimeType === type.split('/').shift() - } - return mimeType === type - }) -} - -type ResolveFn = (...args: any[]) => T - -export const resolveValue = ( - value: ResolveFn | T, - ...args: any[] -) => { - if (typeof value === 'function') return (value as ResolveFn)(...args) - return value -} - -export const defaultClassNames = { - dropzone: 'dropzone', - dropzoneActive: 'dropzoneActive', - dropzoneReject: 'dropzoneActive', - dropzoneDisabled: 'dropzoneDisabled', - input: 'input', - inputLabel: 'inputLabel', - inputLabelWithFiles: 'inputLabelWithFiles', - preview: 'previewContainer', - previewImage: 'previewImage', -} - -export const mergeStyles = ( - classNames: IStyleCustomization, - styles: IStyleCustomization, - addClassNames: IStyleCustomization, - ...args: any[] -) => { - const resolvedClassNames: { [property: string]: string } = { - ...defaultClassNames, - } - const resolvedStyles = { ...styles } as { [property: string]: string } - - for (const [key, value] of Object.entries(classNames)) { - resolvedClassNames[key] = resolveValue(value, ...args) - } - - for (const [key, value] of Object.entries(addClassNames)) { - resolvedClassNames[key] = `${resolvedClassNames[key]} ${resolveValue( - value, - ...args - )}` - } - - for (const [key, value] of Object.entries(styles)) { - resolvedStyles[key] = resolveValue(value, ...args) - } - - return { - classNames: resolvedClassNames, - styles: resolvedStyles as IStyleCustomization, - } -} - -export const getFilesFromEvent = ( - event: React.DragEvent | React.ChangeEvent -): Array => { - let items = null - - if ('dataTransfer' in event) { - const dt = event.dataTransfer - - // NOTE: Only the 'drop' event has access to DataTransfer.files, otherwise it will always be empty - if ('files' in dt && dt.files.length) { - items = dt.files - } else if (dt.items && dt.items.length) { - items = dt.items - } - } else if (event.target && event.target.files) { - items = event.target.files - } - - return Array.prototype.slice.call(items) -} diff --git a/cx-portal-shared-components/src/components/basic/Dropzone/types.ts b/cx-portal-shared-components/src/components/basic/Dropzone/types.ts deleted file mode 100644 index 7b23a2bd9..000000000 --- a/cx-portal-shared-components/src/components/basic/Dropzone/types.ts +++ /dev/null @@ -1,40 +0,0 @@ -export enum UploadStatus { - NEW = 'new', - UPLOADING = 'uploading', - UPLOAD_SUCCESS = 'upload_success', - UPLOAD_ERROR = 'upload_error', -} - -export type UploadFileStatus = - | UploadStatus.NEW - | UploadStatus.UPLOADING - | UploadStatus.UPLOAD_SUCCESS - | UploadStatus.UPLOAD_ERROR - -export type UploadFile = { - id?: string - name: string - size?: number - status: UploadFileStatus - progressPercent?: number -} - -export type DropZoneDropAreaTranslations = { - title: string | JSX.Element - subTitle: string | JSX.Element - errorTitle: string | JSX.Element -} - -export type DropZonePreviewTranslations = { - placeholder: string | JSX.Element - uploadProgess: string - uploadSuccess: string | JSX.Element - uploadError: string | JSX.Element -} - -export type deleteConfirmOverlayTranslation = { - title: string - content: string - action_no: string - action_yes: string -} diff --git a/cx-portal-shared-components/src/components/basic/ErrorPage/ErrorPage.stories.tsx b/cx-portal-shared-components/src/components/basic/ErrorPage/ErrorPage.stories.tsx deleted file mode 100644 index 4928aad69..000000000 --- a/cx-portal-shared-components/src/components/basic/ErrorPage/ErrorPage.stories.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { ErrorPage as Component } from '.' - -export default { - title: 'ErrorPage', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const ErrorPage = Template.bind({}) -ErrorPage.args = { - hasNavigation: false, - header: '500 Internal Server Error', - title: 'Oops, Something went wrong.', - description: - 'The server encountered an internal error or misconfiguration and was unable to complete your request.', - additionalDescription: 'Please contact your admin.', - reloadButtonTitle: 'Reload Page', - homeButtonTitle: 'Homepage', - onReloadClick: () => console.log('reload'), - onHomeClick: () => console.log('home page'), - color: 'gray', -} diff --git a/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorActions.tsx b/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorActions.tsx deleted file mode 100644 index be8aa0e5e..000000000 --- a/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorActions.tsx +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Button } from '../../Button' -import { ErrorPageProps } from '../index' - -export const ErrorActions = ({ - reloadButtonTitle, - homeButtonTitle, - onReloadClick, - onHomeClick, -}: ErrorPageProps) => { - return ( - - {reloadButtonTitle && ( - - )} - {homeButtonTitle && ( - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorDescription.tsx b/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorDescription.tsx deleted file mode 100644 index d66873c53..000000000 --- a/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorDescription.tsx +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Typography } from '@mui/material' -import { ErrorPageProps } from '../index' - -export const ErrorDescription = ({ - header, - title, - description, - additionalDescription, -}: ErrorPageProps) => { - return ( - - {header && ( - - {header} - - )} - - {title && ( - - {title} - - )} - - {title && description && ( - - {description}{' '} - - {additionalDescription} - - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorImage.tsx b/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorImage.tsx deleted file mode 100644 index b7704649a..000000000 --- a/cx-portal-shared-components/src/components/basic/ErrorPage/components/ErrorImage.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import RobotColor from '../../../../assets/errorImage/robot-color.svg' -import RobotGray from '../../../../assets/errorImage/robot-sw.svg' -import { BaseImage } from '../../BaseImage' - -interface ErrorImageProps { - variant?: 'color' | 'gray' - altText?: string -} - -export const ErrorImage = ({ - variant = 'color', - altText = 'Catena-X Error', - ...props -}: ErrorImageProps) => ( - -) diff --git a/cx-portal-shared-components/src/components/basic/ErrorPage/components/Footer.tsx b/cx-portal-shared-components/src/components/basic/ErrorPage/components/Footer.tsx deleted file mode 100644 index 44ae5a3d3..000000000 --- a/cx-portal-shared-components/src/components/basic/ErrorPage/components/Footer.tsx +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -export const Footer = () => { - return ( - <> - - - - - - - - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ErrorPage/index.tsx b/cx-portal-shared-components/src/components/basic/ErrorPage/index.tsx deleted file mode 100644 index f556456ec..000000000 --- a/cx-portal-shared-components/src/components/basic/ErrorPage/index.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { ErrorDescription } from './components/ErrorDescription' -import { ErrorActions } from './components/ErrorActions' -import { ErrorImage } from './components/ErrorImage' - -export interface ErrorPageProps { - hasNavigation?: boolean - header?: string - title?: string - description?: string - additionalDescription?: string - reloadButtonTitle?: string - homeButtonTitle?: string - onReloadClick?: React.MouseEventHandler - onHomeClick?: React.MouseEventHandler - color?: 'color' | 'gray' -} - -export const ErrorPage = ({ - hasNavigation, - header, - title, - description, - additionalDescription, - reloadButtonTitle, - homeButtonTitle, - onReloadClick, - onHomeClick, - color = 'gray', -}: ErrorPageProps) => { - const height = hasNavigation ? 'calc(100vh - 85px)' : '100vh' - return ( - - - - - - - - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Expand/Expand.stories.tsx b/cx-portal-shared-components/src/components/basic/Expand/Expand.stories.tsx deleted file mode 100644 index 95451ff0f..000000000 --- a/cx-portal-shared-components/src/components/basic/Expand/Expand.stories.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Expand as Component } from '.' - -export default { - title: 'Expand', - component: Component, - argTypes: { - onClick: { - action: 'onClick', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Expand = Template.bind({}) -Expand.args = { - label: 'Full role description', - expandedLabel: 'Close role description', - text: 'The App Provider is a company which is providing application software via the CX marketplace. As app provider you can participate and use the developer hub, release and offer applications to the network and manage your applications.', -} diff --git a/cx-portal-shared-components/src/components/basic/Expand/index.tsx b/cx-portal-shared-components/src/components/basic/Expand/index.tsx deleted file mode 100644 index 5b4aa7e88..000000000 --- a/cx-portal-shared-components/src/components/basic/Expand/index.tsx +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useState } from 'react' -import { Collapse } from '@mui/material' -import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown' -import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp' -import { Typography } from '../Typography' - -export const Expand = ({ - label, - expandedLabel, - text, -}: { - label: string - expandedLabel: string - text: string -}) => { - const [open, setOpen] = useState(false) - - return ( - <> - - {open ? ( - setOpen(!open)} - sx={{ height: '21px', cursor: 'pointer' }} - /> - ) : ( - setOpen(!open)} - sx={{ height: '21px', cursor: 'pointer' }} - /> - )} - {open ? expandedLabel : label} - -
- - {text} - -
- - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/MainHeader/Components/MainHeaderTitle.tsx b/cx-portal-shared-components/src/components/basic/Headers/MainHeader/Components/MainHeaderTitle.tsx deleted file mode 100644 index 8651f3da6..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/MainHeader/Components/MainHeaderTitle.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { MainHeaderProps } from '../MainHeader' -import { Typography } from '../../../Typography' - -export const MainHeaderTitle = ({ - title, - subTitle, - subTitleWidth, - titleTextVariant = 'h1', - subTitleTextVariant = 'h2', -}: MainHeaderProps) => { - return ( - <> - {title && ( - - {title} - - )} - - {subTitle && ( - - {subTitle} - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/MainHeader/MainHeader.stories.tsx b/cx-portal-shared-components/src/components/basic/Headers/MainHeader/MainHeader.stories.tsx deleted file mode 100644 index 47f3a7a71..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/MainHeader/MainHeader.stories.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { MainHeader as Component } from './MainHeader' - -export default { - title: 'Headers', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const MainHeader = Template.bind({}) -MainHeader.args = { - title: 'Catena-X', - subTitle: 'the gateway to the automotive digital network', - subTitleWidth: 787, - headerHeight: 645, - background: 'LinearGradient1', -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/MainHeader/MainHeader.tsx b/cx-portal-shared-components/src/components/basic/Headers/MainHeader/MainHeader.tsx deleted file mode 100644 index 8f2c1d87c..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/MainHeader/MainHeader.tsx +++ /dev/null @@ -1,178 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Image } from '../../Image' -import { mainNavigationHeight } from '../../MainNavigation' -import { MainHeaderTitle } from './Components/MainHeaderTitle' - -export interface MainHeaderProps { - children?: React.ReactNode - title?: string - subTitle?: string - subTitleWidth?: number - headerHeight?: number - background?: - | 'LinearGradient1' - | 'LinearGradient2' - | 'LinearGradient3' - | 'LinearGradient4' - imagePath?: string - titleTextVariant?: - | 'h1' - | 'h2' - | 'h3' - | 'h4' - | 'h5' - | 'h6' - | 'subtitle1' - | 'subtitle2' - | 'body1' - | 'body2' - | 'button' - | 'overline' - | 'inherit' - | 'body3' - | 'caption1' - | 'caption2' - | 'caption3' - | 'label1' - subTitleTextVariant?: - | 'h1' - | 'h2' - | 'h3' - | 'h4' - | 'h5' - | 'h6' - | 'subtitle1' - | 'subtitle2' - | 'body1' - | 'body2' - | 'button' - | 'overline' - | 'inherit' - | 'body3' - | 'caption1' - | 'caption2' - | 'caption3' - | 'label1' -} - -export const MainHeader = ({ - children, - title, - subTitle, - subTitleWidth, - headerHeight = 645, - background = 'LinearGradient1', - imagePath, - titleTextVariant, - subTitleTextVariant, -}: MainHeaderProps) => { - const backgroundstyle = () => { - if (background === 'LinearGradient1') { - return { - direction: 152.33, - colorFrom: '#adb9c7 4.24%', - colorTo: '#e4ebf3 72.17%', - } - } else if (background === 'LinearGradient3') { - return { - direction: 292.62, - colorFrom: '#FF782C -16.38%', - colorTo: '#FFB326 82.22%', - } - } else if (background === 'LinearGradient4') { - return { - direction: 111.81, - colorFrom: '#9EABA9 41.97%', - colorTo: '#B6A763 72.9%', - } - } else { - return { - direction: 145.91, - colorFrom: '#F0F2F5 18.42%', - colorTo: '#B4BBC3 79.14%', - } - } - } - - return ( - - {imagePath && ( - - - - )} - - - - -
{children}
-
-
- ) -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption1.tsx b/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption1.tsx deleted file mode 100644 index 504637e28..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption1.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { PageHeaderProps } from '../PageHeader' - -export const HeaderSubtractOption1 = ({ hasSubtract }: PageHeaderProps) => { - return ( - <> - {hasSubtract && ( - - - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption2.tsx b/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption2.tsx deleted file mode 100644 index eb8bc3bde..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption2.tsx +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { PageHeaderProps } from '../PageHeader' - -export const HeaderSubtractOption2 = ({ hasSubtract }: PageHeaderProps) => { - return ( - <> - {hasSubtract && ( - - - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption3.tsx b/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption3.tsx deleted file mode 100644 index 8834c664f..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderSubtractOption3.tsx +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { PageHeaderProps } from '../PageHeader' - -export const HeaderSubtractOption3 = ({ hasSubtract }: PageHeaderProps) => { - return ( - <> - {hasSubtract && ( - - - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderTitle.tsx b/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderTitle.tsx deleted file mode 100644 index 5e8257a68..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/Components/HeaderTitle.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Typography } from '@mui/material' -import { PageHeaderProps } from '../PageHeader' - -export const HeaderTitle = ({ title }: PageHeaderProps) => { - return ( - <> - {title && ( - - {title} - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/PageHeader.stories.tsx b/cx-portal-shared-components/src/components/basic/Headers/PageHeader/PageHeader.stories.tsx deleted file mode 100644 index 274682045..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/PageHeader.stories.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { PageHeader as Component } from './PageHeader' - -export default { - title: 'Headers', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const PageHeader = Template.bind({}) -PageHeader.args = { - title: 'Page title', - hasSubtract: true, - topPage: false, - headerHeight: 200, - subtractOption: 'Option1', - background: 'LinearGradient1', -} diff --git a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/PageHeader.tsx b/cx-portal-shared-components/src/components/basic/Headers/PageHeader/PageHeader.tsx deleted file mode 100644 index 28c5b8868..000000000 --- a/cx-portal-shared-components/src/components/basic/Headers/PageHeader/PageHeader.tsx +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import { HeaderTitle } from './Components/HeaderTitle' -import { HeaderSubtractOption1 } from './Components/HeaderSubtractOption1' -import { HeaderSubtractOption2 } from './Components/HeaderSubtractOption2' -import { HeaderSubtractOption3 } from './Components/HeaderSubtractOption3' -import { mainNavigationHeight } from '../../MainNavigation' - -export interface PageHeaderProps { - children?: React.ReactNode - title?: string - topPage?: boolean - headerHeight?: number - hasSubtract?: boolean - subtractOption?: 'Option1' | 'Option2' | 'Option3' - background?: - | 'LinearGradient1' - | 'LinearGradient2' - | 'LinearGradient3' - | 'LinearGradient4' -} - -export const PageHeader = ({ - children, - title, - topPage = false, - headerHeight = 314, - hasSubtract = true, - subtractOption = 'Option1', - background = 'LinearGradient1', -}: PageHeaderProps) => { - const { palette } = useTheme() - const hasChildren = !!children - // TODO: to many magic numbers and the overall composition of this header needs to be thought through again - // ternary operator hell: topPage/hasChildren : topPage/!hasChildren : !topPage/hasChildren : !topPage/!hasChildren - const top = topPage ? (hasChildren ? 73 : 153) : hasChildren ? 0 : 68 - const height = topPage ? headerHeight + mainNavigationHeight : headerHeight - const spacingTop = topPage ? -mainNavigationHeight : hasChildren ? 0 : 12 - - const backgroundStyle = () => { - if (background === 'LinearGradient1') { - return { - direction: 152.33, - colorFrom: '#adb9c7 4.24%', - colorTo: '#e4ebf3 72.17%', - } - } else if (background === 'LinearGradient3') { - return { - direction: 292.62, - colorFrom: '#FF782C -16.38%', - colorTo: '#FFB326 82.22%', - } - } else if (background === 'LinearGradient4') { - return { - direction: 111.81, - colorFrom: '#9EABA9 41.97%', - colorTo: '#B6A763 72.9%', - } - } else { - return { - direction: 145.91, - colorFrom: '#F0F2F5 18.42%', - colorTo: '#B4BBC3 79.14%', - } - } - } - - return ( - - {children && ( - - - {children} - - - )} - - - - {subtractOption === 'Option1' && ( - - )} - {subtractOption === 'Option2' && ( - - )} - {subtractOption === 'Option3' && ( - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/IconButton/IconButton.stories.tsx b/cx-portal-shared-components/src/components/basic/IconButton/IconButton.stories.tsx deleted file mode 100644 index 1c00ee1b2..000000000 --- a/cx-portal-shared-components/src/components/basic/IconButton/IconButton.stories.tsx +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { IconButton as Component } from '.' -import AddIcon from '@mui/icons-material/Add' -import ArrowForwardIcon from '@mui/icons-material/ArrowForward' - -export default { - title: 'Buttons', - component: Component, - argTypes: { - onClick: { - action: 'onClick', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const IconButton = Template.bind({}) -IconButton.args = { - color: 'primary', - size: 'medium', - disabled: false, - children: , -} - -export const ArrowButton = Template.bind({}) -ArrowButton.args = { - color: 'secondary', - size: 'medium', - disabled: false, - children: , -} diff --git a/cx-portal-shared-components/src/components/basic/IconButton/index.tsx b/cx-portal-shared-components/src/components/basic/IconButton/index.tsx deleted file mode 100644 index 52e266c3c..000000000 --- a/cx-portal-shared-components/src/components/basic/IconButton/index.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiIconButton, { - IconButtonProps as MuiIconButtonProps, -} from '@mui/material/IconButton' - -interface IconButtonProps extends Omit { - color?: 'primary' | 'secondary' - size?: 'medium' | 'small' - variant?: 'outlined' -} - -export const IconButton = ({ - size = 'medium', - variant, - ...props -}: IconButtonProps) => { - const outlinedStyle = variant === 'outlined' ? { border: '2px solid' } : {} - - return -} diff --git a/cx-portal-shared-components/src/components/basic/Image/Image.stories.tsx b/cx-portal-shared-components/src/components/basic/Image/Image.stories.tsx deleted file mode 100644 index 506896bfe..000000000 --- a/cx-portal-shared-components/src/components/basic/Image/Image.stories.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Image as Component } from '.' - -export default { - title: 'Image', - component: Component, - argTypes: { - children: {}, - }, -} -const Template: ComponentStory = (args: any) => ( - -) - -export const Image = Template.bind({}) -Image.args = { - src: 'https://raw.githubusercontent.com/catenax-ng/tx-portal-assets/main/public/assets/images/logos/cx-short.svg', - style: { - width: '240px', - height: '254px', - borderRadius: '15px', - }, -} diff --git a/cx-portal-shared-components/src/components/basic/Image/index.tsx b/cx-portal-shared-components/src/components/basic/Image/index.tsx deleted file mode 100644 index ffbac4a77..000000000 --- a/cx-portal-shared-components/src/components/basic/Image/index.tsx +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useEffect, useState, useCallback } from 'react' -import { LogoGrayData } from '../Logo' - -export const TransparentPixel = - 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' - -const IMAGE_TYPES: any = { - '3c': 'image/svg+xml', - ffd8ff: 'image/jpeg', - '89504e': 'image/png', - '474946': 'image/gif', -} - -const buf2hex = (buffer: ArrayBuffer) => - [...new Uint8Array(buffer)] - .map((x) => x.toString(16).padStart(2, '0')) - .join('') - -const defaultFetchImage = async (url: string): Promise => { - const response = await fetch(url) - return await response.arrayBuffer() -} - -interface ImageProps { - src: string - alt?: string - style?: any - loader?: (src: string) => Promise -} - -export const Image = ({ src, alt, style, loader }: ImageProps) => { - const [data, setData] = useState(src) - const [load, setLoad] = useState(false) - const [error, setError] = useState(false) - - const getData = useCallback(async () => { - try { - const buffer = loader ? await loader(src) : await defaultFetchImage(src) - const firstByte = buf2hex(buffer.slice(0, 1)) - const first3Bytes = buf2hex(buffer.slice(0, 3)) - const imageType = - IMAGE_TYPES[firstByte] || IMAGE_TYPES[first3Bytes] || 'image/*' - setData(URL.createObjectURL(new Blob([buffer], { type: imageType }))) - } catch (e) { - setError(true) - } - }, [src, loader]) - - useEffect(() => { - setError(false) - setLoad(false) - setData(src) - }, [src]) - - return ( - {alt { - setData(LogoGrayData) - if (load) { - setError(true) - } else { - setLoad(true) - getData() - } - }} - style={{ - objectFit: 'cover', - ...style, - }} - /> - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ImageGallery/ImageGallery.stories.tsx b/cx-portal-shared-components/src/components/basic/ImageGallery/ImageGallery.stories.tsx deleted file mode 100644 index 4829b943f..000000000 --- a/cx-portal-shared-components/src/components/basic/ImageGallery/ImageGallery.stories.tsx +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { ImageGallery as Component } from '.' - -export default { - title: 'ImageGallery', - component: Component, -} - -const Template: ComponentStory = (args) => ( - -) - -export const GridMediumSquareGallery = Template.bind({}) -GridMediumSquareGallery.args = { - gallery: [ - { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption1', - size: 'medium-square', - hover: false, - borderRadius: true, - shadow: true, - }, - { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption2', - size: 'medium-square', - hover: false, - borderRadius: true, - shadow: true, - }, - { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption3', - size: 'medium-square', - hover: false, - borderRadius: true, - shadow: true, - }, - ], -} - -export const FlexGallery = Template.bind({}) -FlexGallery.args = { - gallery: [ - { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption', - size: 'small-square', - hover: false, - borderRadius: true, - shadow: true, - }, - { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption', - size: 'small-rectangle', - hover: false, - borderRadius: true, - shadow: false, - }, - { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption', - size: 'small-square', - hover: false, - borderRadius: false, - shadow: true, - }, - { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption', - size: 'small-square', - hover: false, - borderRadius: false, - shadow: true, - }, - { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption', - size: 'small-square', - hover: false, - borderRadius: false, - shadow: true, - }, - ], -} diff --git a/cx-portal-shared-components/src/components/basic/ImageGallery/ImageGalleryItem.stories.tsx b/cx-portal-shared-components/src/components/basic/ImageGallery/ImageGalleryItem.stories.tsx deleted file mode 100644 index fa83ecb14..000000000 --- a/cx-portal-shared-components/src/components/basic/ImageGallery/ImageGalleryItem.stories.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentStory } from '@storybook/react' -import { ImageItem } from './ImageItem' - -export default { - title: 'ImageGalleryItem', - component: ImageItem, -} - -const Template: ComponentStory = (args) => ( - -) - -export const ImageGalleryItem = Template.bind({}) -ImageGalleryItem.args = { - url: 'https://cdn.pixabay.com/photo/2017/09/05/10/20/business-2717066_1280.jpg', - text: 'Lorem Image Caption', - size: 'small-square', - hover: true, - borderRadius: true, - shadow: true, -} diff --git a/cx-portal-shared-components/src/components/basic/ImageGallery/ImageItem.tsx b/cx-portal-shared-components/src/components/basic/ImageGallery/ImageItem.tsx deleted file mode 100644 index 48dd3a780..000000000 --- a/cx-portal-shared-components/src/components/basic/ImageGallery/ImageItem.tsx +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useState } from 'react' -import { Image } from '../Image' -import { Typography } from '../Typography' -import ImageItemOverlay from './ImageItemOverlay' -import { ImageType } from './types' - -export const ImageItem = ({ - url, - text, - size = 'large-square', - hover = true, - borderRadius = true, - shadow = true, - width, - height, - modalWidth, - additionalStyles = {}, -}: ImageType) => { - const [hovered, setHovered] = useState(false) - const getWidth = () => { - switch (size) { - case 'small-rectangle': - return { - width: '284px', - height: '160px', - } - case 'small-square': - return { - width: '160px', - height: '160px', - } - case 'medium-rectangle': - return { - width: '456px', - height: '256px', - } - case 'medium-square': - return { - width: '256px', - height: '256px', - } - case 'large-rectangle': - return { - width: '625px', - height: '352px', - } - case 'custom': - return { - width: width, - height: height, - } - default: - return { - width: '352px', - height: '352px', - } - } - } - return ( - <> - {hovered && ( - setHovered(false)} - url={url} - text={text} - size={size} - hover={hover} - borderRadius={borderRadius} - shadow={shadow} - modalWidth={modalWidth} - /> - )} -
hover && setHovered(true)} - style={{ - width: getWidth().width, - height: getWidth().height, - boxShadow: shadow ? '0px 10px 20px rgb(80 80 80 / 30%)' : 'none', - borderRadius: borderRadius ? '16px' : '0px', - marginBottom: '20px', - cursor: 'zoom-in', - ...additionalStyles, - }} - > - - - {text} - -
- - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ImageGallery/ImageItemOverlay.tsx b/cx-portal-shared-components/src/components/basic/ImageGallery/ImageItemOverlay.tsx deleted file mode 100644 index c7dc4a1ad..000000000 --- a/cx-portal-shared-components/src/components/basic/ImageGallery/ImageItemOverlay.tsx +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiDialog from '@mui/material/Dialog' -import { ImageType } from './types' -import { IconButton } from '../IconButton' -import CloseIcon from '@mui/icons-material/Close' -import { useTheme } from '@mui/material' -import MuiDialogContent from '@mui/material/DialogContent' -import { Typography } from '../Typography' -import { Image } from '../Image' - -type ImageItemOverlayProps = { - onClose: () => void -} - -export default function ImageItemOverlay({ - url, - text, - modalWidth = '600', - onClose, -}: ImageType & ImageItemOverlayProps) { - const { palette } = useTheme() - return ( -
- - -
- onClose()} - sx={{ - position: 'absolute', - right: 16, - top: 16, - color: palette.action.active, - }} - > - - - -
- {text && ( -
- - {text} - -
- )} -
-
-
- ) -} diff --git a/cx-portal-shared-components/src/components/basic/ImageGallery/index.tsx b/cx-portal-shared-components/src/components/basic/ImageGallery/index.tsx deleted file mode 100644 index 90b9ae5e3..000000000 --- a/cx-portal-shared-components/src/components/basic/ImageGallery/index.tsx +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useState } from 'react' -import { Carousel } from '../Carousel' -import { ImageType } from './types' -import ImageItemOverlay from './ImageItemOverlay' - -export const ImageGallery = ({ - gallery, - modalWidth, -}: { - gallery: ImageType[] - modalWidth?: string -}) => { - const [hovered, setHovered] = useState(false) - const [hoveredImage, setHoveredImage] = useState() - - const hoverImageFn = (image: ImageType) => { - setHovered(true) - setHoveredImage(image) - } - - return ( - <> - {hovered && hoveredImage && hoveredImage.url && ( - setHovered(false)} - url={hoveredImage.url} - text={hoveredImage.text} - modalWidth={modalWidth} - /> - )} - - {gallery.map((image) => ( -
- {image.text} hoverImageFn(image)} - /> -
- ))} -
- - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ImageGallery/types.ts b/cx-portal-shared-components/src/components/basic/ImageGallery/types.ts deleted file mode 100644 index 9509b28e7..000000000 --- a/cx-portal-shared-components/src/components/basic/ImageGallery/types.ts +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -export type ImageType = { - url: string - text: string - size?: - | 'small-rectangle' - | 'small-square' - | 'medium-rectangle' - | 'medium-square' - | 'large-rectangle' - | 'large-square' - | 'custom' - hover?: boolean - borderRadius?: boolean - shadow?: boolean - modalWidth?: string - width?: string - height?: string - additionalStyles?: any -} diff --git a/cx-portal-shared-components/src/components/basic/Input/Input.stories.tsx b/cx-portal-shared-components/src/components/basic/Input/Input.stories.tsx deleted file mode 100644 index 1863c3c73..000000000 --- a/cx-portal-shared-components/src/components/basic/Input/Input.stories.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Input as Component } from '.' - -export default { - title: 'Form', - component: Component, - argTypes: { - onClick: { - action: 'onClick', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Input = Template.bind({}) -Input.args = { - label: 'Label', - placeholder: 'Placeholder', - helperText: 'Helper', - disabled: false, - error: false, -} diff --git a/cx-portal-shared-components/src/components/basic/Input/index.tsx b/cx-portal-shared-components/src/components/basic/Input/index.tsx deleted file mode 100644 index 215dbe751..000000000 --- a/cx-portal-shared-components/src/components/basic/Input/index.tsx +++ /dev/null @@ -1,114 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { - TextField, - TextFieldProps, - FormHelperText, - InputLabel, - InputAdornment, - Box, - FormControl, -} from '@mui/material' -import ErrorOutline from '@mui/icons-material/ErrorOutline' -import HelpOutlineIcon from '@mui/icons-material/HelpOutline' -import { Tooltips } from '../ToolTips' - -interface InputProps extends Omit { - variant?: 'filled' - tooltipMessage?: string -} - -export const Input = ({ - variant = 'filled', - label, - placeholder, - helperText, - error = false, - tooltipMessage, - ...props -}: InputProps) => { - return ( - - - - - {label} - - {tooltipMessage && ( - - - - } - /> - )} - - - - - ), - } - : {} - } - {...props} - /> - {error && helperText && ( - - {helperText} - - )} - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/LanguageSwitch/LanguageSwitch.stories.tsx b/cx-portal-shared-components/src/components/basic/LanguageSwitch/LanguageSwitch.stories.tsx deleted file mode 100644 index 9a5bb89d5..000000000 --- a/cx-portal-shared-components/src/components/basic/LanguageSwitch/LanguageSwitch.stories.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { LanguageSwitch as Component } from '.' - -export default { - title: 'UserMenu', - component: Component, - argTypes: { - onChange: { - action: 'onChange', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const LanguageSwitch = Template.bind({}) -LanguageSwitch.args = { - current: 'de', - languages: [{ key: 'de' }, { key: 'en', name: 'ENG' }], -} diff --git a/cx-portal-shared-components/src/components/basic/LanguageSwitch/index.tsx b/cx-portal-shared-components/src/components/basic/LanguageSwitch/index.tsx deleted file mode 100644 index 419afa9fc..000000000 --- a/cx-portal-shared-components/src/components/basic/LanguageSwitch/index.tsx +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Link, useTheme } from '@mui/material' - -interface Language { - key: string - name?: string -} - -interface LanguageSwitchProps { - current: Language['key'] - languages: Language[] - onChange: (key: string) => void -} - -export const LanguageSwitch = ({ - current, - languages, - onChange, -}: LanguageSwitchProps) => { - const { spacing } = useTheme() - - const onClick = (e: React.SyntheticEvent, key: string) => { - e.preventDefault() - onChange(key) - } - - return ( - - {languages?.map(({ key, name }) => ( - onClick(e, key)} - sx={{ - typography: 'label3', - marginRight: 2, - ':last-child': { - marginRight: 0, - }, - ...(key === current && { - color: 'text.primary', - borderBottom: '2px solid', - }), - }} - key={key} - > - {name ? name : key.toUpperCase()} - - ))} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/LoadingButton/LoadingButton.stories.tsx b/cx-portal-shared-components/src/components/basic/LoadingButton/LoadingButton.stories.tsx deleted file mode 100644 index 15158e1e8..000000000 --- a/cx-portal-shared-components/src/components/basic/LoadingButton/LoadingButton.stories.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { LoadingButton as Component } from '.' - -export default { - title: 'Buttons', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const LoadingButton = Template.bind({}) -LoadingButton.args = { - label: 'Load Data', - loadIndicator: 'Loading ...', - loading: true, - size: 'medium', - color: 'primary', - helperTextColor: 'success', - helperText: 'helperText', -} diff --git a/cx-portal-shared-components/src/components/basic/LoadingButton/index.tsx b/cx-portal-shared-components/src/components/basic/LoadingButton/index.tsx deleted file mode 100644 index 801bc8e17..000000000 --- a/cx-portal-shared-components/src/components/basic/LoadingButton/index.tsx +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import { useEffect, useState } from 'react' -import { Button, ButtonProps } from '../Button' -import { CircleProgress } from '../Progress/CircleProgress' -import { Typography } from '../Typography' - -interface LoadingButtonProps extends ButtonProps { - label: string - loadIndicator: string - loading: boolean - helperText?: string - helperTextColor?: 'success' | 'error' - onButtonClick: React.MouseEventHandler -} - -export const LoadingButton = ({ - label, - loadIndicator, - loading, - onButtonClick, - helperText, - size, - color, - helperTextColor, - ...props -}: LoadingButtonProps) => { - const theme = useTheme() - const [tagStyle, setTagStyle] = useState({ - padding: '10px 24px', - fontSize: '18px', - }) - - function handleClick(e: any) { - onButtonClick(e) - } - - useEffect(() => { - switch (size) { - case 'small': - setTagStyle({ padding: '10px 18px', fontSize: '14px' }) - break - case 'medium': - setTagStyle({ padding: '10px 24px', fontSize: '18px' }) - break - case 'large': - setTagStyle({ padding: '10px 28px', fontSize: '18px' }) - } - }, [size]) - - return ( - - {!loading ? ( - - - {helperText && ( - - {helperText} - - )} - - ) : ( - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Logo/Logo.stories.tsx b/cx-portal-shared-components/src/components/basic/Logo/Logo.stories.tsx deleted file mode 100644 index ff00c8cce..000000000 --- a/cx-portal-shared-components/src/components/basic/Logo/Logo.stories.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Logo as Component } from '.' - -export default { - title: 'Logo', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Logo = Template.bind({}) -Logo.args = { - variant: 'short', - altText: 'Logo CatenaX', -} diff --git a/cx-portal-shared-components/src/components/basic/Logo/index.tsx b/cx-portal-shared-components/src/components/basic/Logo/index.tsx deleted file mode 100644 index 7ef0dedfc..000000000 --- a/cx-portal-shared-components/src/components/basic/Logo/index.tsx +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import CXLogo from '../../../assets/logo/cx-logo.svg' -import CXLogoShort from '../../../assets/logo/cx-logo-short.svg' -import CXLogoText from '../../../assets/logo/cx-logo-text.svg' -import { BaseImage } from '../BaseImage' - -interface LogoProps { - variant?: 'standard' | 'short' | 'text' | 'gray' - altText?: string -} - -export const LogoGrayData = - 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii04IC04IDY4LjUgNzEuNiI+PHBhdGggZD0iTTQwIDI4LjY5di02YTEgMSAwIDAwLTEuNTUtLjgyTDE0LjY5IDM4LjMxYTQuMTEgNC4xMSAwIDAxLTYuNDUtMy4zOFYyN2E4LjIzIDguMjMgMCAwMTMuNTUtNi43Nmw3LjA4LTQuODlBNC4wNyA0LjA3IDAgMDAyMC42MyAxMlYuOTlBMSAxIDAgMDAxOS4xLjE4bC01IDMuNDJBNC4wOCA0LjA4IDAgMDAxMi4zOCA3djIuODRMNi4zIDE0QTE0LjU3IDE0LjU3IDAgMDAwIDI2djguODlhMTIuMzYgMTIuMzYgMCAwMDE5LjM4IDEwLjJsMTguOS0xM2E0LjA5IDQuMDkgMCAwMDEuNzItMy40eiIgZmlsbD0iI2I0YjRiNCIvPjxwYXRoIGQ9Ik0zMyAxMC42M2wtMTguOSAxM0E0LjA5IDQuMDkgMCAwMDEyLjM1IDI3djZhMSAxIDAgMDAxLjU1LjgxbDIzLjgxLTE2LjRhNC4xMSA0LjExIDAgMDE2LjQ0IDMuMzh2Ny45YTguMjUgOC4yNSAwIDAxLTMuNTUgNi43N2wtNi4zMyA0LjM2LS43Mi41YTQuMDYgNC4wNiAwIDAwLTEuNzUgMy4zNHYxMS4wMmExIDEgMCAwMDEuNTUuODFsNS0zLjQzQTQuMDUgNC4wNSAwIDAwNDAgNDguNzJ2LTIuODVsNi4wNi00LjE4YTE0LjU4IDE0LjU4IDAgMDA2LjI5LTEyVjIwLjhBMTIuMzUgMTIuMzUgMCAwMDMzIDEwLjYzeiIgZmlsbD0iI2ExYTFhMSIvPjwvc3ZnPg==' - -export const Logo = ({ - variant = 'standard', - altText = 'Catena-X', - ...props -}: LogoProps) => { - let image - - switch (variant) { - case 'short': - image = CXLogoShort - break - case 'text': - image = CXLogoText - break - case 'gray': - image = LogoGrayData - break - default: - image = CXLogo - } - - return -} diff --git a/cx-portal-shared-components/src/components/basic/MainNavigation/MainNavigation.stories.tsx b/cx-portal-shared-components/src/components/basic/MainNavigation/MainNavigation.stories.tsx deleted file mode 100644 index 9c2642de4..000000000 --- a/cx-portal-shared-components/src/components/basic/MainNavigation/MainNavigation.stories.tsx +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { Box } from '@mui/material' -import CXLogoText from '../../../assets/logo/cx-logo-text.svg' - -import { MainNavigation as Component } from '.' -import { Button } from '../Button' -import { IconButton } from '../IconButton' -import PersonOutlineIcon from '@mui/icons-material/PersonOutline' - -export default { - title: 'Navigation', - component: Component, - argTypes: {}, -} - -const items = [ - { href: '/home', title: 'Home' }, - { href: '/appmarktplace', title: 'App Marktplace' }, - { href: '/datamanagement', title: 'Data Management' }, - { href: '/partnernetwork', title: 'Partner Network' }, -] - -const Template: ComponentStory = (args: any) => ( - - - - - - - - - -) - -export const MainNavigation = Template.bind({}) -MainNavigation.args = { - items: items, -} diff --git a/cx-portal-shared-components/src/components/basic/MainNavigation/index.tsx b/cx-portal-shared-components/src/components/basic/MainNavigation/index.tsx deleted file mode 100644 index e9012609b..000000000 --- a/cx-portal-shared-components/src/components/basic/MainNavigation/index.tsx +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Children } from 'react' -import { Box } from '@mui/material' -import { MenuProps } from '../../basic/Menu' -import { Navigation } from '../../content/Navigation' - -export interface MainNavigationProps extends MenuProps { - children?: React.ReactNode -} - -export const mainNavigationHeight = 85 - -export const MainNavigation = ({ - children, - items, - component, -}: MainNavigationProps) => { - const arrayChildren = Children.toArray(children) - - return ( - - {arrayChildren.length && ( - - {arrayChildren[0]} - - )} - - - - - - {arrayChildren.length && ( - - {arrayChildren[1]} - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Menu/Menu.stories.tsx b/cx-portal-shared-components/src/components/basic/Menu/Menu.stories.tsx deleted file mode 100644 index bb640223e..000000000 --- a/cx-portal-shared-components/src/components/basic/Menu/Menu.stories.tsx +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Menu as Component } from '.' - -export default { - title: 'Menus', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Menu = Template.bind({}) -Menu.args = { - items: [ - { - href: '/1', - title: 'Menu Item 1', - children: [ - { href: '/1/1', title: 'Submenu Item 1' }, - { href: '/1/2', title: 'Submenu Item 2' }, - { - href: '/1/3', - title: 'Submenu Item 3', - hint: 'coming soon', - disable: true, - }, - ], - }, - { href: '/2', title: 'Menu Item 2' }, - { href: '/3', title: 'Menu Item 3' }, - ], -} diff --git a/cx-portal-shared-components/src/components/basic/Menu/MenuItem.tsx b/cx-portal-shared-components/src/components/basic/Menu/MenuItem.tsx deleted file mode 100644 index 434185422..000000000 --- a/cx-portal-shared-components/src/components/basic/Menu/MenuItem.tsx +++ /dev/null @@ -1,155 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ArrowForward } from '@mui/icons-material' -import { Box, BoxProps, Divider, Link, ListItem, useTheme } from '@mui/material' -import { useState } from 'react' -import { MenuType, NotificationBadgeType } from '.' -import { Typography } from '../Typography' - -type LinkItem = Partial> - -export interface MenuItemProps extends LinkItem { - title: string - hint?: string - children?: MenuItemProps[] - component?: React.ElementType - divider?: boolean - menuProps?: BoxProps - onClick?: React.MouseEventHandler - Menu?: MenuType - disable?: boolean - notificationInfo?: NotificationBadgeType - showNotificationCount?: boolean -} - -export const MenuItem = ({ - title, - hint, - disable, - children, - divider, - component = Link, - menuProps, - onClick, - Menu, - notificationInfo, - showNotificationCount, - ...props -}: MenuItemProps) => { - const theme = useTheme() - const { spacing } = useTheme() - const [open, setOpen] = useState(false) - const notificationColor = notificationInfo?.isNotificationAlert - ? theme.palette.danger.dangerBadge - : theme.palette.brand.brand02 - const onMouseEnter = () => setOpen(true) - - const onMouseLeave = () => setOpen(false) - - return ( - !onClick || disable || onClick(e)} - > - - {title} - {hint && ( - - - {hint} - - - )} - {children && ( - - )} - {showNotificationCount && - notificationInfo && - notificationInfo.notificationCount > 0 && ( - - {notificationInfo?.notificationCount} - - )} - - {Menu && children && open && } - {divider && } - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Menu/index.tsx b/cx-portal-shared-components/src/components/basic/Menu/index.tsx deleted file mode 100644 index 808f3a330..000000000 --- a/cx-portal-shared-components/src/components/basic/Menu/index.tsx +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, BoxProps, Divider, List, useTheme } from '@mui/material' -import uniqueId from 'lodash/uniqueId' -import { MenuItem, MenuItemProps } from './MenuItem' - -export type NotificationBadgeType = { - notificationCount: number - isNotificationAlert: boolean -} - -export interface MenuProps extends BoxProps { - items: MenuItemProps[] - component?: React.ElementType - divider?: boolean - notificationInfo?: NotificationBadgeType -} - -export const Menu = ({ - items, - divider, - component, - onClick, - notificationInfo, - ...props -}: MenuProps) => { - const { spacing } = useTheme() - - return ( - - - {items?.map((item) => ( - - ))} - - {divider && } - - ) -} - -export type MenuType = typeof Menu diff --git a/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectAddMore.tsx b/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectAddMore.tsx deleted file mode 100644 index 6b5cb40e0..000000000 --- a/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectAddMore.tsx +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import uniqueId from 'lodash/uniqueId' -import { Button } from '../../Button' -import { Typography } from '../../Typography' -import { SelectedTag } from './SelectedTag' -import { TagSizeType } from '..' - -interface SelectAddMoreProps { - selected: any[] - buttonAddMore: string - notItemsText: string - label: string - keyTitle: string - margin?: 'normal' | 'none' | 'dense' - tagSize?: TagSizeType - handleShowItems: () => void -} - -export const SelectAddMore = ({ - selected, - buttonAddMore, - notItemsText, - label, - keyTitle, - margin, - tagSize, - handleShowItems, -}: SelectAddMoreProps) => { - const marginTop = margin === 'normal' ? '16px' : '8px' - return ( - - - {label} - - - - {selected.length > 0 ? ( - selected.map((item: any) => ( - - )) - ) : ( - - {notItemsText} - - )} - - - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectInput.tsx b/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectInput.tsx deleted file mode 100644 index e0b0ef336..000000000 --- a/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectInput.tsx +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { AutocompleteRenderInputParams, Box } from '@mui/material' -import { MultiSelectListProps } from '..' -import { Input } from '../../Input' - -interface SelectInputProps - extends Omit< - MultiSelectListProps, - | 'items' - | 'onAddItem' - | 'buttonAddMore' - | 'notItemsText' - | 'filterOptionsArgs' - > { - params: AutocompleteRenderInputParams - autoFocus?: boolean -} - -export const SelectInput = ({ - params, - label, - placeholder, - variant, - margin, - focused, - helperText, - error = false, - disabled, - autoFocus, -}: SelectInputProps) => ( - - - -) diff --git a/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectOptions.tsx b/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectOptions.tsx deleted file mode 100644 index 813087d4f..000000000 --- a/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectOptions.tsx +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { HTMLAttributes } from 'react' -import { PartsType } from '..' - -interface SelectOptionsProps { - props: HTMLAttributes - parts: PartsType[] -} - -export const SelectOptions = ({ props, parts }: SelectOptionsProps) => ( -
  • - - {parts.map((part: PartsType, index: number) => ( - - {part.text} - - ))} - -
  • -) diff --git a/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectedTag.tsx b/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectedTag.tsx deleted file mode 100644 index d0c0addff..000000000 --- a/cx-portal-shared-components/src/components/basic/MultiSelectList/Components/SelectedTag.tsx +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import { Typography } from '../../Typography' -import { TagSizeType } from '..' -import { useEffect, useState } from 'react' - -interface SelectedTagProps { - title: string - size?: TagSizeType -} - -export const SelectedTag = ({ title, size }: SelectedTagProps) => { - const theme = useTheme() - const [tagStyle, setTagStyle] = useState({ - padding: '10px 18px', - fontSize: '14px', - }) - - useEffect(() => { - switch (size) { - case 'small': - setTagStyle({ padding: '10px 18px', fontSize: '14px' }) - break - case 'medium': - setTagStyle({ padding: '14px', fontSize: '18px' }) - break - case 'large': - setTagStyle({ padding: '16px 28px', fontSize: '18px' }) - } - }, [size]) - - return ( - - - {title} - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/MultiSelectList/MultiSelectList.stories.tsx b/cx-portal-shared-components/src/components/basic/MultiSelectList/MultiSelectList.stories.tsx deleted file mode 100644 index 5b65caa77..000000000 --- a/cx-portal-shared-components/src/components/basic/MultiSelectList/MultiSelectList.stories.tsx +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { MultiSelectList as Component } from '.' - -export default { - title: 'Form', - component: Component, - argTypes: {}, -} - -const items: any[] = [ - { - id: 1, - title: 'Dismantler App', - value: 'App1', - }, - { - id: 2, - title: 'Application name', - value: 'App2', - }, - { - id: 3, - title: 'Title Application', - value: 'App3', - }, - { - id: 4, - title: 'CX Design lunched', - value: 'App4', - }, - { - id: 5, - title: 'Fleet Manager', - value: 'App5', - }, - { - id: 6, - title: 'Fraud Daschboard', - value: 'App6', - }, - { - id: 7, - title: 'App Manage Customers', - value: 'App7', - }, - { - id: 8, - title: 'Smart Application', - value: 'App8', - }, - { - id: 9, - title: 'Material Traceability', - value: 'App9', - }, -] - -const Template: ComponentStory = (args: any) => ( - -) - -export const MultiSelectList = Template.bind({}) -MultiSelectList.args = { - items: items, - label: 'Label Name', - placeholder: 'Enter label name (type min 2 character)', - helperText: 'Helper', - disabled: false, - error: false, - margin: 'dense', - variant: 'filled', - focused: false, - popperHeight: 0, // 0 = auto size - clearText: 'clear', - noOptionsText: 'No Options', - buttonAddMore: 'Add More', - notItemsText: 'not items selected', - keyTitle: 'title', - tagSize: 'medium', - onAddItem: (item: any) => console.log('items:', item), - filterOptionsArgs: {}, -} diff --git a/cx-portal-shared-components/src/components/basic/MultiSelectList/index.tsx b/cx-portal-shared-components/src/components/basic/MultiSelectList/index.tsx deleted file mode 100644 index 80415cb5c..000000000 --- a/cx-portal-shared-components/src/components/basic/MultiSelectList/index.tsx +++ /dev/null @@ -1,216 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Chip, Popper, TextFieldProps, useTheme } from '@mui/material' -import Autocomplete, { - AutocompleteRenderInputParams, - createFilterOptions, -} from '@mui/material/Autocomplete' -import parse from 'autosuggest-highlight/parse' -import match from 'autosuggest-highlight/match' -import { SelectInput } from './Components/SelectInput' -import { SelectOptions } from './Components/SelectOptions' -import { SelectAddMore } from './Components/SelectAddMore' -import uniqueId from 'lodash/uniqueId' -import { useEffect, useState } from 'react' - -export type TagSizeType = 'small' | 'medium' | 'large' -export type PartsType = { - text: string - highlight: boolean -} - -export interface MultiSelectListProps - extends Omit { - items: any[] - label: string - placeholder: string - keyTitle: string - popperHeight?: number - variant?: 'filled' - clearText?: string - noOptionsText?: string - buttonAddMore: string - notItemsText: string - tagSize?: TagSizeType - filterOptionsArgs?: {} - defaultValues?: any - onAddItem: (items: any[]) => void -} - -export const MultiSelectList = ({ - items, - label, - placeholder, - keyTitle, - variant, - margin, - focused, - helperText, - error = false, - disabled, - popperHeight = 0, - clearText = 'Clear', - noOptionsText = 'No Options', - buttonAddMore, - notItemsText, - tagSize, - filterOptionsArgs = {}, - defaultValues = [], - onAddItem, -}: MultiSelectListProps) => { - const selectHeight = popperHeight ? `${popperHeight}px` : 'auto' - const theme = useTheme() - const [selected, setSelected] = useState([]) - const [showItems, setShowItems] = useState(false) - const handleChange = (selectedItems: any[]) => { - onAddItem(selectedItems) - setSelected(selectedItems) - } - const handleViewAddMore = () => { - setShowItems(false) - } - - const filterOptions = createFilterOptions( - Object.keys(filterOptionsArgs).length > 0 - ? filterOptionsArgs - : { - matchFrom: 'any', - stringify: (option: any) => option[keyTitle], - } - ) - - useEffect(() => { - if (defaultValues.length > 0) { - setSelected(defaultValues) - onAddItem(defaultValues) - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [defaultValues]) - - useEffect(() => { - if (items.length > 0) { - if (defaultValues.length > 0) { - onAddItem(defaultValues) - setSelected(defaultValues) - } - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [items]) - - useEffect(() => { - if (error) { - setShowItems(false) - } - }, [error]) - - return ( - - {!showItems ? ( - ( - - )} - ListboxProps={{ style: { maxHeight: selectHeight } }} - multiple - disabled={disabled} - options={items.map((item) => item)} - getOptionLabel={(option) => option[keyTitle]} - value={selected} - filterOptions={filterOptions} - renderTags={(selectedItems: any[], getTagProps) => - selectedItems.map((option: any, index: number) => ( - - )) - } - renderInput={(param: AutocompleteRenderInputParams) => ( - - )} - renderOption={(props, option, { inputValue }) => { - const matches = match(option[keyTitle], inputValue) - const parts: PartsType[] = parse(option[keyTitle], matches) - return ( - - ) - }} - onChange={(_, selectedItems: any[]) => handleChange(selectedItems)} - onBlur={() => (error ? setShowItems(false) : setShowItems(true))} - defaultValue={defaultValues} - /> - ) : ( - handleViewAddMore()} - /> - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/NotificationContent.tsx b/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/NotificationContent.tsx deleted file mode 100644 index cb036c993..000000000 --- a/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/NotificationContent.tsx +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { PageNotificationsProps } from '.' - -interface NotificationContentProps - extends Omit { - titleColor?: string -} - -export const NotificationContent = ({ - title, - description, - contactText, - contactLinks, - contactNewTab, - titleColor, -}: NotificationContentProps) => { - return ( - - {title && ( - - {title} - - )} - {description && ( - - {description} - {contactText && ( - - {contactText} - - )} - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/PageNotification.stories.tsx b/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/PageNotification.stories.tsx deleted file mode 100644 index 1d6e6713f..000000000 --- a/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/PageNotification.stories.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { PageNotifications as Component } from '.' - -export default { - title: 'Notifications', - component: Component, - argTypes: {}, -} -const Template: ComponentStory = (args: any) => ( - {args.children} -) - -export const PageNotifications = Template.bind({}) -PageNotifications.args = { - severity: 'success', - open: true, - onCloseNotification: () => console.log('close alert'), - title: 'Notification title', - description: 'This is some notification text and can be replaced later.', - contactText: 'Contact', - contactLinks: 'https://portal.dev.demo.catena-x.net/', - showIcon: true, - contactNewTab: false, -} diff --git a/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/index.tsx b/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/index.tsx deleted file mode 100644 index 1890bcf8d..000000000 --- a/cx-portal-shared-components/src/components/basic/Notifications/PageNotification/index.tsx +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Alert, IconButton, Collapse } from '@mui/material' -import { - CheckCircleOutline, - WarningAmber, - InfoOutlined, - Close, -} from '@mui/icons-material' -import { NotificationContent } from './NotificationContent' -import { theme } from '../../../../theme' - -export interface PageNotificationsProps { - severity?: 'error' | 'warning' | 'info' | 'success' - open: boolean - onCloseNotification?: () => void - title?: string - description?: string - contactText?: string - contactLinks?: string - contactNewTab?: boolean - showIcon?: boolean -} - -export function color(severity: string) { - switch (severity) { - case 'info': - return theme.palette.support.info - case 'error': - return theme.palette.support.error - case 'warning': - return theme.palette.support.warning - case 'success': - return theme.palette.support.success - default: - return '' - } -} - -export function titleIcon(severity: string) { - switch (severity) { - case 'info': - return - case 'error': - return - case 'warning': - return - case 'success': - return ( - - ) - default: - return '' - } -} - -export const PageNotifications = ({ - severity = 'info', - open, - onCloseNotification, - title, - description, - contactText, - contactLinks, - contactNewTab, - showIcon, -}: PageNotificationsProps) => { - return ( - - - - - } - > - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbar.stories.tsx b/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbar.stories.tsx deleted file mode 100644 index d6a2a0809..000000000 --- a/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbar.stories.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { PageSnackbar as Component } from '.' - -export default { - title: 'Notifications', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const PageSnackbar = Template.bind({}) -PageSnackbar.args = { - severity: 'success', - open: true, - autoClose: false, - title: 'Lorem Ipsum', - description: 'Notification sentence comes here', - showIcon: true, -} diff --git a/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbarStack.stories.tsx b/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbarStack.stories.tsx deleted file mode 100644 index 3f2f00a20..000000000 --- a/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbarStack.stories.tsx +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { PageSnackbar } from './index' - -import { PageSnackbarStack as Component } from './PageSnackbarStack' - -export default { - title: 'Notifications', - component: Component, - argTypes: {}, - args: { - open: true, - autoClose: false, - title: 'Lorem Ipsum', - description: 'Notification sentence comes here', - }, -} - -const Template: ComponentStory = (args: any) => { - return ( - - - - - ) -} - -export const PageSnackbarStack = Template.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbarStack.tsx b/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbarStack.tsx deleted file mode 100644 index e8c338b99..000000000 --- a/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/PageSnackbarStack.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { PropsWithChildren } from 'react' -import * as React from 'react' - -export const PageSnackbarStack = ({ children }: PropsWithChildren<{}>) => { - return ( - *': { - marginTop: 2, - position: 'relative !important', - top: 'auto !important', - bottom: 'auto !important', - }, - }} - > - {children} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/index.tsx b/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/index.tsx deleted file mode 100644 index 0baf1b3ef..000000000 --- a/cx-portal-shared-components/src/components/basic/Notifications/Snackbar/index.tsx +++ /dev/null @@ -1,158 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, IconButton, Slide } from '@mui/material' -import { Close } from '@mui/icons-material' -import { SlideProps } from '@mui/material/Slide/Slide' -import { useCallback, useEffect, useRef, useState } from 'react' -import Snackbar from '@mui/material/Snackbar' -import CheckIcon from '@mui/icons-material/Check' -import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline' - -const AUTO_CLOSE_DELAY_MS = 3000 - -const SlideTransition = (props: SlideProps) => ( - -) - -export interface PageSnackbarProps { - severity?: 'error' | 'success' - open: boolean - onCloseNotification?: () => void - title?: string | JSX.Element - description?: string | JSX.Element - showIcon?: boolean - autoClose?: boolean -} - -export const PageSnackbar = ({ - severity = 'success', - onCloseNotification, - open, - autoClose, - title, - description, - showIcon = true, - ...props -}: PageSnackbarProps) => { - const [isOpen, setOpen] = useState(open) - - const autoCloseTimeoutRef = useRef>() - - useEffect(() => setOpen(open), [open]) - - const cancelAutoClose = useCallback( - () => clearTimeout(autoCloseTimeoutRef.current!), - [] - ) - - const doClose = useCallback(() => { - cancelAutoClose() - setOpen(false) - - onCloseNotification?.() - }, [cancelAutoClose, onCloseNotification]) - - const handleAutoClose = useCallback(() => { - cancelAutoClose() - - if (autoClose) { - autoCloseTimeoutRef.current = setTimeout(doClose, AUTO_CLOSE_DELAY_MS) - } - }, [autoClose, cancelAutoClose, doClose]) - - useEffect(handleAutoClose, [autoClose, handleAutoClose]) - - const renderIcon = () => { - switch (severity) { - case 'success': - return - case 'error': - return - } - } - - return ( - - {showIcon && ( - - {renderIcon()} - - )} - - {title && ( - - {title} - - )} - {description} - - - - - - - - } - sx={{ - '.MuiSnackbarContent-root': { - width: '390px', - typography: 'body3', - backgroundColor: 'common.white', - color: 'text.primary', - borderWidth: '1px', - borderStyle: 'solid', - borderColor: 'action.disabledBackground', - borderRadius: '8px', - boxShadow: '0px 10px 20px 0px rgba(80, 80, 80, 0.3)', - }, - '.MuiSnackbarContent-message': { - width: '100%', - }, - }} - /> - ) -} diff --git a/cx-portal-shared-components/src/components/basic/OrderStatusButton/OrderStatusButton.stories.tsx b/cx-portal-shared-components/src/components/basic/OrderStatusButton/OrderStatusButton.stories.tsx deleted file mode 100644 index 16619ce11..000000000 --- a/cx-portal-shared-components/src/components/basic/OrderStatusButton/OrderStatusButton.stories.tsx +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { OrderStatusButton as Component } from '.' - -export default { - title: 'Buttons', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const OrderStatusButton = Template.bind({}) -OrderStatusButton.args = { - label: 'Subscribe', - color: 'primary', - selectable: false, - buttonData: [ - { - isIcon: false, - buttonLabel: 'Subscribtion initiated', - zIndex: 4, - backgroundColor: '#e1e1e1', - }, - { - isIcon: true, - buttonLabel: 'App Instance deployed', - zIndex: 3, - backgroundColor: '#f3f3f3', - }, - { - isIcon: true, - buttonLabel: 'Activation, Notifications & credentials', - zIndex: 2, - backgroundColor: '#f9f9f9', - }, - ], -} diff --git a/cx-portal-shared-components/src/components/basic/OrderStatusButton/index.tsx b/cx-portal-shared-components/src/components/basic/OrderStatusButton/index.tsx deleted file mode 100644 index a642422e0..000000000 --- a/cx-portal-shared-components/src/components/basic/OrderStatusButton/index.tsx +++ /dev/null @@ -1,153 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import CheckCircleOutlinedIcon from '@mui/icons-material/CheckCircleOutlined' -import { Button, ButtonProps } from '../Button' -import { Typography } from '../Typography' - -interface ButtonInputData { - isIcon: boolean - buttonLabel: string - zIndex: number - backgroundColor: string -} - -interface OrderStatusButtonProps extends ButtonProps { - label: string - buttonData: ButtonInputData[] - selectable?: boolean - onButtonClick?: React.MouseEventHandler -} - -export const OrderStatusButton = ({ - label, - color, - buttonData, - selectable, - onButtonClick, - ...props -}: OrderStatusButtonProps) => { - const theme = useTheme() - - const handleClick = (e: any) => { - onButtonClick && onButtonClick(e) - } - - const fetchButton = ( - zIndex: number, - numberLabel: number, - isIcon: boolean, - buttonLabel: string, - background: string - ) => { - return ( - - ) - } - - return ( - - - {buttonData.map((data: ButtonInputData, index: number) => { - return fetchButton( - data.zIndex, - index + 1, - data.isIcon, - data.buttonLabel, - data.backgroundColor - ) - })} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ProcessList/ListItem.tsx b/cx-portal-shared-components/src/components/basic/ProcessList/ListItem.tsx deleted file mode 100644 index 63b553578..000000000 --- a/cx-portal-shared-components/src/components/basic/ProcessList/ListItem.tsx +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Typography } from '../Typography' -import { theme } from '../../../theme' - -interface ListItemProps { - step: number - headline: string - description: string - stepsColor: string - stepsFontColor: string - lastItem: boolean -} - -export const ListItem = ({ - step, - headline, - description, - stepsColor, - stepsFontColor, - lastItem, -}: ListItemProps) => { - const borderToNextStep = !lastItem ? `2px solid ${stepsColor}` : 'none' - return ( - - - - - {step} - - - - - - - {headline} - - - - {description} - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ProcessList/ProcessList.stories.tsx b/cx-portal-shared-components/src/components/basic/ProcessList/ProcessList.stories.tsx deleted file mode 100644 index eca93f541..000000000 --- a/cx-portal-shared-components/src/components/basic/ProcessList/ProcessList.stories.tsx +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { ProcessList as Component } from '.' - -export default { - title: 'ProcessList', - component: Component, - argTypes: {}, -} - -const processListElements = [ - { - step: 1, - headline: 'App Market Card', - description: - 'descsription Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.', - }, - { - step: 2, - headline: 'App Page', - description: - 'App Page descsription sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua Lorem ipsum dolor sit amet, consetetur sadipscing elitr.', - }, - { - step: 3, - headline: 'Contrac & Consent', - description: - 'Contrac & Consent descsription Lorem ipsum dolor sit amet, consetetur sadipscing elitr.', - }, - { - step: 4, - headline: 'Technical Integration', - description: - 'Technical Integration descsription consetetur sadipscing elitr Lorem ipsum dolor sit amet, consetetur sadipscing elitr.', - }, - { - step: 5, - headline: 'Beta Test', - description: - 'Beta Test descsription Lorem ipsum dolor sit amet, consetetur sadipscing elitr.', - }, - { - step: 6, - headline: 'Validate & Publish', - description: - 'Validate & Publish descsription sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.', - }, -] - -const Template: ComponentStory = (args: any) => ( - -) - -export const ProcessList = Template.bind({}) -ProcessList.args = { - list: processListElements, - stepsColor: '#FFA600', - stepsFontColor: '#fff', - elementNumbers: 6, -} diff --git a/cx-portal-shared-components/src/components/basic/ProcessList/index.tsx b/cx-portal-shared-components/src/components/basic/ProcessList/index.tsx deleted file mode 100644 index 09dc65f13..000000000 --- a/cx-portal-shared-components/src/components/basic/ProcessList/index.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { ListItem } from './ListItem' - -export interface ProcessListProps { - list: any[] - stepsColor: string - stepsFontColor: string - elementNumbers: number -} - -export const ProcessList = ({ - list, - stepsColor, - stepsFontColor, - elementNumbers, -}: ProcessListProps) => { - return ( - - {list && - list - .filter( - (item) => item.step <= elementNumbers && item.step <= list.length - ) - .map((item, i) => ( - - ))} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Progress/CircleProgress/CircleProgress.stories.tsx b/cx-portal-shared-components/src/components/basic/Progress/CircleProgress/CircleProgress.stories.tsx deleted file mode 100644 index d57e89cdc..000000000 --- a/cx-portal-shared-components/src/components/basic/Progress/CircleProgress/CircleProgress.stories.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { CircleProgress as Component } from '.' - -export default { - title: 'Progress', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const CircleProgress = Template.bind({}) -CircleProgress.args = { - step: 25, - interval: 800, - iteration: true, - thickness: 8, - size: 80, - colorVariant: 'primary', - variant: 'determinate', -} diff --git a/cx-portal-shared-components/src/components/basic/Progress/CircleProgress/index.tsx b/cx-portal-shared-components/src/components/basic/Progress/CircleProgress/index.tsx deleted file mode 100644 index d849e06a5..000000000 --- a/cx-portal-shared-components/src/components/basic/Progress/CircleProgress/index.tsx +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import CircularProgress, { - CircularProgressProps, -} from '@mui/material/CircularProgress' -import { useState, useEffect } from 'react' - -interface CircleProgressProps extends Omit { - step?: number - interval?: number - iteration?: boolean - variant: 'determinate' | 'indeterminate' - colorVariant: - | 'primary' - | 'secondary' - | 'error' - | 'info' - | 'success' - | 'warning' -} - -export const CircleProgress = ({ - step = 25, - interval = 800, - iteration = true, - thickness = 8, - size = 80, - colorVariant, - variant, -}: CircleProgressProps) => { - const [progress, setProgress] = useState(0) - - useEffect(() => { - const timer = setInterval(() => { - const rerun = iteration ? 0 : 100 - setProgress((prevProgress: number) => - prevProgress >= 100 ? rerun : prevProgress + step - ) - }, interval) - - return () => { - clearInterval(timer) - } - }, [interval, step, iteration]) - - return ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Radio/Radio.stories.tsx b/cx-portal-shared-components/src/components/basic/Radio/Radio.stories.tsx deleted file mode 100644 index d523ffc7e..000000000 --- a/cx-portal-shared-components/src/components/basic/Radio/Radio.stories.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Radio as Component } from '.' - -export default { - title: 'Form', - component: Component, - argTypes: { - onClick: { - action: 'onClick', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Radio = Template.bind({}) -Radio.args = { - disabled: false, - label: 'Some Radio label', -} diff --git a/cx-portal-shared-components/src/components/basic/Radio/index.tsx b/cx-portal-shared-components/src/components/basic/Radio/index.tsx deleted file mode 100644 index f42e71610..000000000 --- a/cx-portal-shared-components/src/components/basic/Radio/index.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiRadio, { RadioProps as MuiRadioProps } from '@mui/material/Radio' -import FormControlLabel from '@mui/material/FormControlLabel' - -const ariaLabel = { inputProps: { 'aria-label': 'Radio demo' } } - -interface RadioProps extends Omit { - size?: 'medium' | 'small' - label?: string | number -} - -export const Radio = ({ size = 'medium', label, ...props }: RadioProps) => { - return label ? ( - } - label={label} - /> - ) : ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Rating/Rating.stories.tsx b/cx-portal-shared-components/src/components/basic/Rating/Rating.stories.tsx deleted file mode 100644 index 7c19f9df9..000000000 --- a/cx-portal-shared-components/src/components/basic/Rating/Rating.stories.tsx +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Rating as Component } from '.' - -export default { - title: 'Rating', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Rating = Template.bind({}) -Rating.args = { - defaultRating: 0, -} diff --git a/cx-portal-shared-components/src/components/basic/Rating/index.tsx b/cx-portal-shared-components/src/components/basic/Rating/index.tsx deleted file mode 100644 index 1b1737312..000000000 --- a/cx-portal-shared-components/src/components/basic/Rating/index.tsx +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import * as React from 'react' -import Box from '@mui/material/Box' -import RatingUI from '@mui/material/Rating' - -interface RatingContentProps { - defaultRating: number -} - -export const Rating = ({ defaultRating }: RatingContentProps) => { - const [value, setValue] = React.useState(defaultRating) - return ( - legend': { mt: defaultRating }, - }} - > - { - setValue(newValue) - }} - /> - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/SearchInput/SearchInput.stories.tsx b/cx-portal-shared-components/src/components/basic/SearchInput/SearchInput.stories.tsx deleted file mode 100644 index cbf80be41..000000000 --- a/cx-portal-shared-components/src/components/basic/SearchInput/SearchInput.stories.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { SearchInput as Component } from '.' - -export default { - title: 'Form', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const SearchInput = Template.bind({}) -SearchInput.args = {} diff --git a/cx-portal-shared-components/src/components/basic/SearchInput/index.tsx b/cx-portal-shared-components/src/components/basic/SearchInput/index.tsx deleted file mode 100644 index 08353dc66..000000000 --- a/cx-portal-shared-components/src/components/basic/SearchInput/index.tsx +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import SearchIcon from '@mui/icons-material/Search' -import { - Box, - IconProps, - TextField, - TextFieldProps, - useTheme, -} from '@mui/material' - -interface SearchProps extends Omit { - variant?: 'outlined' - endAdornment?: IconProps -} - -export const SearchInput = ({ - variant, - endAdornment, - ...props -}: SearchProps) => { - const theme = useTheme() - const { icon01 } = theme.palette.icon - - return ( - - , - endAdornment: endAdornment || null, - }} - {...props} - /> - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/SelectList/SelectList.stories.tsx b/cx-portal-shared-components/src/components/basic/SelectList/SelectList.stories.tsx deleted file mode 100644 index 345bb97a8..000000000 --- a/cx-portal-shared-components/src/components/basic/SelectList/SelectList.stories.tsx +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { SelectList as Component } from '.' - -export default { - title: 'Form', - component: Component, - argTypes: {}, -} - -const countries = [ - { - id: 1, - title: 'Germany', - value: 'DE', - }, - { - id: 2, - title: 'France', - value: 'FR', - }, - { - id: 3, - title: 'Sweden', - value: 'SW', - }, - { - id: 4, - title: 'Swaziland', - value: 'SZ', - }, - { - id: 5, - title: 'Argentina', - value: 'AR', - }, - { - id: 6, - title: 'Brazil', - value: 'BR', - }, -] - -const Template: ComponentStory = (args: any) => ( - -) - -export const SelectList = Template.bind({}) -SelectList.args = { - items: countries, - label: 'Select country', - placeholder: 'Enter country name (type min 2 character)', - helperText: 'Helper', - disabled: false, - error: false, - margin: 'dense', - variant: 'filled', - focused: false, - clearText: 'clear', - noOptionsText: 'No Options', - popperHeight: 0, // 0 = auto size - onChangeItem: (item: any) => console.log('selected:', item), - keyTitle: 'title', -} diff --git a/cx-portal-shared-components/src/components/basic/SelectList/index.tsx b/cx-portal-shared-components/src/components/basic/SelectList/index.tsx deleted file mode 100644 index dae52c16c..000000000 --- a/cx-portal-shared-components/src/components/basic/SelectList/index.tsx +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { TextFieldProps } from '@mui/material' -import Autocomplete from '@mui/material/Autocomplete' -import parse from 'autosuggest-highlight/parse' -import match from 'autosuggest-highlight/match' -import { SelectInput } from '../MultiSelectList/Components/SelectInput' -import { SelectOptions } from '../MultiSelectList/Components/SelectOptions' -import uniqueId from 'lodash/uniqueId' -import isEqual from 'lodash/isEqual' - -interface SelectListProps extends Omit { - items: any[] - label: string - placeholder: string - keyTitle: string - popperHeight?: number - variant?: 'filled' - clearText?: string - noOptionsText?: string - defaultValue?: {} - disableClearable?: boolean - onChangeItem: (items: any) => void -} - -export const SelectList = ({ - items, - label, - placeholder, - defaultValue = {}, - disableClearable = false, - keyTitle, - variant, - margin, - focused, - helperText, - error = false, - disabled, - popperHeight = 0, - clearText = 'Clear', - noOptionsText = 'No Options', - onChangeItem, -}: SelectListProps) => { - const selectHeight = popperHeight ? `${popperHeight}px` : 'auto' - return ( - item)} - getOptionLabel={(option) => option[keyTitle] || ''} - onChange={(_, reason: any) => onChangeItem(reason)} - isOptionEqualToValue={(option, value) => isEqual(option, value)} - renderOption={(props, option, { inputValue }) => ( - - )} - value={defaultValue} - renderInput={(params) => { - return ( - - ) - }} - /> - ) -} diff --git a/cx-portal-shared-components/src/components/basic/SharedCssBaseline/index.tsx b/cx-portal-shared-components/src/components/basic/SharedCssBaseline/index.tsx deleted file mode 100644 index 863b3e8f2..000000000 --- a/cx-portal-shared-components/src/components/basic/SharedCssBaseline/index.tsx +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import CssBaseline from '@mui/material/CssBaseline' - -export const SharedCssBaseline = () => diff --git a/cx-portal-shared-components/src/components/basic/SharedThemeProvider/index.tsx b/cx-portal-shared-components/src/components/basic/SharedThemeProvider/index.tsx deleted file mode 100644 index ff794fea5..000000000 --- a/cx-portal-shared-components/src/components/basic/SharedThemeProvider/index.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -// Note: The global.scss import must be the first in this file for the library to be build correctly! -import '../../../scss/global.scss' -import { ThemeProvider } from '@mui/material/styles' -import { theme } from '../../../theme' -import '../../../scss/fonts.scss' - -interface SharedThemeProviderProps { - children: React.ReactNode -} - -export const SharedThemeProvider = ({ children }: SharedThemeProviderProps) => ( - {children} -) diff --git a/cx-portal-shared-components/src/components/basic/SideMenu/SideMenu.stories.tsx b/cx-portal-shared-components/src/components/basic/SideMenu/SideMenu.stories.tsx deleted file mode 100644 index 075df927e..000000000 --- a/cx-portal-shared-components/src/components/basic/SideMenu/SideMenu.stories.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { ComponentStory } from '@storybook/react' - -import { SideMenu as Component } from '.' -import { DraggableChip } from '../Chip/DraggableChip' - -export default { - title: 'Menus', - component: Component, - args: { - header: 'Filter Semantic Models by assigned Use Cases', - subHeader: 'Assign a Use Case by dragging it to a Semantic Model', - buttonTextCollapsed: 'Show Filter', - buttonTextExpanded: 'Close Filter', - isExpanded: false, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const SideMenu = Template.bind({}) -SideMenu.args = { - children: ( - * + *': { marginTop: 2 } }}> - name_use_case_4 - name_use_case_4 - name_use_case_4 - name_use_case_7 - name_use_case_7 - name_use_case_7 - name_use_case_8 - name_use_case_8 - - ), -} diff --git a/cx-portal-shared-components/src/components/basic/SideMenu/index.tsx b/cx-portal-shared-components/src/components/basic/SideMenu/index.tsx deleted file mode 100644 index 21eec150c..000000000 --- a/cx-portal-shared-components/src/components/basic/SideMenu/index.tsx +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, BoxProps, Collapse, Fade } from '@mui/material' -import { useCallback, useEffect, useState } from 'react' -import { Button } from '../Button' -import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward' -import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward' - -export interface SideMenuProps extends Omit { - header?: string | JSX.Element - subHeader?: string | JSX.Element - buttonTextCollapsed: string - buttonTextExpanded: string - isExpanded?: boolean - onChange?: (isExpanded: boolean) => void - children: React.ReactElement -} - -export const SideMenu = ({ - header, - subHeader, - buttonTextCollapsed, - buttonTextExpanded, - isExpanded, - onChange, - children, - ...props -}: SideMenuProps) => { - const [expanded, setExpanded] = useState(isExpanded) - - useEffect(() => setExpanded(isExpanded), [isExpanded]) - - const toggleExpanded = useCallback(() => { - setExpanded(!expanded) - onChange?.(!expanded) - }, [expanded, onChange]) - - return ( - - {header && ( - - {header} - - )} - {subHeader && ( - - {subHeader} - - )} - - - - - - {children} - - - - - - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/SortOption/SortOption.stories.tsx b/cx-portal-shared-components/src/components/basic/SortOption/SortOption.stories.tsx deleted file mode 100644 index 68e1bf3bc..000000000 --- a/cx-portal-shared-components/src/components/basic/SortOption/SortOption.stories.tsx +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { SortOption as Component } from '.' - -export default { - title: 'SortOption', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( -
    - {}} /> -
    -) - -export const SortOption = Template.bind({}) - -SortOption.args = { - sortOptions: [ - { - label: 'New', - value: 'new', - }, - { - label: 'Priority', - value: 'priority', - }, - { - label: 'Unread', - value: 'unread', - }, - ], - selectedOption: 'new', - show: true, -} diff --git a/cx-portal-shared-components/src/components/basic/SortOption/index.tsx b/cx-portal-shared-components/src/components/basic/SortOption/index.tsx deleted file mode 100644 index 5038e1dee..000000000 --- a/cx-portal-shared-components/src/components/basic/SortOption/index.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useState } from 'react' -import { Typography } from '../Typography' -import { Box } from '@mui/material' - -export const SortOption = ({ - sortOptions, - setSortOption, - selectedOption, - show, - singleMenu, -}: { - sortOptions: any - setSortOption?: any - selectedOption: any - show: boolean - singleMenu?: boolean -}) => { - const handleSortSelection = (e: any, value: string) => { - e.stopPropagation() - setSortOption(value) - } - - const [submenuHover, setSubmenuHover] = useState(false) - - return ( - <> - {show && ( - - {sortOptions.map((entry: any) => ( - handleSortSelection(e, entry.value)} - sx={{ - padding: '17px', - width: '152px', - borderRadius: '10px', - cursor: 'pointer', - listStyleType: 'none', - '&:hover': { - backgroundColor: 'rgba(15, 113, 203, 0.05)', - }, - ...(singleMenu && submenuHover - ? { backgroundColor: 'rgb(176 206 235 / 40%)' } - : null), - }} - onMouseOver={() => setSubmenuHover(true)} - onMouseLeave={() => setSubmenuHover(false)} - > - - {entry.label} - - - ))} - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/StaticTable/HorizontalTable.tsx b/cx-portal-shared-components/src/components/basic/StaticTable/HorizontalTable.tsx deleted file mode 100644 index 68521c553..000000000 --- a/cx-portal-shared-components/src/components/basic/StaticTable/HorizontalTable.tsx +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Typography } from '@mui/material' -import { TableType } from './types' - -export const HorizontalTable = ({ data }: { data: TableType }) => ( -
    - - {data.head.map((col, c) => ( - - - {data.body[c].map((row, r) => ( - - ))} - - ))} - -
    - {col} - - {row} -
    -) diff --git a/cx-portal-shared-components/src/components/basic/StaticTable/StaticTable.stories.tsx b/cx-portal-shared-components/src/components/basic/StaticTable/StaticTable.stories.tsx deleted file mode 100644 index e1637c1c5..000000000 --- a/cx-portal-shared-components/src/components/basic/StaticTable/StaticTable.stories.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { StaticTable as Component } from '.' - -export default { - title: 'StaticTable', - component: Component, -} - -const Template: ComponentStory = (args) => ( - -) - -export const Table = Template.bind({}) -Table.args = { - horizontal: false, - data: { - head: ['heading 1', 'heading 2'], - body: [ - ['row1 col1', 'row1 col2'], - ['row2 col1', 'row2 col2'], - ['row3 col1', 'row3 col2'], - ['row4 col1', 'row4 col2'], - ], - }, -} diff --git a/cx-portal-shared-components/src/components/basic/StaticTable/VerticalTable.tsx b/cx-portal-shared-components/src/components/basic/StaticTable/VerticalTable.tsx deleted file mode 100644 index d20723b5b..000000000 --- a/cx-portal-shared-components/src/components/basic/StaticTable/VerticalTable.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Typography } from '@mui/material' -import { TableType } from './types' - -export const VerticalTable = ({ data }: { data: TableType }) => ( - - - - {data.head.map((col, c) => ( - - ))} - - - - {data.body.map((row, r) => ( - - {row.map((CustomComp, c) => { - const isStringTypeProp = typeof CustomComp === 'string' - return ( - - ) - })} - - ))} - -
    - {col} -
    - - {isStringTypeProp ? CustomComp : } - -
    -) diff --git a/cx-portal-shared-components/src/components/basic/StaticTable/index.tsx b/cx-portal-shared-components/src/components/basic/StaticTable/index.tsx deleted file mode 100644 index 141f86259..000000000 --- a/cx-portal-shared-components/src/components/basic/StaticTable/index.tsx +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { HorizontalTable } from './HorizontalTable' -import { VerticalTable } from './VerticalTable' -import { TableType } from './types' - -export const StaticTable = ({ - data, - horizontal, -}: { - data: TableType - horizontal?: boolean -}) => - horizontal ? : diff --git a/cx-portal-shared-components/src/components/basic/StaticTable/types.ts b/cx-portal-shared-components/src/components/basic/StaticTable/types.ts deleted file mode 100644 index 8174cde0d..000000000 --- a/cx-portal-shared-components/src/components/basic/StaticTable/types.ts +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -export type TableType = { - head: string[] - body: string[][] | React.FC[][] -} diff --git a/cx-portal-shared-components/src/components/basic/Stepper/Stepper.stories.tsx b/cx-portal-shared-components/src/components/basic/Stepper/Stepper.stories.tsx deleted file mode 100644 index 18eed5856..000000000 --- a/cx-portal-shared-components/src/components/basic/Stepper/Stepper.stories.tsx +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Stepper as Component } from '.' - -export default { - title: 'Steppers', - component: Component, - argTypes: {}, -} - -const stepperElements = [ - { - step: 1, - headline: 'App Market Card', - }, - { - step: 2, - headline: 'Contract & Consent', - }, - { - step: 3, - headline: 'Technical Integration', - }, - { - step: 4, - headline: 'Beta Test', - }, - { - step: 5, - headline: 'Validate & Publish', - }, - { - step: 6, - headline: 'Verify your company data', - }, -] - -const Template: ComponentStory = (args: any) => ( - -) - -export const Stepper = Template.bind({}) -Stepper.args = { - list: stepperElements, - showSteps: 6, - activeStep: 2, -} diff --git a/cx-portal-shared-components/src/components/basic/Stepper/StepperItem.tsx b/cx-portal-shared-components/src/components/basic/Stepper/StepperItem.tsx deleted file mode 100644 index e76446f1e..000000000 --- a/cx-portal-shared-components/src/components/basic/Stepper/StepperItem.tsx +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Typography } from '../Typography' -import { theme } from '../../../theme' -import { useEffect, useState } from 'react' - -interface StepperItemProps { - step: number - headline: string - activeStep: number - index: number - totalSteps?: number -} - -export const StepperItem = ({ - step, - headline, - activeStep, - index, - totalSteps = 6, -}: StepperItemProps) => { - const [backgroundColor, setBackgroundColor] = useState( - theme.palette.stepper.stepUpcoming - ) - const [done, setDone] = useState(false) - - useEffect(() => { - if (index === activeStep) { - setBackgroundColor(theme.palette.stepper.stepCurrent) - setDone(false) - } else if (index < activeStep) { - setBackgroundColor(theme.palette.stepper.stepDone) - setDone(true) - } else { - setBackgroundColor(theme.palette.stepper.stepUpcoming) - setDone(false) - } - }, [index, activeStep]) - const width = 100 / totalSteps - return ( - - - - {done && ( - - - - )} - {!done && step} - - - - - {headline} - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Stepper/index.tsx b/cx-portal-shared-components/src/components/basic/Stepper/index.tsx deleted file mode 100644 index 3f2eac648..000000000 --- a/cx-portal-shared-components/src/components/basic/Stepper/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { StepperItem } from './StepperItem' - -export interface StepperProps { - list: any[] - showSteps: number - activeStep: number -} - -export const Stepper = ({ list, showSteps, activeStep }: StepperProps) => { - return ( - - {list && - list - .filter((item) => item.step <= showSteps && item.step <= list.length) - .map((item, i) => ( - - ))} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/SubNavigation/ParentSubNavigation.tsx b/cx-portal-shared-components/src/components/basic/SubNavigation/ParentSubNavigation.tsx deleted file mode 100644 index 6c1830e74..000000000 --- a/cx-portal-shared-components/src/components/basic/SubNavigation/ParentSubNavigation.tsx +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Button } from '../Button' -import EastIcon from '@mui/icons-material/East' - -export const ParentSubNavigation = ({ - navigationArray, - onClick, -}: { - navigationArray: any - onClick: any -}) => { - return ( - <> - {navigationArray.map( - (link: { index: number; title: string; navigation: string }) => { - return ( - - ) - } - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigation.stories.tsx b/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigation.stories.tsx deleted file mode 100644 index b350c688e..000000000 --- a/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigation.stories.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { SubNavigation as Component } from '.' - -export default { - title: 'Navigation', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const SubNavigation = Template.bind({}) -SubNavigation.args = { - buttonLabel: 'Technical User Management', - onButtonClick: () => console.log('on button click'), - link1Label: 'Access Management', - onLink1Click: () => console.log('on link1 click'), - link2Label: 'Identity User Management', - onLink2Click: () => console.log('on link2 click'), -} diff --git a/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigationButton.tsx b/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigationButton.tsx deleted file mode 100644 index 25dd85181..000000000 --- a/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigationButton.tsx +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { SubNavigationProps } from '.' -import { Button } from '../Button' - -export const SubNavigationButton = ({ - buttonLabel, - onButtonClick, -}: SubNavigationProps) => { - return ( - - {buttonLabel && onButtonClick && ( - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigationLink.tsx b/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigationLink.tsx deleted file mode 100644 index 67e1e798d..000000000 --- a/cx-portal-shared-components/src/components/basic/SubNavigation/SubNavigationLink.tsx +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { SubNavigationProps } from '.' -import { Button } from '../Button' -import EastIcon from '@mui/icons-material/East' - -export const SubNavigationLink = ({ - link1Label, - onLink1Click, - link2Label, - onLink2Click, -}: SubNavigationProps) => { - return ( - - - {link1Label && onLink1Click && ( - <> - - - )} - - - - {link2Label && onLink2Click && ( - - )} - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/SubNavigation/index.tsx b/cx-portal-shared-components/src/components/basic/SubNavigation/index.tsx deleted file mode 100644 index 8b639d29c..000000000 --- a/cx-portal-shared-components/src/components/basic/SubNavigation/index.tsx +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { theme } from '../../../theme' -import { SubNavigationLink } from './SubNavigationLink' -import { SubNavigationButton } from './SubNavigationButton' - -export interface SubNavigationProps { - buttonLabel?: string - onButtonClick?: React.MouseEventHandler - link1Label?: string - onLink1Click?: React.MouseEventHandler - link2Label?: string - onLink2Click?: React.MouseEventHandler -} -export const SubNavigation = ({ - buttonLabel, - onButtonClick, - link1Label, - onLink1Click, - link2Label, - onLink2Click, -}: SubNavigationProps) => { - return ( - - - - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Table/PageLoadingTable.tsx b/cx-portal-shared-components/src/components/basic/Table/PageLoadingTable.tsx deleted file mode 100644 index 618e2a6c6..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/PageLoadingTable.tsx +++ /dev/null @@ -1,151 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -import { Box } from '@mui/material' -import { useState, useEffect } from 'react' -import { Table, TableProps } from '.' -import { LoadMoreButton } from '../Button/LoadMoreButton' -import { hasMorePages, getMaxRows } from './components/Helper/helper' - -export type PaginFetchArgs = { - page: number - args?: any -} - -export type PaginMeta = { - totalElements: number - totalPages: number - page: number - contentSize: number -} - -export type PaginResult = { - meta: PaginMeta - content: T[] -} - -export interface PageLoadingTableProps extends Omit { - loadLabel: string - fetchHook: (paginArgs: PaginFetchArgs) => any - fetchHookArgs?: any - fetchHookRefresh?: number - allItems?: any - callbackToPage?: any -} - -export const PageLoadingTable = function ({ - loadLabel, - fetchHook, - fetchHookArgs, - fetchHookRefresh = 0, - allItems, - callbackToPage, - ...props -}: PageLoadingTableProps) { - const [page, setPage] = useState(0) - const [clear, setClear] = useState(true) - const [loaded, setLoaded] = useState(0) - const [items, setItems] = useState([]) - const { data, isFetching, isSuccess, error, refetch } = fetchHook({ - page: page, - args: { - ...fetchHookArgs, - v: loaded, - }, - }) - const [loading, setLoading] = useState(true) - - function nextPage() { - setPage(page + 1) - } - const hasMore = hasMorePages(data) - const maxRows = getMaxRows(data) - - useEffect(() => { - if (allItems?.length > 0) { - setLoading(false) - setItems((i) => i.concat(allItems)) - } else if (allItems?.length === 0) { - setLoading(false) - setItems([]) - } - }, [allItems]) - - useEffect(() => { - if (loaded !== fetchHookRefresh) { - setLoaded(fetchHookRefresh) - setPage(0) - setClear(true) - } - }, [fetchHookRefresh, loaded]) - - /* eslint react-hooks/exhaustive-deps: "off" */ - useEffect(() => { - //reset loading - if (isFetching && !loading) { - setLoading(true) - } - if (isSuccess && !isFetching && data && (data.content || data.bpn)) { - if (clear) { - setItems([]) - setClear(false) - } else { - if (callbackToPage) { - callbackToPage(data) - } else { - setLoading(false) - data.content - ? setItems((i) => i.concat(data.content)) - : setItems([data]) // Search for legal entity based on BPN responses with an object. No content or meta properties available - } - } - } - if (error) { - setLoading(false) - } - }, [isSuccess, isFetching, data, clear, loaded]) - - return ( - <> - - {items.length > 0 && hasMore && ( - - - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Table/components/Error/Error400Overlay.tsx b/cx-portal-shared-components/src/components/basic/Table/components/Error/Error400Overlay.tsx deleted file mode 100644 index 76a96c219..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/Error/Error400Overlay.tsx +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import ReportProblemIcon from '@mui/icons-material/ReportProblem' -import { Box } from '@mui/material' -import { Typography } from '../../../Typography' - -const flexRow = { - display: 'flex', - justifyContent: 'flex-start', - alignItems: 'center', - paddingBottom: '20px', -} - -const flexColumn = { - display: 'flex', - justifyContent: 'center', - flexDirection: 'column', - alignItems: 'center', -} - -export const Error400Overlay = () => ( - - - - - Something went wrong. Please contact - - your administrator - - -) diff --git a/cx-portal-shared-components/src/components/basic/Table/components/Error/Error500Overlay.tsx b/cx-portal-shared-components/src/components/basic/Table/components/Error/Error500Overlay.tsx deleted file mode 100644 index 6a15e353f..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/Error/Error500Overlay.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Typography } from '../../../Typography' -import RefreshIcon from '@mui/icons-material/Refresh' - -const flexColumn = { - display: 'flex', - justifyContent: 'center', - flexDirection: 'column', - alignItems: 'center', -} - -export const Error500Overlay = ({ reload }: { reload: () => void }) => ( - - - Load Failed. Reload - -
    - -
    -
    -) diff --git a/cx-portal-shared-components/src/components/basic/Table/components/Helper/helper.ts b/cx-portal-shared-components/src/components/basic/Table/components/Helper/helper.ts deleted file mode 100644 index 35139cb01..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/Helper/helper.ts +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -export const hasMorePages = (data: any) => { - return ( - data?.page < data?.totalPages - 1 || - (data?.meta && data.meta.page < data.meta.totalPages - 1) - ) -} - -export const getMaxRows = (data: any) => { - return data?.totalElements ?? data?.meta?.totalElements ?? 0 -} diff --git a/cx-portal-shared-components/src/components/basic/Table/components/RoleChip.scss b/cx-portal-shared-components/src/components/basic/Table/components/RoleChip.scss deleted file mode 100644 index accb30d03..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/RoleChip.scss +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -.role-chip-wrapper { - background-color: #f2f3fb; - padding: 8px 12px; - border-radius: 8px; - width: 60%; - text-align: center; - color: #676bc6; - font-family: LibreFranklin-Medium, sans-serif; -} diff --git a/cx-portal-shared-components/src/components/basic/Table/components/RoleChip.tsx b/cx-portal-shared-components/src/components/basic/Table/components/RoleChip.tsx deleted file mode 100644 index 0a75bd4e2..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/RoleChip.tsx +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import './RoleChip.scss' -// Temporary component to visualise different table cell -const RoleChip = ({ role }: any) => { - return
    {role}
    -} -export default RoleChip diff --git a/cx-portal-shared-components/src/components/basic/Table/components/StatusTag/index.tsx b/cx-portal-shared-components/src/components/basic/Table/components/StatusTag/index.tsx deleted file mode 100644 index e452633f7..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/StatusTag/index.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiChip, { ChipProps as MuiStatusChipProps } from '@mui/material/Chip' - -interface StatusChipProps extends Omit { - color?: 'pending' | 'confirmed' | 'declined' | 'label' -} - -export const StatusTag = ({ - variant = 'filled', - color = 'pending', - onDelete = () => null, // To avoid default delete icon appear - ...props -}: StatusChipProps) => { - return -} diff --git a/cx-portal-shared-components/src/components/basic/Table/components/StatusTag/statusTag.stories.tsx b/cx-portal-shared-components/src/components/basic/Table/components/StatusTag/statusTag.stories.tsx deleted file mode 100644 index 6ac7549b6..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/StatusTag/statusTag.stories.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { StatusTag as Component } from '.' - -export default { - title: 'StatusTag', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const StatusTag = Template.bind({}) -StatusTag.args = { - color: 'label', - variant: 'filled', - label: 'label', -} diff --git a/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/SearchAndFilterButtonToolbar.tsx b/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/SearchAndFilterButtonToolbar.tsx deleted file mode 100644 index c6337762f..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/SearchAndFilterButtonToolbar.tsx +++ /dev/null @@ -1,149 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -import ClearIcon from '@mui/icons-material/Clear' -import React, { useState, useMemo, useCallback } from 'react' -import { Box, useTheme, debounce } from '@mui/material' -import { SearchInput } from '../../../SearchInput' -import { IconButton } from '../../../IconButton' -import { ToolbarProps } from '.' -import { ViewSelector } from '../../../ViewSelector' -import { Typography } from '../../../Typography' - -export interface SearchAndFilterButtonToolbarProps extends ToolbarProps { - placeholder?: string - searchDebounce?: number - searchExpr?: string - filterViews?: any - defaultFilter?: string - onFilter?: any - descriptionText?: string -} - -export const SearchAndFilterButtonToolbar = ({ - onSearch, - onFilter, - searchPlaceholder, - searchExpr, - searchInputData, - onClearSearch, - searchDebounce = 500, - filterViews, - defaultFilter = '', - descriptionText, -}: SearchAndFilterButtonToolbarProps) => { - const [searchInputText, setSearchInputText] = useState( - searchExpr ?? (searchInputData ? searchInputData.text : '') - ) - - const { spacing } = useTheme() - - const searchDeBounced = useMemo( - () => - debounce((expr: string) => { - onSearch && onSearch(expr) - }, searchDebounce), - [onSearch, searchDebounce] - ) - - const onSearchDo = useCallback( - (expr: string) => { - searchDeBounced(expr) - }, - [searchDeBounced] - ) - - const onSearchChange = (e: React.ChangeEvent) => { - setSearchInputText(e.target.value) - const inputLen = e.target.value.length - if (inputLen === 0 || inputLen > 2) { - onSearch && onSearchDo(e.target.value) - } - } - - const onSearchInputKeyPress = (e: React.KeyboardEvent) => { - if (e.key === 'Enter' && onSearch) { - onSearch(searchInputText) - } - } - - const handleSearchClear = () => { - onClearSearch && onClearSearch() - setSearchInputText('') - } - - const headerHeight = () => (onSearch || onFilter ? 100 : 0) - - const endAdornment = - onClearSearch && searchInputText ? ( - - - - ) : ( - <> - ) - - const styles = { - minHeight: { headerHeight }, - padding: spacing(2, 0, 6, 0), - display: 'flex', - alignItems: 'center', - justifyContent: 'space-between', - flexDirection: 'column', - marginTop: '40px', - } - - return ( - - - - - - - - - - {descriptionText} - - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/UltimateToolbar.tsx b/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/UltimateToolbar.tsx deleted file mode 100644 index 5ff484c3b..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/UltimateToolbar.tsx +++ /dev/null @@ -1,167 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -import ClearIcon from '@mui/icons-material/Clear' -import React, { useState, useMemo, useCallback } from 'react' -import { Box, useTheme, debounce } from '@mui/material' -import { Button } from '../../../Button' -import { SearchInput } from '../../../SearchInput' -import { IconButton } from '../../../IconButton' -import { ToolbarProps } from '.' - -export type SelectedFilter = { - [name: string]: string[] -} -export interface UltimateToolbarProps extends ToolbarProps { - placeholder?: string - onFilter?: (selectedFilter: SelectedFilter) => void - selectedFilter?: SelectedFilter - searchDebounce?: number - searchExpr?: string -} - -export const UltimateToolbar = ({ - onSearch, - filter, - onFilter, - searchPlaceholder, - selectedFilter, - searchExpr, - searchInputData, - onClearSearch, - searchDebounce = 500, -}: UltimateToolbarProps) => { - const { spacing } = useTheme() - const [searchInput, setSearchInput] = useState( - searchExpr ?? (searchInputData ? searchInputData.text : '') - ) - - const debounceSearch = useMemo( - () => - debounce((expr: string) => { - onSearch && onSearch(expr) - }, searchDebounce), - [onSearch, searchDebounce] - ) - - const doOnSearch = useCallback( - (expr: string) => { - debounceSearch(expr) - }, - [debounceSearch] - ) - - const onSearchChange = (e: React.ChangeEvent) => { - setSearchInput(e.target.value) - const inputLen = e.target.value.length - if (inputLen === 0 || inputLen > 2) { - onSearch && doOnSearch(e.target.value) - } - } - - const onSearchInputKeyPress = (e: React.KeyboardEvent) => { - if (e.key === 'Enter' && onSearch) { - onSearch(searchInput) - } - } - - const onFilterChange = (value: string, name: string) => { - if (onFilter) { - onFilter({ [name]: [value] }) - } - } - - const handleSearchClear = () => { - onClearSearch && onClearSearch() - setSearchInput('') - } - - const headerHeight = () => (onSearch || onFilter ? 100 : 0) - - const endAdornment = - onClearSearch && searchInput ? ( - - - - ) : ( - <> - ) - - return ( - - {onSearch && ( - - - - )} - - {onFilter && - filter?.map(({ name, values }) => ( - - {values?.map(({ value, label }) => ( - - - - ))} - - ))} - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/helper.test.ts b/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/helper.test.ts deleted file mode 100644 index 67d4d1660..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/helper.test.ts +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { describe, expect, it } from '@jest/globals' -import { SelectedFilter, ToolbarProps } from '.' -import { initSelectedFilter, getSelectedFilterUpdate } from './helper' - -const filter: ToolbarProps['filter'] = [ - { - name: 'role', - values: [ - { value: 'admin', label: 'Admin' }, - { value: 'editor', label: 'Editor' }, - ], - }, - { - name: 'status', - values: [{ value: 'confirmed' }], - }, -] - -const selected: SelectedFilter = { - role: ['admin', 'editor'], - status: ['confirmed'], -} - -describe('TableToolbarTest', () => { - it('converts Filter input into initial SelectedFilter object', () => { - expect(initSelectedFilter(filter)).toEqual({ - role: ['admin', 'editor'], - status: ['confirmed'], - }) - - expect(initSelectedFilter(undefined)).toEqual({}) - }) - - it('removes values from SelectedFilter object', () => { - expect(getSelectedFilterUpdate(selected, 'role', 'admin', false)).toEqual({ - role: ['editor'], - status: ['confirmed'], - }) - }) - - it('adds values to SelectedFilter object', () => { - expect(getSelectedFilterUpdate(selected, 'role', 'manager', true)).toEqual({ - role: ['admin', 'editor', 'manager'], - status: ['confirmed'], - }) - }) -}) diff --git a/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/index.tsx b/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/index.tsx deleted file mode 100644 index bfea79bca..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/components/Toolbar/index.tsx +++ /dev/null @@ -1,275 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React, { useCallback, useEffect, useMemo, useState } from 'react' -import { Box, debounce, useTheme } from '@mui/material' -import { Button } from '../../../Button' -import { IconButton } from '../../../IconButton' -import { SearchInput } from '../../../SearchInput' -import { Typography } from '../../../Typography' -import SearchIcon from '@mui/icons-material/Search' -import FilterIcon from '@mui/icons-material/FilterAltOutlined' -import ClearIcon from '@mui/icons-material/Clear' -import { Checkbox } from '../../../Checkbox' -import { getSelectedFilterUpdate } from './helper' -import AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline' - -interface FilterValue { - value: string - label?: string -} - -interface Filter { - name: string - values: FilterValue[] -} - -export type SelectedFilter = { - [name: string]: string[] -} - -interface SearchInputState { - open: boolean - text: string -} - -export interface ToolbarProps { - title?: string - rowsCount?: number - rowsCountMax?: number - buttonLabel?: string - onButtonClick?: React.MouseEventHandler - onSearch?: (value: string) => void - searchExpr?: string - searchPlaceholder?: string - searchDebounce?: number - searchInputData?: SearchInputState - filter?: Filter[] - onFilter?: (selectedFilter: SelectedFilter) => void - openFilterSection?: boolean - onOpenFilterSection?: (value: boolean) => void - selectedFilter?: SelectedFilter - onClearSearch?: () => void -} - -const getIconColor = (openFilter: boolean) => { - return openFilter ? 'primary' : 'text.tertiary' -} - -export const Toolbar = ({ - title, - rowsCount = 0, - rowsCountMax = 0, - buttonLabel, - onButtonClick, - onSearch, - searchExpr, - searchPlaceholder, - searchDebounce = 500, - searchInputData, - filter, - onFilter, - openFilterSection, - onOpenFilterSection, - selectedFilter, - onClearSearch, -}: ToolbarProps) => { - const { spacing } = useTheme() - const isSearchText = searchExpr && searchExpr !== '' - const isSearchData = searchInputData ? searchInputData.open : false - const [openSearch, setOpenSearch] = useState( - isSearchText ? isSearchText : isSearchData - ) - const [openFilter, setOpenFilter] = useState(false) - const [searchInput, setSearchInput] = useState( - searchExpr ?? (searchInputData ? searchInputData.text : '') - ) - const showMaxRows = rowsCountMax > 0 && rowsCount < rowsCountMax - - const debouncedSearch = useMemo( - () => - debounce((expr: string) => { - onSearch && onSearch(expr) - }, searchDebounce), - [onSearch, searchDebounce] - ) - - const doSearch = useCallback( - (expr: string) => { - debouncedSearch(expr) - }, - [debouncedSearch] - ) - - const onSearchInputChange = (e: React.ChangeEvent) => { - setSearchInput(e.target.value) - const inputLen = e.target.value.length - if (inputLen === 0 || inputLen > 2) { - onSearch && doSearch(e.target.value) - } - } - - const onSearchInputKeyPress = (_e: React.KeyboardEvent) => { - //console.log(e.key) - } - - const handleSearchClear = () => { - onClearSearch && onClearSearch() - } - - const onFilterChange = ({ target }: React.ChangeEvent) => { - const { name, value, checked } = target - onFilter && - onFilter( - getSelectedFilterUpdate( - selectedFilter as SelectedFilter, - name, - value, - checked - ) - ) - } - - useEffect(() => { - openFilterSection && setOpenFilter(openFilterSection) - }, [openFilterSection]) - - const getEndAdornment = () => { - if (onClearSearch && searchInput) { - return ( - - - - ) - } - } - - return ( - - - - - {title} - - ({rowsCount || 0} - {showMaxRows && `/${rowsCountMax}`}) - - - {buttonLabel && onButtonClick && ( - - )} - - - {openSearch ? ( - {}} - placeholder={searchPlaceholder} - sx={{ - '.MuiInputBase-input': { - padding: '10px', - width: '250px', - }, - }} - /> - ) : ( - onSearch && ( - setOpenSearch(true)} - > - - - ) - )} - {onFilter && ( - - onOpenFilterSection && onOpenFilterSection(!openFilter) - } - > - - - )} - - - {openFilter && - filter?.map(({ name, values }) => ( - - {values?.map(({ value, label }) => ( - - - - ))} - - ))} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Table/index.tsx b/cx-portal-shared-components/src/components/basic/Table/index.tsx deleted file mode 100644 index f7da80f93..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/index.tsx +++ /dev/null @@ -1,206 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useCallback } from 'react' -import { DataGrid, DataGridProps, GridRowId } from '@mui/x-data-grid' -import { Box, Stack } from '@mui/material' -import { StatusTag } from './components/StatusTag' -import { Toolbar, ToolbarProps } from './components/Toolbar' -import { UltimateToolbar } from './components/Toolbar/UltimateToolbar' -import { theme } from '../../../theme' -import { SearchAndFilterButtonToolbar } from './components/Toolbar/SearchAndFilterButtonToolbar' -import { Typography } from '../Typography' -import { Error500Overlay } from './components/Error/Error500Overlay' -import { Error400Overlay } from './components/Error/Error400Overlay' - -export { StatusTag } -export type toolbarType = 'basic' | 'premium' | 'ultimate' | 'searchAndFilter' -export type SearchInputState = { - open: boolean - text: string -} - -export interface TableProps extends DataGridProps { - title: string - rowsCount?: number - rowsCountMax?: number - toolbarVariant?: toolbarType - toolbar?: ToolbarProps - columnHeadersBackgroundColor?: string - onSearch?: (value: string) => void - searchExpr?: string - searchPlaceholder?: string - searchDebounce?: number - searchInputData?: SearchInputState - noRowsMsg?: string - hasBorder?: boolean - buttonLabel?: string - onButtonClick?: React.MouseEventHandler - onSelection?: (value: GridRowId[]) => void - descriptionText?: string - defaultFilter?: string - filterViews?: any - alignCell?: string - error?: { - status: number - } - reload?: () => void -} - -export const Table = ({ - columns, - rows, - autoHeight = true, - headerHeight = 57, // Default header height from base design - rowHeight = 57, // Default row height from base design - rowsCount = 0, - rowsCountMax = 0, - title, - toolbarVariant = 'basic', - toolbar, - checkboxSelection, - columnHeadersBackgroundColor = '#E9E9E9', - onSearch, - searchExpr, - searchPlaceholder, - searchDebounce, - searchInputData, - noRowsMsg, - hasBorder = true, - buttonLabel, - onButtonClick, - onSelection, - descriptionText, - defaultFilter, - filterViews, - alignCell = 'center', - error, - reload, - ...props -}: TableProps) => { - const toolbarProps = { - rowsCount, - rowsCountMax, - onSearch, - searchDebounce, - searchInputData, - searchPlaceholder, - noRowsMsg, - buttonLabel, - onButtonClick, - onSelection, - searchExpr, - descriptionText, - defaultFilter, - filterViews, - } - - const handleOnCellClick = useCallback( - (selectedIds) => { - const idsArr: Array = [] - rows.map((row) => { - return selectedIds.map( - (selectedId: string) => - selectedId.indexOf(row.companyUserId) > -1 && - idsArr.push(row.companyUserId) - ) - }) - onSelection && onSelection(idsArr) - }, - [rows, onSelection] - ) - - const toolbarView = () => { - switch (toolbarVariant) { - case 'basic': - return - case 'premium': - return - case 'ultimate': - return - case 'searchAndFilter': - return - } - } - - const NoRowsOverlay = () => { - return ( - - {error && error.status === 500 && ( - reload && reload()} /> - )} - {error && - (error.status === 400 || - error.status === 404 || - error.status === 401) && } - {!error && ( - {noRowsMsg ?? 'No rows'} - )} - - ) - } - - return ( - - row.id} - components={{ - Toolbar: () => toolbarView(), - NoRowsOverlay, - }} - onSelectionModelChange={handleOnCellClick} - {...{ - rows, - columns, - autoHeight, - headerHeight, - rowHeight, - checkboxSelection, - }} - {...props} - /> - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Table/table.stories.tsx b/cx-portal-shared-components/src/components/basic/Table/table.stories.tsx deleted file mode 100644 index c75fd5b6d..000000000 --- a/cx-portal-shared-components/src/components/basic/Table/table.stories.tsx +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Table as Component } from '.' -import { - GridColDef, - GridRowsProp, - GridRenderCellParams, -} from '@mui/x-data-grid' -import Link from '@mui/material/Link' -import TestRows from '../../../assets/data/TableRows.json' - -const rows: GridRowsProp = TestRows - -const columns: GridColDef[] = [ - { field: 'id', hide: true }, - { - field: 'name', - headerName: 'Name', - description: 'Name of the user', - flex: 2, - }, - { field: 'company', headerName: 'Company', flex: 2 }, - { - field: 'email', - headerName: 'Email address', - renderCell: (params: GridRenderCellParams) => ( -
    - {params.value} -
    - ), - flex: 4, - }, - { field: 'note', headerName: 'Note', flex: 5 }, - { - field: 'role', - headerName: 'Role', - flex: 1, - renderCell: (params: GridRenderCellParams) => <>{params.value}, - }, -] - -export default { - title: 'Table', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -const basicArgs = { - autoHeight: true, - headerHeight: 76, - rowHeight: 76, - hideFooter: true, - disableColumnFilter: true, - disableColumnMenu: true, - disableColumnSelector: true, - disableDensitySelector: true, - disableSelectionOnClick: true, - checkboxSelection: true, - loading: false, - columnHeadersBackgroundColor: '#fff', - searchPlaceholder: 'Search by username', - noRowsMsg: 'No rows', - rows, - columns, - hasBorder: true, -} - -export const Table = Template.bind({}) -Table.args = { - ...basicArgs, - title: 'Basic table', - toolbarVariant: 'basic', -} - -export const TableToolbar = Template.bind({}) -TableToolbar.args = { - ...basicArgs, - title: 'Table with toolbar', - toolbarVariant: 'premium', - toolbar: { - buttonLabel: 'Add user', - onButtonClick: () => console.log('on button click'), - onSearch: (value) => console.log(`search: "${value}"`), - onFilter: (selectedFilter) => console.log('filter:', selectedFilter), - filter: [ - { - name: 'role', - values: [ - { value: 'admin', label: 'Admin' }, - { value: 'editor', label: 'Editor' }, - { value: 'manager', label: 'Manager' }, - ], - }, - ], - }, -} diff --git a/cx-portal-shared-components/src/components/basic/Tabs/Tab.tsx b/cx-portal-shared-components/src/components/basic/Tabs/Tab.tsx deleted file mode 100644 index 9cc567f2c..000000000 --- a/cx-portal-shared-components/src/components/basic/Tabs/Tab.tsx +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiTab, { TabProps as MuiTabProps } from '@mui/material/Tab' - -export const Tab = ({ ...props }: MuiTabProps) => { - return -} diff --git a/cx-portal-shared-components/src/components/basic/Tabs/TabPanel.stories.tsx b/cx-portal-shared-components/src/components/basic/Tabs/TabPanel.stories.tsx deleted file mode 100644 index bb1d3f3aa..000000000 --- a/cx-portal-shared-components/src/components/basic/Tabs/TabPanel.stories.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { TabPanel as Component } from './TabPanel' - -export default { - title: 'Tabs', - component: Component, - parameters: { - docs: { - description: { - component: - 'TabPanel uses the __value__ parameter for visibility. Value is passed via value-prop in the final implementation (value={value}).', - }, - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - TabPanel Content -) - -export const TabPanel = Template.bind({}) -TabPanel.args = { - value: 0, - index: 0, -} diff --git a/cx-portal-shared-components/src/components/basic/Tabs/TabPanel.tsx b/cx-portal-shared-components/src/components/basic/Tabs/TabPanel.tsx deleted file mode 100644 index 9b2f0782e..000000000 --- a/cx-portal-shared-components/src/components/basic/Tabs/TabPanel.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import React from 'react' -import { Box } from '@mui/material' - -interface TabPanelProps { - children?: React.ReactNode - index: number - value: number -} - -export const TabPanel = (props: TabPanelProps) => { - const { children, value, index, ...other } = props - - return ( - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Tabs/Tabs.stories.tsx b/cx-portal-shared-components/src/components/basic/Tabs/Tabs.stories.tsx deleted file mode 100644 index aac0e201a..000000000 --- a/cx-portal-shared-components/src/components/basic/Tabs/Tabs.stories.tsx +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import GroupOutlinedIcon from '@mui/icons-material/GroupOutlined' -import PersonOutlinedIcon from '@mui/icons-material/PersonOutlined' -import React from 'react' -import { Box } from '@mui/material' -import { ReactComponent } from '*.svg' -import { Tab } from './Tab' -import { TabPanel } from './TabPanel' -import { Tabs } from './Tabs' - -export default { - title: 'Tabs', - parameters: { - docs: { - description: { - component: - 'Tabs are used the same way as described in the [MUI Tabs](https://mui.com/components/tabs/) documentation with [MUI Tabs](https://mui.com/api/tabs/), [MUI Tab](https://mui.com/api/tab/) and TabPanel components. Implementation for handleChange-method needs to be done yourself (see code).', - }, - }, - }, -} - -const Template: ComponentStory = () => { - const [activeTab, setActiveTab] = React.useState(0) - - const handleChange = (event: any, newValue: number) => { - setActiveTab(newValue) - } - - return ( - - - - } - iconPosition="start" - /> - } - iconPosition="start" - /> - - - - Content Single User - - - Content Multiple User - - - ) -} - -export const Base = Template.bind({}) diff --git a/cx-portal-shared-components/src/components/basic/Tabs/Tabs.tsx b/cx-portal-shared-components/src/components/basic/Tabs/Tabs.tsx deleted file mode 100644 index f6fd268c5..000000000 --- a/cx-portal-shared-components/src/components/basic/Tabs/Tabs.tsx +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiTabs, { TabsProps as MuiTabsProps } from '@mui/material/Tabs' -import React from 'react' - -interface TabsProps extends MuiTabsProps { - children?: React.ReactElement[] -} - -export const Tabs = ({ children, ...props }: TabsProps) => { - return {children} -} diff --git a/cx-portal-shared-components/src/components/basic/Textarea/Input.stories.tsx b/cx-portal-shared-components/src/components/basic/Textarea/Input.stories.tsx deleted file mode 100644 index 9772eb710..000000000 --- a/cx-portal-shared-components/src/components/basic/Textarea/Input.stories.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Textarea as Component } from '.' - -export default { - title: 'Form', - component: Component, - argTypes: { - onClick: { - action: 'onClick', - }, - }, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const Input = Template.bind({}) -Input.args = { - label: 'Label', - placeholder: 'Placeholder', - helperText: 'Helper', - disabled: false, - error: false, -} diff --git a/cx-portal-shared-components/src/components/basic/Textarea/index.tsx b/cx-portal-shared-components/src/components/basic/Textarea/index.tsx deleted file mode 100644 index 1a9c60f67..000000000 --- a/cx-portal-shared-components/src/components/basic/Textarea/index.tsx +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { - TextareaAutosize, - TextareaAutosizeProps, - FormHelperText, - InputLabel, - Box, - FormControl, -} from '@mui/material' - -interface TextareaProps extends TextareaAutosizeProps { - label?: string - helperText?: string - error?: boolean -} - -export const Textarea = ({ - label, - placeholder, - helperText, - error = false, - ...props -}: TextareaProps) => { - return ( - - - {label} - - {error && helperText && ( - - {helperText} - - )} - - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ToolTips/ToolTips.stories.tsx b/cx-portal-shared-components/src/components/basic/ToolTips/ToolTips.stories.tsx deleted file mode 100644 index e7f937fe5..000000000 --- a/cx-portal-shared-components/src/components/basic/ToolTips/ToolTips.stories.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { ComponentStory } from '@storybook/react' -import { Tooltips as Component } from '.' -import { Button } from '../Button' - -export default { - title: 'Tooltips', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - - - -) - -export const Tooltips = Template.bind({}) -Tooltips.args = { - tooltipPlacement: 'bottom-start', - tooltipText: 'Action is pending', - color: 'dark', - children: ( - - - - ), -} diff --git a/cx-portal-shared-components/src/components/basic/ToolTips/index.tsx b/cx-portal-shared-components/src/components/basic/ToolTips/index.tsx deleted file mode 100644 index fe35fe727..000000000 --- a/cx-portal-shared-components/src/components/basic/ToolTips/index.tsx +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import Tooltip from '@mui/material/Tooltip' - -interface TooltipsProps { - children: any - tooltipText: string - color?: 'light' | 'dark' - tooltipPlacement?: - | 'top' - | 'right' - | 'bottom' - | 'left' - | 'bottom-end' - | 'bottom-start' - | 'left-end' - | 'left-start' - | 'right-end' - | 'right-start' - | 'top-end' - | 'top-start' - tooltipArrow?: boolean - additionalStyles?: any -} - -export const Tooltips = ({ - children, // Element to hover - tooltipPlacement = 'bottom', // TooltipPosition & ArrowPostion ex - - tooltipArrow = true, // Show/Hide arrow - tooltipText, // Tooltip text - color = 'dark', - additionalStyles, //additionalStyles to the tooltip container. ex - height, width, align -}: TooltipsProps) => { - const backgroundColor = - color === 'dark' ? 'background.background14' : 'grey.100' - - return ( - - {children} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/Typography/Typography.stories.tsx b/cx-portal-shared-components/src/components/basic/Typography/Typography.stories.tsx deleted file mode 100644 index 863f411d0..000000000 --- a/cx-portal-shared-components/src/components/basic/Typography/Typography.stories.tsx +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Typography } from '.' - -export default { - title: 'Typography', - argTypes: {}, -} - -export const Base = () => ( - <> - Headline 1 - Headline 2 - Headline 3 - Headline 4 - Headline 5 - - Body 1 Lorem ipsum dolor sit, amet consectetur adipisicing elit. Veritatis - maiores quod saepe quos officiis. Fugiat mollitia sunt, praesentium - possimus iusto soluta error placeat veniam nisi cum itaque voluptas sequi - reprehenderit? - - - Body 2 Lorem ipsum dolor sit, amet consectetur adipisicing elit. Veritatis - maiores quod saepe quos officiis. Fugiat mollitia sunt, praesentium - possimus iusto soluta error placeat veniam nisi cum itaque voluptas sequi - reprehenderit? - - - Body 3 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum ut - laborum non labore iure harum minus velit, necessitatibus sunt vero, - dolore aut maiores repudiandae! Quibusdam, nihil? Ab molestiae sint - labore! - - - Label 1 - - - Label 2 - - - Label 3 - - - Label 4 - - - Label 5 - - - Caption 1 - - - Caption 2 - - - Caption 3 - - - Helper - - -) diff --git a/cx-portal-shared-components/src/components/basic/Typography/index.tsx b/cx-portal-shared-components/src/components/basic/Typography/index.tsx deleted file mode 100644 index 71f3518ff..000000000 --- a/cx-portal-shared-components/src/components/basic/Typography/index.tsx +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import MuiTypography, { TypographyProps } from '@mui/material/Typography' - -const variantMapping = { - body3: 'p', -} - -export const Typography = (props: TypographyProps) => ( - -) diff --git a/cx-portal-shared-components/src/components/basic/UserAvatar/UserAvatar.stories.tsx b/cx-portal-shared-components/src/components/basic/UserAvatar/UserAvatar.stories.tsx deleted file mode 100644 index 480fad017..000000000 --- a/cx-portal-shared-components/src/components/basic/UserAvatar/UserAvatar.stories.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { UserAvatar as Component } from '.' - -export default { - title: 'UserMenu', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const userAvatar = Template.bind({}) -userAvatar.args = { - notificationCount: 0, - isNotificationAlert: false, -} diff --git a/cx-portal-shared-components/src/components/basic/UserAvatar/index.tsx b/cx-portal-shared-components/src/components/basic/UserAvatar/index.tsx deleted file mode 100644 index 76406bcb5..000000000 --- a/cx-portal-shared-components/src/components/basic/UserAvatar/index.tsx +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Badge, Avatar, AvatarProps, useTheme } from '@mui/material' -import PersonOutlineIcon from '@mui/icons-material/PersonOutline' - -interface AllAvatarProps extends Omit { - altText?: string - userImage?: string - notificationCount?: number - isNotificationAlert?: boolean - size?: 'small' | 'large' -} - -export const UserAvatar = ({ - userImage = '', - altText = 'User avatar', - notificationCount = 0, - isNotificationAlert = false, - size = 'small', - ...props -}: AllAvatarProps) => { - const theme = useTheme() - const userAvatarSize = size === 'large' ? '80px' : '40px' - - const notificationColor = isNotificationAlert - ? theme.palette.danger.dangerBadge - : theme.palette.brand.brand02 - const userAvatarImage = userImage ? ( - - ) : ( - - - - ) - - return ( - - {userAvatarImage} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/VerticalTabs/VerticalTabs.stories.tsx b/cx-portal-shared-components/src/components/basic/VerticalTabs/VerticalTabs.stories.tsx deleted file mode 100644 index 21de693fa..000000000 --- a/cx-portal-shared-components/src/components/basic/VerticalTabs/VerticalTabs.stories.tsx +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { Box, Typography } from '@mui/material' - -import { TabPanelType, VerticalTabs as Component } from '.' - -export default { - title: 'Tabs', - component: Component, - argTypes: {}, -} - -const items: TabPanelType[] = [ - { - id: 1, - label: 'General', - description: ( - - - General - - - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam - nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, - sed diam voluptua. - - - - Sub title - - - At vero eos et accusam et justo duo dolores et ea rebum. Stet clita - kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit - amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed - diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam - erat, sed diam voluptua. At vero eos et accusam et justo duo dolores - et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est - Lorem ipsum dolor sit amet. - - - ), - }, - { - id: 2, - label: 'Invite Peope', - description: Invite Peope, - }, - { - id: 3, - label: 'Upload Documents', - description: Upload Documents, - }, - { - id: 4, - label: 'Registration Workflow', - description: Registration Workflow, - }, - { - id: 5, - label: 'User Account', - description: User Account, - }, -] -const Template: ComponentStory = (args: any) => ( - -) - -export const VerticalTab = Template.bind({}) -VerticalTab.args = { - items: items, -} diff --git a/cx-portal-shared-components/src/components/basic/VerticalTabs/index.tsx b/cx-portal-shared-components/src/components/basic/VerticalTabs/index.tsx deleted file mode 100644 index b2b67954c..000000000 --- a/cx-portal-shared-components/src/components/basic/VerticalTabs/index.tsx +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import Tabs from '@mui/material/Tabs' -import Tab from '@mui/material/Tab' -import { useState } from 'react' -import uniqueId from 'lodash/uniqueId' -import ArrowForwardIos from '@mui/icons-material/ArrowForwardIos' - -export type TabPanelType = { - id: number - label: string - description: React.ReactElement -} - -interface VerticalTabsProps { - items: TabPanelType[] -} - -interface TabPanelProps { - children?: React.ReactNode - index: number - value: number -} - -function a11yProps(index: number) { - return { - id: `vertical-tab-${index}`, - 'aria-controls': `vertical-tabpanel-${index}`, - } -} - -function TabPanel(props: TabPanelProps) { - const { children, value, index, ...other } = props - - return ( - - ) -} - -export const VerticalTabs = ({ items }: VerticalTabsProps) => { - const [value, setValue] = useState(0) - const theme = useTheme() - const handleChange = (_event: React.SyntheticEvent, newValue: number) => { - setValue(newValue) - } - - return ( - - - {items.map((item: TabPanelType) => ( - } - iconPosition="start" - /> - ))} - - {items.map((item: TabPanelType) => ( - - {item.description} - - ))} - - ) -} diff --git a/cx-portal-shared-components/src/components/basic/ViewSelector/ViewSelector.stories.tsx b/cx-portal-shared-components/src/components/basic/ViewSelector/ViewSelector.stories.tsx deleted file mode 100644 index 4b918171c..000000000 --- a/cx-portal-shared-components/src/components/basic/ViewSelector/ViewSelector.stories.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { ViewSelector as Component, view } from '.' - -export default { - title: 'ViewSelector', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - <> - - -) - -const views: view[] = [ - { - buttonText: 'All', - buttonValue: '', - onButtonClick: () => { - console.log('Switch view') - }, - }, - { - buttonText: 'Use Cases', - buttonValue: 'usecases', - onButtonClick: () => { - console.log('Switch view') - }, - }, -] - -export const ViewSelector = Template.bind({}) -ViewSelector.args = { - views: views, - activeView: 'usecases', -} diff --git a/cx-portal-shared-components/src/components/basic/ViewSelector/index.tsx b/cx-portal-shared-components/src/components/basic/ViewSelector/index.tsx deleted file mode 100644 index dd19b3bb7..000000000 --- a/cx-portal-shared-components/src/components/basic/ViewSelector/index.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Button } from '../Button' -import React from 'react' - -export interface view { - buttonText: string - buttonValue: string - onButtonClick?: React.MouseEventHandler -} - -export interface ViewSelectorProps { - views: view[] - activeView: string - align?: string -} - -export const ViewSelector = ({ - views, - activeView, - align = 'right', -}: ViewSelectorProps) => { - return ( - - {views?.map(({ buttonText, buttonValue, onButtonClick }) => ( - - ))} - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/AboutCard.stories.tsx b/cx-portal-shared-components/src/components/content/Cards/AboutCard.stories.tsx deleted file mode 100644 index 62235a883..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/AboutCard.stories.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { AboutCard as Component } from './AboutCard' - -export default { - title: 'Cards', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const AboutCards = Template.bind({}) -AboutCards.args = { - name: 'Example product name', - repositoryPath: 'https://github.com/eclipse-tractusx/example-product', - license: 'Example license', - licensePath: - 'https://github.com/eclipse-tractusx/example-product/blob/v1.0.0-example/LICENSE', - noticePath: - 'https://github.com/eclipse-tractusx/example-product/blob/v1.0.0-example/NOTICE.md', - sourcePath: - 'https://github.com/eclipse-tractusx/example-product/tree/v1.0.0-example', - commitId: '67e82n0637d585239c72eda374a17b8cb24046ec', -} diff --git a/cx-portal-shared-components/src/components/content/Cards/AboutCard.tsx b/cx-portal-shared-components/src/components/content/Cards/AboutCard.tsx deleted file mode 100644 index 296751146..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/AboutCard.tsx +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import OpenInNewIcon from '@mui/icons-material/OpenInNew' -import { Box } from '@mui/material' -import { Typography } from '../../basic/Typography' - -function LinkText(props: LinkType) { - return ( - window.open(props.url, '_blank')} - > - {props.text} - - - ) -} - -function TitleText(props: LinkType) { - return ( - window.open(props.url, '_blank')} - > - - {props.text} - - - - ) -} - -type LinkType = { - text: string - url: string -} - -export const AboutCard = (props: { - name: string - repositoryPath: string - license: string - licensePath: string - noticePath: string - sourcePath: string - commitId: string -}) => { - return ( - - - - - {props.license && props.licensePath && ( - - )} - {props.noticePath && ( - - )} - {props.sourcePath && ( - - )} - {props.commitId && ( - - - Commit ID: {props.commitId} - - - )} - - - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/AppCards.stories.tsx b/cx-portal-shared-components/src/components/content/Cards/AppCards.stories.tsx deleted file mode 100644 index 37e0c27fa..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/AppCards.stories.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Cards as Component } from '.' - -export default { - title: 'Cards', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - <> - - -) - -const item = { - title: 'Digital Twin Aspect Debugger', - subtitle: 'Catena-X', - image: { - src: 'https://images.unsplash.com/photo-1517153295259-74eb0b416cee?auto=format&fit=crop&w=640&q=420', - alt: 'Catena-X Card', - }, - rating: 4.5, - price: 'free to use', - description: 'Lorem Ipsum is simply dummy text of the printing.', - onButtonClick: () => {}, - onSecondaryButtonClick: () => {}, -} - -export const AppCards = Template.bind({}) -AppCards.args = { - items: [item, item], - variant: 'minimal', - expandOnHover: false, - buttonText: 'Details', - columns: 6, - filledBackground: false, -} diff --git a/cx-portal-shared-components/src/components/content/Cards/Card.tsx b/cx-portal-shared-components/src/components/content/Cards/Card.tsx deleted file mode 100644 index 03178a78d..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/Card.tsx +++ /dev/null @@ -1,344 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Link, Typography, useTheme } from '@mui/material' -import MoreVertIcon from '@mui/icons-material/MoreVert' -import { useEffect, useRef, useState } from 'react' -import { CardButtons, CardButtonsProps } from './CardButtons' -import { CardChip, CardChipProps } from './CardChip' -import { CardContent, CardContentProps } from './CardContent' -import { CardImage, CardImageProps } from './CardImage' -import { SortOption } from '../../basic/SortOption' -import { SubItems } from '.' -import { Tooltips } from '../../basic/ToolTips' - -type Variants = - | 'minimal' - | 'compact' - | 'expanded' - | 'preview' - | 'text-only' - | 'text-details' - -export interface CardProps - extends CardContentProps, - CardButtonsProps, - CardImageProps, - CardChipProps { - variant?: Exclude - filledBackground?: boolean - backgroundColor?: string - expandOnHover?: boolean - readMoreText?: string - readMoreLink?: string - onClick?: React.MouseEventHandler - addButtonClicked?: boolean - positionValue?: string - topValue?: number - subMenu?: boolean - submenuOptions?: SubItems[] - submenuClick?: any - tooltipText?: string - showStatus?: boolean -} - -export const Card = ({ - variant: variantProp = 'minimal', - expandOnHover = false, - filledBackground, - backgroundColor, - id, - title, - subtitle, - subscriptionStatus, - rating, - price, - description, - image, - imageSize, - imageShape, - imageLoader, - buttonText, - onClick, - onButtonClick, - onSecondaryButtonClick, - readMoreText, - readMoreLink, - addButtonClicked, - status, - statusText, - positionValue = '', - topValue = 0, - subMenu, - submenuOptions, - submenuClick, - tooltipText = '', - showStatus = true, -}: CardProps) => { - const { shape, shadows } = useTheme() - const [variant, setVariant] = useState(variantProp as Variants) - const [content, setContent] = useState({ - title, - subtitle, - } as CardContentProps) - const boxRef = useRef(null) - const [showButton, setShowButton] = useState(false) - const [boxHeight, setBoxHeight] = useState() - const [sortOption, setSortOption] = useState('') - const [showModal, setShowModal] = useState(false) - - useEffect(() => { - setVariant(variantProp) - }, [variantProp]) - - useEffect(() => { - sortOption && submenuClick(sortOption, id) - }, [sortOption, submenuClick, id]) - - useEffect(() => { - switch (variant) { - case 'compact': - setContent({ title, subtitle, rating, price }) - break - case 'text-only': - setContent({ title, description }) - break - case 'expanded': - case 'preview': - setContent({ title, subtitle, rating, price, description }) - break - case 'text-details': - setContent({ title, subtitle, description }) - break - default: - setContent({ title, subtitle }) - } - }, [variant, description, price, rating, subtitle, title]) - - useEffect(() => { - setShowButton(['expanded', 'preview'].includes(variant)) - }, [variant]) - - useEffect(() => { - // Set initial box height to prevent flicker on hover - // TODO: Had to add 37px in height to fit inner content, investigation required - setBoxHeight(boxRef.current?.getBoundingClientRect().height) - }, []) - - const onMouseEnter = () => { - if (expandOnHover) setVariant('preview') - } - const onMouseLeave = () => setVariant(variantProp) - - const customBackgroundColor = () => { - return backgroundColor ? backgroundColor : 'background.background02' - } - - const styles = { - position: positionValue !== '' ? positionValue : 'relative', - height: boxHeight ? `${boxHeight + 37}px` : '', - top: `${topValue}px`, - left: '0px', - paddingRight: '10px', - paddingLeft: '10px', - width: '290px', - minWidth: '290px', - marginBottom: '64px', - } as React.CSSProperties - - const handleSubmenuFn = (e: any) => { - e.stopPropagation() - if (status === 'active') { - setShowModal(true) - } - } - - return ( -
    - setShowModal(false)} - > - - {statusText && imageSize !== 'small' && ( - - - - )} - - {subscriptionStatus && ( - - {subscriptionStatus} - - )} - - - {statusText && imageSize === 'small' && showStatus && ( - - - - )} - - {subMenu && ( - - - handleSubmenuFn(e)} - /> - - - )} -
    - { - setSortOption(value) - setShowModal(false) - }} - sortOptions={submenuOptions} - singleMenu={true} - /> -
    - {showButton && ( - - )} - {variant === 'text-only' && readMoreLink && readMoreText && ( - - {readMoreText} - - )} -
    -
    -
    - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardAddService.stories.tsx b/cx-portal-shared-components/src/components/content/Cards/CardAddService.stories.tsx deleted file mode 100644 index d55931572..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardAddService.stories.tsx +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { CardAddService as Component } from './CardAddService' - -export default { - title: 'Cards', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const AddServiceCard = Template.bind({}) -AddServiceCard.args = { - title: 'Create new App', - onButtonClick: () => { - console.log('Add new app') - }, -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardAddService.tsx b/cx-portal-shared-components/src/components/content/Cards/CardAddService.tsx deleted file mode 100644 index 65b3e9d79..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardAddService.tsx +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import { Typography } from '../../basic/Typography' -import { useState, useEffect, useRef } from 'react' - -interface CardAddServiceProps { - title?: string - backgroundColor?: string - onButtonClick: React.MouseEventHandler -} - -export const CardAddService = ({ - title, - backgroundColor, - onButtonClick, -}: CardAddServiceProps) => { - const theme = useTheme() - const { shape, shadows } = theme - const [boxHeight, setBoxHeight] = useState() - const boxRef = useRef(null) - - useEffect(() => { - setBoxHeight(boxRef.current?.getBoundingClientRect().height) - }, []) - - return ( -
    - - - - - - - - - - {title} - - - - -
    - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardButtons.tsx b/cx-portal-shared-components/src/components/content/Cards/CardButtons.tsx deleted file mode 100644 index 1d3b430ab..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardButtons.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Button } from '../../basic/Button' -import { IconButton } from '../../basic/IconButton' -import AddIcon from '@mui/icons-material/Add' -import CheckIcon from '@mui/icons-material/Check' - -export interface CardButtonsProps { - buttonText: string - onButtonClick?: React.MouseEventHandler - onSecondaryButtonClick?: React.MouseEventHandler - addButtonClicked?: boolean -} - -export const CardButtons = ({ - buttonText, - onButtonClick = () => {}, - onSecondaryButtonClick, - addButtonClicked, -}: CardButtonsProps) => { - return ( - - - {onSecondaryButtonClick && ( - - {addButtonClicked ? : } - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardChip.tsx b/cx-portal-shared-components/src/components/content/Cards/CardChip.tsx deleted file mode 100644 index f3d75bb7a..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardChip.tsx +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useTheme } from '@mui/material' -import MuiChip from '@mui/material/Chip' -import { useEffect, useState } from 'react' - -export enum StatusVariants { - release = 'release', - active = 'active', - inactive = 'inactive', - created = 'created', - inReview = 'in_review', -} - -export type Variants = - | StatusVariants.release - | StatusVariants.active - | StatusVariants.inactive - | StatusVariants.created - | StatusVariants.inReview - -export interface CardChipProps { - status?: Variants - statusText?: string -} - -export const CardChip = ({ status, statusText }: CardChipProps) => { - const theme = useTheme() - const [chipColor, setChipColor] = useState('') - const [chipBackground, setChipBackground] = useState('') - - useEffect(() => { - switch (status?.toLowerCase()) { - case StatusVariants.release: - setChipColor(theme.palette.chip.release) - setChipBackground(theme.palette.chip.bgRelease) - break - case StatusVariants.active: - setChipColor(theme.palette.chip.active) - setChipBackground(theme.palette.chip.bgActive) - break - case StatusVariants.inactive: - setChipColor(theme.palette.chip.inactive) - setChipBackground(theme.palette.chip.bgInactive) - break - case StatusVariants.created: - setChipColor(theme.palette.chip.created) - setChipBackground(theme.palette.chip.bgCreated) - break - case StatusVariants.inReview: - setChipColor(theme.palette.chip.inReview) - setChipBackground(theme.palette.chip.bgInReview) - break - default: - setChipColor(theme.palette.chip.default) - setChipBackground(theme.palette.chip.bgDefault) - } - }, [status, theme]) - - return ( - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardContent.tsx b/cx-portal-shared-components/src/components/content/Cards/CardContent.tsx deleted file mode 100644 index 58cc20b43..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardContent.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Typography } from '../../basic/Typography' -import { CardRating, CardRatingProps } from './CardRating' - -export interface CardContentProps extends Partial { - id?: string - title: string - subtitle?: string - subscriptionStatus?: string - price?: string - description?: string -} - -export const CardContent = ({ - title, - subtitle, - rating, - price, - description, -}: CardContentProps) => { - return ( - - - {subtitle && ( - - {subtitle} - - )} - - - - {title} - - - {rating && price && ( - - - {price} - - )} - {description && ( - - {description} - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardDecision.stories.tsx b/cx-portal-shared-components/src/components/content/Cards/CardDecision.stories.tsx deleted file mode 100644 index 2a9b17727..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardDecision.stories.tsx +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { StatusVariants } from './CardChip' - -import { CardDecision as Component } from './CardDecision' - -export default { - title: 'Cards', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -const items = [ - { - appId: '12', - provider: 'Bayerische Motorenwerke AG', - name: 'Logistics Network, Material Traceability (LBN-MT)', - status: StatusVariants.release, - }, - { - appId: '123', - provider: 'Catena-X', - name: 'DTC-Translator', - status: StatusVariants.active, - }, -] - -export const CardDecision = Template.bind({}) -CardDecision.args = { - items: items, -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardDecision.tsx b/cx-portal-shared-components/src/components/content/Cards/CardDecision.tsx deleted file mode 100644 index 4dc9be71c..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardDecision.tsx +++ /dev/null @@ -1,173 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Typography, IconButton, useTheme } from '@mui/material' -import { CardChip, StatusVariants, Variants } from './CardChip' -import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline' -import ApprovalIcon from '@mui/icons-material/Approval' - -export interface AppContent { - appId?: string - name?: string - provider: string - status: Variants - id?: string - title?: string -} - -export interface CardDecisionProps { - items: AppContent[] - onApprove: (e: string) => void - onDelete: (e: string) => void - onClick: (e: string) => void -} - -export const CardDecision = ({ - items, - onApprove, - onDelete, - onClick, -}: CardDecisionProps) => { - const theme = useTheme() - - const handleDecision = ( - e: React.SyntheticEvent, - id: string, - type: string - ) => { - e.stopPropagation() - type === 'approve' ? onApprove(id) : onDelete(id) - } - - return ( - - {items.map((item) => { - const id = item.appId || item.id || '' - const name = item.title || item.name || '' - return ( - - onClick(id)} - > - - {name} - - - {item.provider} - - - - - {item.status?.toLowerCase() !== StatusVariants.active && ( - - handleDecision(e, id, 'approve')} - > - - - handleDecision(e, id, 'delete')} - > - - - - )} - - - ) - })} - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardHorizontal.stories.tsx b/cx-portal-shared-components/src/components/content/Cards/CardHorizontal.stories.tsx deleted file mode 100644 index ed10c7a9a..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardHorizontal.stories.tsx +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' -import { StatusVariants } from './CardChip' - -import { CardHorizontal as Component } from './CardHorizontal' - -export default { - title: 'Cards', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const CardHorizontal = Template.bind({}) -CardHorizontal.args = { - label: 'Catena-X', - title: 'Digital Twin Debugger', - subTitle: 'Service Category', - description: - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', - borderRadius: 20, - imagePath: '', - imageAlt: 'App Card ', - status: StatusVariants.release, - statusText: 'In Release', - buttonText: 'Details', - onBtnClick: () => {}, -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardHorizontal.tsx b/cx-portal-shared-components/src/components/content/Cards/CardHorizontal.tsx deleted file mode 100644 index a23af4b42..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardHorizontal.tsx +++ /dev/null @@ -1,181 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useRef } from 'react' -import { Box, useTheme } from '@mui/material' -import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown' -import { LogoGrayData } from '../../basic/Logo' -import { Typography } from '../../basic/Typography' -import { CardChipProps } from './CardChip' - -interface CardHorizontalProps extends CardChipProps { - label: string - title: string - subTitle?: string - borderRadius: number - imagePath: string - imageAlt: string - description?: string - backgroundColor?: string - buttonText?: string - onBtnClick?: React.MouseEventHandler - expandOnHover?: boolean -} - -export const CardHorizontal = ({ - label, - title, - subTitle, - borderRadius = 0, - imagePath, - imageAlt, - description, - status, - statusText, - buttonText, - onBtnClick, - backgroundColor, - expandOnHover = false, -}: CardHorizontalProps) => { - const theme = useTheme() - const boxRef = useRef(null) - - return ( - - - - - {label} - - - - {title} - - - {subTitle} - - {description && ( - - {description} - - )} - - {buttonText && ( -
    - - - {buttonText} - -
    - )} -
    -
    - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardImage.tsx b/cx-portal-shared-components/src/components/content/Cards/CardImage.tsx deleted file mode 100644 index ea35ba6c5..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardImage.tsx +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import { Image } from '../../basic/Image' -import { LogoGrayData } from '../../basic/Logo' - -export type CardImageSize = 'normal' | 'medium' | 'small' - -export type CardImageShape = 'round' | 'square' - -export interface ICardImage { - src: string - alt?: string -} - -export interface CardImageProps { - image?: ICardImage - imageSize?: CardImageSize - imageShape?: CardImageShape - imageLoader?: (src: string) => Promise - preview?: boolean -} - -export const CardImage = ({ - image, - imageSize = 'normal', - imageShape = 'round', - imageLoader, - preview = false, -}: CardImageProps) => { - const { transitions } = useTheme() - const withPreview = (size: number) => (preview ? size + 18 : size) - - const sx = { - container: { - normal: {}, - medium: { paddingTop: 3, textAlign: 'center' }, - small: { paddingTop: 3, textAlign: 'center' }, - }, - image: { - normal: { width: '100%', height: withPreview(144) }, - medium: { width: withPreview(156), height: withPreview(156) }, - small: { width: withPreview(80), height: withPreview(80) }, - round: { borderRadius: '50%' }, - square: { borderRadius: 6 }, - }, - } - - return ( - - - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/CardRating.tsx b/cx-portal-shared-components/src/components/content/Cards/CardRating.tsx deleted file mode 100644 index a6d04f492..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/CardRating.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, useTheme } from '@mui/material' -import { Typography } from '../../basic/Typography' -import StarRateIcon from '@mui/icons-material/StarRate' - -export interface CardRatingProps { - rating: number -} - -export const CardRating = ({ rating }: CardRatingProps) => { - const { palette } = useTheme() - - return ( - - - - - {rating} - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Cards/ContentCards.stories.tsx b/cx-portal-shared-components/src/components/content/Cards/ContentCards.stories.tsx deleted file mode 100644 index f9b50cee5..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/ContentCards.stories.tsx +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Cards as Component } from '.' - -export default { - title: 'Cards', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -const items = [ - { - title: 'Catena-X News', - subtitle: 'Catena-X', - subscriptionStatus: 'Pending', - image: { - src: 'https://images.unsplash.com/photo-1517153295259-74eb0b416cee?auto=format&fit=crop&w=640&q=420', - alt: 'Catena-X Card', - }, - description: 'Lorem Ipsum is simply dummy text of the printing.', - onButtonClick: () => { - console.log('Catena-X News') - }, - readMoreText: 'Read more', - readMoreLink: '#', - status: 'release', - statusText: 'In Release', - }, - { - title: 'Samrt MOM', - subtitle: 'German Edge Cloud GmbH & Co. KG', - subscriptionStatus: 'Purchased', - image: { - src: 'https://images.unsplash.com/photo-1517153295259-74eb0b416cee?auto=format&fit=crop&w=640&q=420', - alt: 'Catena-X Card', - }, - description: - 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - onButtonClick: () => { - console.log('Samrt MOM') - }, - readMoreText: 'Read more', - readMoreLink: '#', - status: 'active', - statusText: 'Active', - }, - { - title: 'Project Implementation: Earth Commerce', - subtitle: 'Catena-X', - subscriptionStatus: 'Purchased', - image: { - src: 'https://images.unsplash.com/photo-1517153295259-74eb0b416cee?auto=format&fit=crop&w=640&q=420', - alt: 'Catena-X Card', - }, - description: 'sea takimata sanctus est Lorem ipsum dolor sit amet.', - onButtonClick: () => { - console.log('Fraud Reporter') - }, - readMoreText: 'Read more', - readMoreLink: '#', - status: 'inactive', - statusText: 'inactive', - }, - { - title: 'Fraud Dashboard', - subtitle: 'Catena-X', - subscriptionStatus: 'Pending', - image: { - src: 'https://images.unsplash.com/photo-1517153295259-74eb0b416cee?auto=format&fit=crop&w=640&q=420', - alt: 'Catena-X Card', - }, - description: 'At vero eos et accusam et justo duo dolores et ea rebum.', - onButtonClick: () => { - console.log('Fraud Dashboard') - }, - readMoreText: 'Read more', - readMoreLink: '#', - }, -] - -const submenuOptions = [ - { - label: 'Tab 1', - value: 'tab1', - url: '/tab1', - }, -] - -export const ContentCards = Template.bind({}) -ContentCards.args = { - columns: 6, - items: items, - variant: 'compact', - buttonText: 'Details', - imageSize: 'medium', - imageShape: 'round', - addButtonClicked: false, - subMenu: true, - submenuOptions: submenuOptions, - tooltipText: 'Action is pending', -} diff --git a/cx-portal-shared-components/src/components/content/Cards/index.tsx b/cx-portal-shared-components/src/components/content/Cards/index.tsx deleted file mode 100644 index 1e83a2a3e..000000000 --- a/cx-portal-shared-components/src/components/content/Cards/index.tsx +++ /dev/null @@ -1,130 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import { Card, CardProps } from './Card' -import uniqueId from 'lodash/uniqueId' -import { CardAddService } from './CardAddService' - -export type CardItems = Omit< - CardProps, - 'variant' | 'imageSize' | 'imageShape' | 'buttonText' | 'status' -> - -export type SubItems = { - label: string - value: string -} - -interface CardsProps { - items: CardItems[] - buttonText: CardProps['buttonText'] - variant?: CardProps['variant'] - expandOnHover?: CardProps['expandOnHover'] - filledBackground?: CardProps['filledBackground'] - imageSize?: CardProps['imageSize'] - imageShape?: CardProps['imageShape'] - imageLoader?: CardProps['imageLoader'] - columns?: number - readMoreText?: CardProps['readMoreText'] - readMoreLink?: CardProps['readMoreLink'] - addButtonClicked?: boolean - showAddNewCard?: boolean - newButtonText?: string - onNewCardButton?: any - onCardClick?: any - subMenu?: boolean - submenuOptions?: SubItems[] - submenuClick?: any - tooltipText?: string - showStatus?: boolean -} - -export const Cards = ({ - items, - buttonText, - readMoreText, - readMoreLink, - variant, - imageSize, - imageShape, - imageLoader, - columns = 6, - expandOnHover, - filledBackground, - addButtonClicked = false, - showAddNewCard = false, - newButtonText, - onNewCardButton, - onCardClick = () => {}, - subMenu = false, - submenuOptions = [], - submenuClick = () => {}, - tooltipText, - showStatus = true, -}: CardsProps) => { - const settings = { - variant, - buttonText, - readMoreText, - readMoreLink, - imageSize, - imageShape, - imageLoader, - expandOnHover, - filledBackground, - addButtonClicked, - subMenu, - submenuOptions, - submenuClick, - tooltipText, - showStatus, - } - - return ( - - {showAddNewCard && ( - - )} - {items?.map((item) => ( - { - onCardClick(item) - }} - /> - ))} - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Navigation/NavItem.tsx b/cx-portal-shared-components/src/components/content/Navigation/NavItem.tsx deleted file mode 100644 index 091915153..000000000 --- a/cx-portal-shared-components/src/components/content/Navigation/NavItem.tsx +++ /dev/null @@ -1,101 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, Link, useTheme } from '@mui/material' -import { useState } from 'react' -import classNames from 'classnames' -import { Menu } from '../../basic/Menu' -import { MenuItemProps } from '../../basic/Menu/MenuItem' - -interface NavItemProps extends MenuItemProps { - isActive?: boolean - unstyled?: boolean -} - -export const NavItem = ({ - title, - children, - component = Link, - isActive = false, - unstyled = false, - ...props -}: NavItemProps) => { - const { spacing, shadows } = useTheme() - const [open, setOpen] = useState(false) - - const onMouseEnter = () => setOpen(true) - - const onMouseLeave = () => setOpen(false) - - return ( - - - {title} - - {children && open && ( - - )} - - ) -} diff --git a/cx-portal-shared-components/src/components/content/Navigation/Navigation.stories.tsx b/cx-portal-shared-components/src/components/content/Navigation/Navigation.stories.tsx deleted file mode 100644 index 5cef04781..000000000 --- a/cx-portal-shared-components/src/components/content/Navigation/Navigation.stories.tsx +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { Navigation as Component } from '.' - -export default { - title: 'Navigation', - component: Component, - argTypes: {}, -} - -const Template: ComponentStory = (args: any) => ( - -) - -const items = [ - { - href: '/home', - title: 'home', - children: [ - { href: '/home-1', title: 'home 1' }, - { - href: '/home-2', - title: 'home 2', - children: [ - { - href: '/home-2/1', - title: 'Submenu 1 ', - children: [{ href: '/', title: 'Sub-Submenu' }], - }, - { href: '/home-2/2', title: 'Submenu 2 ' }, - ], - }, - ], - }, - { href: '/appstore', title: 'App Store' }, - { href: '/data-catalog', title: 'Data Catalog' }, -] - -const itemsFirstLevel = items.map(({ href, title }) => ({ href, title })) - -export const Unstyled = Template.bind({}) -Unstyled.args = { - items: itemsFirstLevel, - active: '/home', - unstyled: true, -} - -export const Simple = Template.bind({}) -Simple.args = { - items: itemsFirstLevel, - active: '/home', -} - -export const WithDropdown = Template.bind({}) -WithDropdown.args = { - items, - active: '/home', -} diff --git a/cx-portal-shared-components/src/components/content/Navigation/index.tsx b/cx-portal-shared-components/src/components/content/Navigation/index.tsx deleted file mode 100644 index f4fabf74c..000000000 --- a/cx-portal-shared-components/src/components/content/Navigation/index.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box } from '@mui/material' -import uniqueId from 'lodash/uniqueId' -import { MenuProps } from '../../basic/Menu' -import { NavItem } from './NavItem' - -export interface NavigationProps extends MenuProps { - active?: string - unstyled?: boolean - selectedItem?: (item: string) => void -} - -export const Navigation = ({ - items, - component, - active = '', - unstyled = false, - selectedItem, -}: NavigationProps) => { - return ( - - {items?.map((link) => { - const isActive = link.href === active || link.to === active - - return ( - (selectedItem ? selectedItem(link.href ?? '') : '')} - /> - ) - })} - - ) -} diff --git a/cx-portal-shared-components/src/components/content/UserMenu/UserMenu.stories.tsx b/cx-portal-shared-components/src/components/content/UserMenu/UserMenu.stories.tsx deleted file mode 100644 index 1157e0384..000000000 --- a/cx-portal-shared-components/src/components/content/UserMenu/UserMenu.stories.tsx +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { UserMenu as Component } from '.' -import { LanguageSwitch } from '../../basic/LanguageSwitch' -import { UserNav } from '../UserNav' - -export default { - title: 'UserMenu', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - - - {}} - /> - -) - -export const UserMenu = Template.bind({}) -UserMenu.args = { - open: true, - userName: 'Max Mustermann', - userRole: 'Admin', -} diff --git a/cx-portal-shared-components/src/components/content/UserMenu/index.tsx b/cx-portal-shared-components/src/components/content/UserMenu/index.tsx deleted file mode 100644 index 9e5d8a4d2..000000000 --- a/cx-portal-shared-components/src/components/content/UserMenu/index.tsx +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Box, ClickAwayListener, useTheme } from '@mui/material' -import { Typography } from '../../basic/Typography' - -interface UserMenuProps { - open: boolean - userName: string - userRole: string - top?: number - children?: React.ReactElement[] - onClickAway?: (event: MouseEvent | TouchEvent) => void -} - -export const UserMenu = ({ - open, - userName, - userRole, - children, - top = 0, - onClickAway = () => {}, - ...props -}: UserMenuProps) => { - const { spacing, shadows } = useTheme() - - return ( - - - - - {userName} - - - {userRole} - - - {children} - - - ) -} diff --git a/cx-portal-shared-components/src/components/content/UserNav/UserNav.stories.tsx b/cx-portal-shared-components/src/components/content/UserNav/UserNav.stories.tsx deleted file mode 100644 index 8e648c3a0..000000000 --- a/cx-portal-shared-components/src/components/content/UserNav/UserNav.stories.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory } from '@storybook/react' - -import { UserNav as Component } from '.' - -export default { - title: 'UserMenu', - component: Component, -} - -const Template: ComponentStory = (args: any) => ( - -) - -export const UserNav = Template.bind({}) -UserNav.args = { - items: [ - { href: '/account', title: 'My Account' }, - { href: '/notification', title: 'Notification Center' }, - { href: '/organisation', title: 'Organisation' }, - { href: '/logout', title: 'Logout' }, - ], -} diff --git a/cx-portal-shared-components/src/components/content/UserNav/index.tsx b/cx-portal-shared-components/src/components/content/UserNav/index.tsx deleted file mode 100644 index dfb923aa5..000000000 --- a/cx-portal-shared-components/src/components/content/UserNav/index.tsx +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Menu, MenuProps } from '../../basic/Menu' - -export type UserNavProps = MenuProps - -export const UserNav = (props: UserNavProps) => { - return -} diff --git a/cx-portal-shared-components/src/components/index.tsx b/cx-portal-shared-components/src/components/index.tsx deleted file mode 100644 index 06e8e7445..000000000 --- a/cx-portal-shared-components/src/components/index.tsx +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -export { Alert } from './basic/Alert' -export { BaseImage } from './basic/BaseImage' -export { Button } from './basic/Button' -export { Checkbox } from './basic/Checkbox' -export { CategoryDivider } from './basic/CategoryDivider' -export { Dialog } from './basic/Dialog' -export { DialogActions } from './basic/Dialog/DialogActions' -export { DialogContent } from './basic/Dialog/DialogContent' -export { DialogHeader } from './basic/Dialog/DialogHeader' -export { FileIcon } from './basic/CustomIcons/FileIcon' -export { Image, TransparentPixel } from './basic/Image' -export { ImageGallery } from './basic/ImageGallery' -export { ImageItem } from './basic/ImageGallery/ImageItem' -export { IconButton } from './basic/IconButton' -export { Input } from './basic/Input' -export { LanguageSwitch } from './basic/LanguageSwitch' -export { Logo, LogoGrayData } from './basic/Logo' -export { Menu } from './basic/Menu' -export { MenuItem } from './basic/Menu/MenuItem' -export { Radio } from './basic/Radio' -export { Rating } from './basic/Rating' -export { SearchInput } from './basic/SearchInput' -export { SharedCssBaseline } from './basic/SharedCssBaseline' -export { SharedThemeProvider } from './basic/SharedThemeProvider' -export { Tab } from './basic/Tabs/Tab' -export { TabPanel } from './basic/Tabs/TabPanel' -export { StaticTable } from './basic/StaticTable' -export { Table, StatusTag } from './basic/Table' -export { PageLoadingTable } from './basic/Table/PageLoadingTable' -export { Tabs } from './basic/Tabs/Tabs' -export { Typography } from './basic/Typography' -export { UserAvatar } from './basic/UserAvatar' -export { DropdownMenu } from './basic/DropdownMenu' -export * from './basic/Dropzone' -export { DropzoneOldDEPRECATED } from './basic/Dropzone/old_deprecated' -export { Chip } from './basic/Chip' -export { ViewSelector } from './basic/ViewSelector' -export { Carousel } from './basic/Carousel' -export { CarouselBox } from './basic/Carousel/CarouselBox' -export { CustomAccordion } from './basic/CustomAccordion' -export { CustomAccordionItem } from './basic/CustomAccordion/Item' -export { SubNavigation } from './basic/SubNavigation' -export { MainNavigation } from './basic/MainNavigation' -export { Breadcrumb } from './basic/Breadcrumb' -export { PageHeader } from './basic/Headers/PageHeader/PageHeader' -export { MainHeader } from './basic/Headers/MainHeader/MainHeader' -export { BackButton } from './basic/Button/BackButton' -export { LoadMoreButton } from './basic/Button/LoadMoreButton' -export { PageNotifications } from './basic/Notifications/PageNotification' -export { PageSnackbar } from './basic/Notifications/Snackbar' -export { PageSnackbarStack } from './basic/Notifications/Snackbar/PageSnackbarStack' -export { ErrorPage } from './basic/ErrorPage' -export { MultiSelectList } from './basic/MultiSelectList' -export { ProcessList } from './basic/ProcessList' -export { CircleProgress } from './basic/Progress/CircleProgress' -export { Stepper } from './basic/Stepper' -export { SelectList } from './basic/SelectList' -export { Textarea } from './basic/Textarea' -export { VerticalTabs } from './basic/VerticalTabs' -export { OrderStatusButton } from './basic/OrderStatusButton' -export { LoadingButton } from './basic/LoadingButton' -export { Cards } from './content/Cards' -export { Card } from './content/Cards/Card' -export { CardAddService } from './content/Cards/CardAddService' -export { CardHorizontal } from './content/Cards/CardHorizontal' -export { CardDecision } from './content/Cards/CardDecision' -export { Navigation } from './content/Navigation' -export { UserMenu } from './content/UserMenu' -export { UserNav } from './content/UserNav' -export { CircularProgress } from './basic/CircularProgress' -export { Datepicker } from './basic/Datepicker' -export { TransitionChip } from './basic/Chip/TransitionChip' -export { Tooltips } from './basic/ToolTips' -export { SortOption } from './basic/SortOption' -export { ParentSubNavigation } from './basic/SubNavigation/ParentSubNavigation' -export { Expand } from './basic/Expand' -export { AboutCard } from './content/Cards/AboutCard' - -export type { TableProps } from './basic/Table' -export type { - PageLoadingTableProps, - PaginMeta, - PaginResult, - PaginFetchArgs, -} from './basic/Table/PageLoadingTable' -export type { CardItems } from './content/Cards' -export type { NavigationProps } from './content/Navigation' -export type { PageNotificationsProps } from './basic/Notifications/PageNotification' -export type { TableType } from './basic/StaticTable/types' -export type { ImageType } from './basic/ImageGallery/types' -export type { DateType } from './basic/Datepicker' -export { StatusVariants } from './content/Cards/CardChip' -export type { TabPanelType } from './basic/VerticalTabs' -export type { LoadMoreButtonProps } from './basic/Button/LoadMoreButton' -export type { NotificationBadgeType } from './basic/Menu' diff --git a/cx-portal-shared-components/src/index.ts b/cx-portal-shared-components/src/index.ts deleted file mode 100644 index 331160345..000000000 --- a/cx-portal-shared-components/src/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -export * from './@types' -export * from './components' -export { theme } from './theme' diff --git a/cx-portal-shared-components/src/scss/fonts.scss b/cx-portal-shared-components/src/scss/fonts.scss deleted file mode 100644 index 3919eed5f..000000000 --- a/cx-portal-shared-components/src/scss/fonts.scss +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -@mixin use-font( - $font-family, - $filename, - $font-weight: normal, - $font-display: block -) { - @font-face { - font-family: '#{$font-family}'; - font-display: $font-display; - src: - // url('#{$filename}.eot') format('eot'), - // url('#{$filename}.woff2') format('woff2'), - // url('#{$filename}.woff') format('woff'), - // url('#{$filename}.svg') format('svg'), - url('#{$filename}.ttf') format('truetype'); - font-weight: $font-weight; - } -} - -@include use-font( - 'LibreFranklin-SemiBold', - '../assets/fonts/LibreFranklin-VariableFont_wght', - 600 -); - -@include use-font( - 'LibreFranklin-Medium', - '../assets/fonts/LibreFranklin-VariableFont_wght', - 500 -); - -@include use-font( - 'LibreFranklin', - '../assets/fonts/LibreFranklin-VariableFont_wght', - 400 -); - -@include use-font( - 'LibreFranklin-Light', - '../assets/fonts/LibreFranklin-VariableFont_wght', - 300 -); diff --git a/cx-portal-shared-components/src/scss/global.scss b/cx-portal-shared-components/src/scss/global.scss deleted file mode 100644 index ee8142781..000000000 --- a/cx-portal-shared-components/src/scss/global.scss +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -//TODO: -//deactivated because of build error -//Error: -// @use rules must be written before any other rules. -// ╷ -//43 │ @use 'sass:math'; -// │ ^^^^^^^^^^^^^^^^ -// ╵ -// stdin 43:1 root stylesheet -// -//@use 'sass:math'; - -@function circle-angle($size) { - @return 1; //round($size * 0.70710678118) + math.div($size, 2); -} diff --git a/cx-portal-shared-components/src/setupTests.ts b/cx-portal-shared-components/src/setupTests.ts deleted file mode 100644 index 7c0e93d4a..000000000 --- a/cx-portal-shared-components/src/setupTests.ts +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom/extend-expect' diff --git a/cx-portal-shared-components/src/theme.ts b/cx-portal-shared-components/src/theme.ts deleted file mode 100644 index 12bd31750..000000000 --- a/cx-portal-shared-components/src/theme.ts +++ /dev/null @@ -1,722 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { createTheme } from '@mui/material/styles' -// Needs to use like this to overwrite data grid styles -// https://mui.com/components/data-grid/getting-started/#typescript -// eslint-disable-next-line -import type {} from '@mui/x-data-grid/themeAugmentation' -import createPalette from '@mui/material/styles/createPalette' -import createTypography from '@mui/material/styles/createTypography' - -const getFontFamily = (name: string): string => - [ - `"${name}"`, - '-apple-system', - 'BlinkMacSystemFont', - '"Segoe UI"', - 'Roboto', - '"Helvetica Neue"', - 'Arial', - 'sans-serif', - '"Apple Color Emoji"', - '"Segoe UI Emoji"', - '"Segoe UI Symbol"', - ].join(',') - -const breakpoints = { - xs: 0, - sm: 375, - md: 627, - lg: 1056, - xl: 1312, -} - -const palette = createPalette({ - common: { - white: '#fff', - black: '#000', - }, - primary: { - main: '#0f71cb', - dark: '#0d55af', - contrastText: '#fff', - shadow: 'rgba(15, 113, 203, 0.4)', - }, - secondary: { - main: '#eaf1fe', - dark: '#d4e3fe', - contrastText: '#0f71cb', - }, - brand: { - brand01: '#FFA600', - brand02: '#B3CB2D', - }, - action: { - active: '#939393', - disabled: '#ADADAD', - disabledBackground: '#EAEAEA', - }, - danger: { - danger: '#D91E18', - dangerHover: '#E5231D', - dangerBadge: '#FB6540', - }, - support: { - success: '#00AA55', - error: '#D91E18', - info: '#676BC6', - warning: '#FFA600', - }, - success: { - main: '#00aa55', - }, - icon: { - icon01: '#939393', - icon02: '#B6B6B6', - icon03: '#333333', - }, - border: { - border01: '#DCDCDC', - border02: '#B6B6B6', - border03: '#989898', - border04: '#0F71CB', - }, - chip: { - release: '#0D61AE', - active: '#88982D', - inactive: '#D91E18', - created: '#8f8013', - inReview: '#8f8013', - default: '#888888', - bgRelease: '#EAF1FE', - bgActive: '#F0F5D5', - bgInactive: '#FFF7FF', - bgCreated: '#f5efd5', - bgInReview: '#f5efd5', - bgDefault: '#c7c5c5', - }, - stepper: { - stepDone: '#B3CB2D', - stepCurrent: '#FFA600', - stepUpcoming: '#EAEAEA', - }, - background: { - background01: '#F9F9F9', - background02: '#F3F3F3', - background03: '#E9E9E9', - background04: '#F4FBFD', - background05: '#F5F9EE', - background06: '#FFF7EC', - background07: '#F5F5F5', - background08: '#FFF6FF', - background09: '#EDF0F4', - background10: '#303030F2', - background11: '#EDEFF2', - background12: '#8E8E8E1A', - background13: '#DFE4EA', - background14: '#303030', - }, - textField: { - placeholderText: '#8D8D8D', - helperText: '#717171', - background: '#F7F7F7', - backgroundHover: '#ECECEC', - }, - text: { - primary: '#111111', - secondary: '#252525', - tertiary: '#888888', - quaternary: '#A2A2A2', - }, - accent: { - accent01: '#4D73D5', - accent02: '#F2F3FB', - accent03: '#676BC6', - accent04: '#E1F1FF', - accent05: '#FFEBCC', - accent06: '#5E3416', - accent07: '#88982D', - accent08: '#F0F5D5', - accent09: '#FDB943', - accent10: '#428C5B', - accent11: '#337B89', - accent12: '#2B4078', - }, - selected: { - hover: 'rgba(15, 113, 203, 0.05)', - focus: 'rgba(15, 113, 203, 0.15)', - active: 'rgba(15, 113, 203, 0.2)', - }, - pending: { - main: '#FFECBD', - contrastText: '#975B27', - }, - confirmed: { - main: '#E2F6C7', - contrastText: '#5C8D45', - }, - declined: { - main: '#FEE7E2', - contrastText: '#FF532F', - }, - label: { - main: '#F2F3FB', - contrastText: '#676BC6', - }, - info: { - main: '#F2F3FB', - contrastText: '#676BC6', - }, - warning: { - main: '#ffa602', - contrastText: '#ffff', - }, - buttons: { - darkGrey: '#e1e1e1', - lightGrey: '#f3f3f3', - white: '#f9f9f9', - yellow: '#f5f9ee', - }, -}) - -const typography = createTypography(palette, { - fontFamily: getFontFamily('LibreFranklin'), - htmlFontSize: 16, - allVariants: { - color: palette.text.primary, - }, - h1: { - fontFamily: getFontFamily('LibreFranklin-Medium'), - fontSize: 56, - lineHeight: 68 / 56, - letterSpacing: 0, - }, - h2: { - fontFamily: getFontFamily('LibreFranklin-Medium'), - fontSize: 36, - lineHeight: 44 / 36, - letterSpacing: 0, - }, - h3: { - fontFamily: getFontFamily('LibreFranklin-SemiBold'), - fontSize: 24, - lineHeight: 36 / 24, - letterSpacing: 0, - }, - h4: { - fontFamily: getFontFamily('LibreFranklin-SemiBold'), - fontSize: 18, - lineHeight: 28 / 18, - letterSpacing: 0, - }, - h5: { - fontFamily: getFontFamily('LibreFranklin-SemiBold'), - fontSize: 16, - lineHeight: 24 / 16, - letterSpacing: 0, - }, - body1: { - fontFamily: getFontFamily('LibreFranklin-Light'), - fontSize: 18, - lineHeight: 28 / 18, - letterSpacing: 0, - }, - body2: { - fontFamily: getFontFamily('LibreFranklin-Light'), - fontSize: 16, - lineHeight: 24 / 16, - letterSpacing: 0, - }, - body3: { - fontFamily: getFontFamily('LibreFranklin-Light'), - fontSize: 14, - lineHeight: 20 / 14, - letterSpacing: 0, - }, - label1: { - fontFamily: getFontFamily('LibreFranklin-Medium'), - fontSize: 18, - lineHeight: 28 / 18, - letterSpacing: 0, - }, - label2: { - fontFamily: getFontFamily('LibreFranklin-Medium'), - fontSize: 16, - lineHeight: 24 / 16, - letterSpacing: 0, - }, - label3: { - fontFamily: getFontFamily('LibreFranklin-Medium'), - fontSize: 14, - lineHeight: 20 / 14, - letterSpacing: 0, - }, - label4: { - fontFamily: getFontFamily('LibreFranklin-Medium'), - fontSize: 12, - lineHeight: 16 / 12, - letterSpacing: 0, - }, - label5: { - fontFamily: getFontFamily('LibreFranklin-SemiBold'), - fontSize: 11, - lineHeight: 16 / 11, - letterSpacing: 0, - color: palette.text.secondary, - }, - caption1: { - fontFamily: getFontFamily('LibreFranklin'), - fontSize: 18, - lineHeight: 28 / 18, - letterSpacing: 0, - color: palette.text.tertiary, - }, - caption2: { - fontFamily: getFontFamily('LibreFranklin'), - fontSize: 16, - lineHeight: 24 / 16, - letterSpacing: 0, - color: palette.text.tertiary, - }, - caption3: { - fontFamily: getFontFamily('LibreFranklin'), - fontSize: 14, - lineHeight: 20 / 14, - letterSpacing: 0, - color: palette.text.tertiary, - }, - helper: { - fontFamily: getFontFamily('LibreFranklin'), - fontSize: 12, - lineHeight: 16 / 12, - letterSpacing: 0, - color: palette.text.tertiary, - }, - button: { - fontSize: 16, - lineHeight: 24 / 16, - textTransform: 'none', - }, -}) - -export const theme = createTheme({ - breakpoints: { - values: breakpoints, - }, - palette, - typography, - shape: { - borderRadius: 4, - }, - components: { - MuiButtonBase: { - defaultProps: { - disableRipple: true, - }, - styleOverrides: { - root: { - ':focus': { - boxShadow: `0px 0px 0px 3px ${palette.primary.shadow}`, - }, - ':active': { - boxShadow: `0px 0px 0px 3px ${palette.primary.shadow}`, - }, - }, - }, - }, - MuiButton: { - styleOverrides: { - root: { - borderRadius: 50, - boxShadow: 'none', - fontSize: typography.body1.fontSize, - padding: '16px 28px', - ':hover': { - boxShadow: 'none', - }, - ':active, :focus': { - boxShadow: `0px 0px 0px 3px ${palette.primary.shadow}`, - }, - }, - sizeMedium: { - padding: '14px 24px', - }, - sizeSmall: { - fontSize: typography.body3.fontSize, - padding: '10px 18px', - }, - outlined: { - borderColor: palette.primary.main, - borderWidth: 2, - padding: '14px 26px', - ':hover': { - color: palette.primary.dark, - borderColor: palette.primary.dark, - borderWidth: 2, - backgroundColor: 'transparent', - }, - ':disabled': { - borderColor: palette.action.disabled, - borderWidth: 2, - }, - }, - outlinedSizeMedium: { - padding: '12px 22px', - }, - outlinedSizeSmall: { - padding: '8px 16px', - }, - text: { - ':hover': { - backgroundColor: palette.secondary.dark, - }, - }, - }, - variants: [ - { - props: { - color: 'secondary', - }, - style: { - ':hover': { - color: palette.primary.dark, - }, - }, - }, - ], - }, - MuiIconButton: { - styleOverrides: { - root: { - color: palette.primary.main, - padding: 6, - ':hover': { - backgroundColor: palette.secondary.dark, - color: palette.primary.dark, - }, - }, - }, - variants: [ - { - props: { - color: 'primary', - }, - style: { - backgroundColor: palette.primary.main, - color: palette.common.white, - ':hover': { - backgroundColor: palette.primary.dark, - color: palette.common.white, - }, - }, - }, - { - props: { - color: 'secondary', - }, - style: { - backgroundColor: palette.secondary.main, - }, - }, - { - props: { - size: 'small', - }, - style: { - padding: 2, - }, - }, - ], - }, - MuiOutlinedInput: { - styleOverrides: { - root: { - borderRadius: 16, - backgroundColor: palette.background.background01, - padding: '4px 24px', - '.MuiOutlinedInput-notchedOutline': { - borderColor: palette.border.border01, - }, - ':hover': { - '.MuiOutlinedInput-notchedOutline': { - borderColor: palette.primary.shadow, - }, - }, - '&.Mui-focused': { - '.MuiOutlinedInput-notchedOutline': { - borderColor: palette.primary.shadow, - }, - }, - }, - }, - }, - MuiFilledInput: { - styleOverrides: { - root: { - backgroundColor: palette.textField.background, - borderRadius: '6px 6px 0 0', - fontSize: typography.body2.fontSize, - '.MuiFilledInput-input': { - padding: '16px', - }, - '&.Mui-focused': { - backgroundColor: palette.textField.backgroundHover, - }, - '&.Mui-disabled': { - backgroundColor: palette.textField.background, - }, - }, - }, - }, - MuiInputLabel: { - styleOverrides: { - root: { - fontFamily: typography.label3.fontFamily, - fontSize: typography.label3.fontSize, - }, - }, - variants: [ - { - props: { - variant: 'filled', - }, - style: { - transform: 'none', - position: 'relative', - }, - }, - ], - }, - MuiBadge: { - styleOverrides: { - root: { - color: palette.common.white, - }, - }, - }, - MuiDataGrid: { - styleOverrides: { - root: { - border: `1px solid ${palette.border.border01}`, - borderRadius: 24, - overflow: 'hidden', - }, - columnHeaders: { - fontFamily: getFontFamily('LibreFranklin-SemiBold'), - backgroundColor: palette.background.background03, - }, - columnHeader: { - padding: '0 32px', - }, - columnSeparator: { - display: 'none', - }, - row: { - '&.MuiDataGrid-row--lastVisible .MuiDataGrid-cell': { - borderColor: palette.border.border01, - }, - }, - cell: { - padding: '16px 32px', - borderColor: palette.border.border01, - }, - columnHeaderCheckbox: { - width: '64px !important', - minWidth: '64px !important', - maxWidth: '64px !important', - paddingLeft: '10px !important', - paddingRight: '10px !important', - height: '76px !important', - }, - }, - }, - MuiChip: { - styleOverrides: { - root: { - borderRadius: 6, - }, - }, - variants: [ - { - props: { - color: 'pending', - }, - style: { - backgroundColor: palette.pending.main, - color: palette.pending.contrastText, - }, - }, - { - props: { - color: 'confirmed', - }, - style: { - backgroundColor: palette.confirmed.main, - color: palette.confirmed.contrastText, - }, - }, - { - props: { - color: 'declined', - }, - style: { - backgroundColor: palette.declined.main, - color: palette.declined.contrastText, - }, - }, - { - props: { - color: 'info', - }, - style: { - backgroundColor: palette.info.main, - color: palette.info.contrastText, - }, - }, - { - props: { - color: 'label', - }, - style: { - backgroundColor: palette.label.main, - color: palette.label.contrastText, - }, - }, - ], - }, - MuiLink: { - styleOverrides: { - root: { - fontFamily: typography.body1.fontFamily, - textDecoration: 'none', - ':hover': { - color: palette.primary.dark, - }, - }, - }, - }, - MuiList: { - styleOverrides: { - root: { - fontFamily: typography.label3.fontFamily, - fontSize: typography.label3.fontSize, - }, - }, - }, - MuiDialog: { - styleOverrides: { - paper: { - borderRadius: 40, - }, - }, - }, - MuiDialogTitle: { - styleOverrides: { - root: { - fontFamily: typography.h4.fontFamily, - fontSize: typography.h4.fontSize, - padding: 0, - }, - }, - }, - MuiDialogActions: { - styleOverrides: { - root: { - padding: 0, - justifyContent: 'center', - '& .MuiButton-root:not(:first-of-type)': { - marginLeft: 24, - }, - }, - }, - }, - MuiTab: { - styleOverrides: { - root: { - justifyContent: 'start', - color: 'text.primary', - '&:active, &:focus': { - boxShadow: 'none', - }, - }, - }, - }, - MuiFormControlLabel: { - styleOverrides: { - root: { - '.MuiFormControlLabel-label': { - fontFamily: typography.label2.fontFamily, - fontSize: typography.label2.fontSize, - }, - }, - }, - }, - MuiCircularProgress: { - styleOverrides: { - circle: { - strokeLinecap: 'butt', - }, - }, - }, - MuiPaper: { - styleOverrides: { - root: { - borderRadius: '6px', - '.MuiCalendarPicker-viewTransitionContainer': { - borderTop: `1px solid ${palette.border.border01}`, - '.MuiTypography-root': { - fontWeight: 'bold', - fontSize: '14px', - }, - }, - '.MuiIconButton-root': { - color: '#939393', - }, - '.PrivatePickersFadeTransitionGroup-root': { - fontWeight: 'bold', - fontSize: '16px', - }, - '.MuiFilledInput-root': { - paddingTop: '0px !important', - minHeight: '55px', - }, - }, - }, - }, - MuiTabs: { - styleOverrides: { - root: { - paddingTop: '50px', - minWidth: 'fit-content', - '.MuiTab-textColorPrimary': { - minHeight: '50px', - alignItems: 'flex-start', - color: palette.text.tertiary, - paddingRight: '50px', - }, - '.MuiTabs-indicator': { - backgroundColor: palette.common.white, - }, - }, - }, - }, - }, -}) diff --git a/cx-portal-shared-components/tsconfig.build.json b/cx-portal-shared-components/tsconfig.build.json deleted file mode 100644 index c58be2fb4..000000000 --- a/cx-portal-shared-components/tsconfig.build.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "react-jsx", - "typeRoots": ["node_modules/@types", "src/@types"], - "baseUrl": "src", - "sourceMap": true, - "outDir": "dist", - "declaration": true, - "declarationDir": "types", - "emitDeclarationOnly": true, - "types": ["node", "jest"] - }, - "include": ["src"], - "exclude": [ - "node_modules", - "build", - "dist", - "storybook-static", - "src/**/*.stories.tsx", - "src/**/*.test.tsx" - ] -} diff --git a/cx-portal/.nvmrc b/cx-portal/.nvmrc deleted file mode 100644 index 4ec320b21..000000000 --- a/cx-portal/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v14.17.6 diff --git a/cx-portal/.storybook/main.js b/cx-portal/.storybook/main.js deleted file mode 100644 index f4326d16c..000000000 --- a/cx-portal/.storybook/main.js +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -module.exports = { - stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'], - addons: [ - '@storybook/addon-links', - '@storybook/addon-essentials', - '@storybook/addon-interactions', - '@storybook/preset-create-react-app', - ], - framework: '@storybook/react', - core: { - builder: 'webpack5', - }, - features: { - emotionAlias: false, - }, -} diff --git a/cx-portal/.storybook/preview.js b/cx-portal/.storybook/preview.js deleted file mode 100644 index 3f22fbf8f..000000000 --- a/cx-portal/.storybook/preview.js +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { SharedThemeProvider } from 'cx-portal-shared-components' -import React from 'react' -import { GlobalStyle } from '../src/components/Global' - -export const decorators = [ - (Story) => ( - - - - - ), -] - -export const parameters = { - actions: { argTypesRegex: '^on[A-Z].*' }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/, - }, - }, -} diff --git a/cx-portal/README.md b/cx-portal/README.md deleted file mode 100644 index a05943874..000000000 --- a/cx-portal/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Catena-X Portal - -Frontend web application for Catena-X. Check README.md on repository root to build. - -steps - - yarn start diff --git a/cx-portal/package.json b/cx-portal/package.json deleted file mode 100644 index cb259e052..000000000 --- a/cx-portal/package.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "name": "cx-portal", - "version": "1.5.0", - "license": "Apache-2.0", - "scripts": { - "start": "react-scripts start", - "start:portal": "PORT=3001 BROWSER=none react-scripts start", - "build:portal": "react-scripts build", - "test": "react-scripts test", - "test:watch": "react-scripts test --watch", - "test:ci": "CI=true react-scripts test --watchAll=false --runInBand", - "eject": "react-scripts eject", - "clean": "rimraf ./build ./dist ./storybook-static ./public/_storybook", - "start:storybook": "start-storybook -p 6006 -s public", - "build:storybook": "build-storybook -s public", - "build:dist": "yarn run build && mkdirp dist && cd build && 7z u ../dist/build.zip .", - "deploy": "export CX_ENV=${CX_ENV:-dev003} && az webapp deployment source config-zip --resource-group catenax-${CX_ENV}-rg --name catenax-${CX_ENV}-app-portal-2 --src ./dist/build.zip" - }, - "dependencies": { - "@hookform/error-message": "^2.0.1", - "@mui/icons-material": "^5.5.1", - "@react-hook/cache": "^1.1.1", - "@reduxjs/toolkit": "^1.7.2", - "@types/node": "^12.20.46", - "@types/react": "^16.14.23", - "@types/react-dom": "^16.9.14", - "@types/react-redux": "^7.1.22", - "axios": "^0.26.0", - "cross-env": "5.0.5", - "cx-portal-shared-components": "1.5.0", - "dayjs": "^1.11.4", - "i18next": "^21.6.12", - "i18next-browser-languagedetector": "^6.1.3", - "keycloak-js": "^17.0.0", - "lodash.debounce": "^4.0.8", - "lodash.uniq": "^4.5.0", - "nanoid": "^4.0.0", - "qs": "^6.10.3", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-dropzone": "^14.2.2", - "react-hook-form": "^7.39.1", - "react-i18next": "^11.15.5", - "react-player": "^2.12.0", - "react-redux": "^7.2.6", - "react-router-dom": "^6.2.1", - "sass": "^1.49.9" - }, - "devDependencies": { - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@storybook/addon-actions": "^6.4.19", - "@storybook/addon-essentials": "^6.4.19", - "@storybook/addon-interactions": "^6.4.19", - "@storybook/addon-links": "^6.4.19", - "@storybook/builder-webpack5": "^6.4.19", - "@storybook/manager-webpack5": "^6.4.19", - "@storybook/node-logger": "^6.4.19", - "@storybook/preset-create-react-app": "^4.0.1", - "@storybook/react": "^6.4.19", - "@storybook/testing-library": "^0.0.9", - "@testing-library/jest-dom": "^5.16.3", - "@testing-library/react": "12.1.2", - "@testing-library/user-event": "^14.0.4", - "@types/jest": "^24.9.1", - "@types/lodash.debounce": "^4.0.6", - "@types/lodash.uniq": "^4.5.7", - "@typescript-eslint/eslint-plugin": "^5.13.0", - "@typescript-eslint/parser": "^5.13.0", - "eslint": "^8.10.0", - "eslint-config-prettier": "^8.4.0", - "eslint-plugin-prettier": "^4.0.0", - "eslint-plugin-react": "^7.29.2", - "prettier": "^2.5.1", - "react-scripts": "5.0.1", - "styled-components": "^5.3.3", - "typescript": "^4.1.6", - "webpack": "^5.69.1", - "webpack-cli": "^4.9.2" - }, - "eslintConfig": { - "extends": "react-app", - "overrides": [ - { - "files": [ - "**/*.stories.*" - ], - "rules": { - "import/no-anonymous-default-export": "off" - } - } - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "jest": { - "transformIgnorePatterns": [ - "node_modules/(?!cx-portal-shared-components)/" - ] - } -} diff --git a/cx-portal/public/cx-logo-text.svg.license b/cx-portal/public/cx-logo-text.svg.license deleted file mode 100644 index d19d7f534..000000000 --- a/cx-portal/public/cx-logo-text.svg.license +++ /dev/null @@ -1,3 +0,0 @@ -Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - -SPDX-License-Identifier: CC-BY-4.0 \ No newline at end of file diff --git a/cx-portal/public/cx-logo.svg.license b/cx-portal/public/cx-logo.svg.license deleted file mode 100644 index d19d7f534..000000000 --- a/cx-portal/public/cx-logo.svg.license +++ /dev/null @@ -1,3 +0,0 @@ -Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - -SPDX-License-Identifier: CC-BY-4.0 \ No newline at end of file diff --git a/cx-portal/src/assets/fonts/LibreFranklin-Italic-VariableFont_wght.ttf b/cx-portal/src/assets/fonts/LibreFranklin-Italic-VariableFont_wght.ttf deleted file mode 100644 index 9058abc37..000000000 Binary files a/cx-portal/src/assets/fonts/LibreFranklin-Italic-VariableFont_wght.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/LibreFranklin-VariableFont_wght.ttf b/cx-portal/src/assets/fonts/LibreFranklin-VariableFont_wght.ttf deleted file mode 100644 index c1d1e31c5..000000000 Binary files a/cx-portal/src/assets/fonts/LibreFranklin-VariableFont_wght.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-Black.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-Black.ttf deleted file mode 100644 index ee1f7a30b..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-Black.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-BlackItalic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-BlackItalic.ttf deleted file mode 100644 index 86c715873..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-BlackItalic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-Bold.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-Bold.ttf deleted file mode 100644 index 453d1f84c..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-Bold.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-BoldItalic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-BoldItalic.ttf deleted file mode 100644 index c4ff4a310..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-BoldItalic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraBold.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraBold.ttf deleted file mode 100644 index db56f2be7..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraBold.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraBoldItalic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraBoldItalic.ttf deleted file mode 100644 index fa36881d2..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraBoldItalic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraLight.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraLight.ttf deleted file mode 100644 index 19cad5919..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraLight.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraLightItalic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraLightItalic.ttf deleted file mode 100644 index 828ddda42..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-ExtraLightItalic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-Italic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-Italic.ttf deleted file mode 100644 index 630e4fd07..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-Italic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-Light.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-Light.ttf deleted file mode 100644 index efb6cea9a..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-Light.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-LightItalic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-LightItalic.ttf deleted file mode 100644 index cd0d852d8..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-LightItalic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-Medium.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-Medium.ttf deleted file mode 100644 index 86ff32db7..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-Medium.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-MediumItalic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-MediumItalic.ttf deleted file mode 100644 index 401d44f30..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-MediumItalic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-Regular.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-Regular.ttf deleted file mode 100644 index 0eca7b61e..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-Regular.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-SemiBold.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-SemiBold.ttf deleted file mode 100644 index eb98baad3..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-SemiBold.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-SemiBoldItalic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-SemiBoldItalic.ttf deleted file mode 100644 index ceaaf053e..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-SemiBoldItalic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-Thin.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-Thin.ttf deleted file mode 100644 index 55beb2eba..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-Thin.ttf and /dev/null differ diff --git a/cx-portal/src/assets/fonts/static/LibreFranklin-ThinItalic.ttf b/cx-portal/src/assets/fonts/static/LibreFranklin-ThinItalic.ttf deleted file mode 100644 index d165efaea..000000000 Binary files a/cx-portal/src/assets/fonts/static/LibreFranklin-ThinItalic.ttf and /dev/null differ diff --git a/cx-portal/src/assets/logo/cx-logo-short.svg b/cx-portal/src/assets/logo/cx-logo-short.svg deleted file mode 100644 index f99bac665..000000000 --- a/cx-portal/src/assets/logo/cx-logo-short.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/cx-portal/src/assets/logo/cx-logo-short.svg.license b/cx-portal/src/assets/logo/cx-logo-short.svg.license deleted file mode 100644 index d19d7f534..000000000 --- a/cx-portal/src/assets/logo/cx-logo-short.svg.license +++ /dev/null @@ -1,3 +0,0 @@ -Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - -SPDX-License-Identifier: CC-BY-4.0 \ No newline at end of file diff --git a/cx-portal/src/assets/notice/legal-notice.json b/cx-portal/src/assets/notice/legal-notice.json deleted file mode 100644 index bb0a3ead8..000000000 --- a/cx-portal/src/assets/notice/legal-notice.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "NAME_PLACEHOLDER", - "repositoryPath": "SERVER_URL_PLACEHOLDER/REPOSITORY_PLACEHOLDER", - "license": "LICENSE_PLACEHOLDER", - "licensePath": "SERVER_URL_PLACEHOLDER/REPOSITORY_PLACEHOLDER/blob/REF_PLACEHOLDER/LICENSE", - "noticePath": "SERVER_URL_PLACEHOLDER/REPOSITORY_PLACEHOLDER/blob/REF_PLACEHOLDER/NOTICE.md", - "sourcePath": "SERVER_URL_PLACEHOLDER/REPOSITORY_PLACEHOLDER/tree/REF_PLACEHOLDER", - "commitId": "COMMIT_ID_PLACEHOLDER" -} diff --git a/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/ProvisionIdentityProviderForm.scss b/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/ProvisionIdentityProviderForm.scss deleted file mode 100644 index 9afee0ee8..000000000 --- a/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/ProvisionIdentityProviderForm.scss +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -.ProvisionIdentityProviderForm, -.ProvisionIdentityProviderFormOverlay { - background-color: white; - width: 440px; - height: 540px; - padding: 40px; - font-size: 12px; - line-height: 26px; - text-align: center; - position: absolute; - left: 50%; - top: 46%; - transform: translate(-50%) translateY(-30%); - border: 0px solid gray; - box-shadow: 0 0 1em gray; - display: flex; - flex-direction: column; - justify-content: space-between; -} - -.ProvisionIdentityProviderForm { - z-index: 2; -} - -.ProvisionIdentityProviderForm > * { - margin: 8px 0; -} - -.ProvisionIdentityProviderForm > h4 { - margin-bottom: 12px; -} - -.ProvisionIdentityProviderForm > button { - margin-top: 12px; -} - -.ProvisionIdentityProviderFormOverlay { - opacity: 0.95; - font-size: 32px; - line-height: 42px; -} - -.ProvisionIdentityProviderForm > .input { - visibility: hidden; -} - -.busy, -.success, -.failure { - z-index: 3; -} - -.failure { - color: red; -} - -.success { - color: green; -} - -.loader { - position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%) translateY(-50%); - display: inline-block; - width: 120px; - height: 120px; - border: 24px solid #b3cb2d; -} -.loader:after { - content: ' '; - display: block; - width: 72px; - height: 72px; - margin: 0; - border-radius: 0; - border: 24px solid #ffa600; - animation: loader 3s linear infinite; -} -@keyframes loader { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} diff --git a/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/ProvisionIdentityProviderForm.stories.tsx b/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/ProvisionIdentityProviderForm.stories.tsx deleted file mode 100644 index 91bbec2a2..000000000 --- a/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/ProvisionIdentityProviderForm.stories.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ComponentStory, ComponentMeta } from '@storybook/react' -import { ProvisionIdentityProviderForm } from '.' -import { MemoryRouter } from 'react-router-dom' - -export default { - title: 'frame/ProvisionIdentityProviderForm', - component: ProvisionIdentityProviderForm, - parameters: { - layout: 'fullscreen', - }, - decorators: [ - (Story) => ( - - - - ), - ], - styles: ['./components/App.css'], -} as ComponentMeta - -const Template: ComponentStory = ( - args -) => - -export const Standard = Template.bind({}) diff --git a/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/index.tsx b/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/index.tsx deleted file mode 100644 index 62c99b8bd..000000000 --- a/cx-portal/src/components/pages/Admin/components/ProvisionIdentityProviderForm/index.tsx +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Button, Input, Typography } from 'cx-portal-shared-components' -import debounce from 'lodash.debounce' -import { useCallback, useMemo, useState } from 'react' -import { useTranslation } from 'react-i18next' -import { ProvisionIdentityProviderData } from 'features/provisioning/types' -import './ProvisionIdentityProviderForm.scss' - -export const ProvisionIdentityProviderForm = ({ - state, - onSubmit, -}: { - state: string - onSubmit: (data: ProvisionIdentityProviderData) => void -}) => { - const { t } = useTranslation() - const [inpExpr, setInpExpr] = useState(['', '', '', '', '']) - const [inpValid, setInpValid] = useState([ - false, - false, - false, - false, - false, - true, - ]) - - const debouncedValidation = useMemo( - () => - debounce((expr: string[]) => { - const check = [ - /^.{2,60}$/, - /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/, - /^.{2,60}$/, - /^.{2,60}$/, - /^[a-z_]{4,20}$/, - ].map((p, i) => !p.test(expr[i])) - check.push( - check.reduce((all, valid) => all || valid), - false - ) - setInpValid(check) - }, 300), - [setInpValid] - ) - - const doValidate = useCallback( - (index: number, value: string) => { - const data = inpExpr - data[index] = value - setInpExpr(data.slice()) - debouncedValidation(data) - }, - [debouncedValidation, inpExpr] - ) - - const doSubmit = () => - onSubmit({ - organisationName: inpExpr[0].trim(), - metadataUrl: inpExpr[1].trim(), - clientId: inpExpr[2].trim(), - clientSecret: inpExpr[3].trim(), - clientAuthMethod: inpExpr[4].trim(), - }) - - return ( - <> -
    - {t('content.provisionIdp.title')} - {[ - 'organization', - 'metadata', - 'clientId', - 'clientSecret', - 'clientAuthMethod', - ].map((value, i) => ( - doValidate(i, e.target.value)} - > - ))} - - -
    - {state === 'busy' ? ( -
    - ) : ( - t(`content.provisionIdp.${state}`) - )} -
    - - ) -} diff --git a/cx-portal/src/components/pages/Admin/index.tsx b/cx-portal/src/components/pages/Admin/index.tsx deleted file mode 100644 index b23e48140..000000000 --- a/cx-portal/src/components/pages/Admin/index.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { ProvisionIdentityProviderForm } from 'components/pages/Admin/components/ProvisionIdentityProviderForm' -import { useState } from 'react' -import { info } from 'services/LogService' -import { ProvisioningApi } from 'features/provisioning/api' -import { ProvisionIdentityProviderData } from 'features/provisioning/types' -import { SuccessErrorType } from 'features/admin/appuserApiSlice' - -export default function Admin() { - const [processing, setProcessing] = useState('input') - - const doSubmit = (data: ProvisionIdentityProviderData) => { - setProcessing('busy') - - new ProvisioningApi() - .provisionIdp(data) - .then(() => { - setProcessing(SuccessErrorType.SUCCESS) - info(`provisioning for company ${data.organisationName} started`) - }) - .catch((error: unknown) => { - setProcessing('failure') - info(`provisioning for company ${data.organisationName} failed`) - info(JSON.stringify(error)) - }) - .finally(() => { - setTimeout(() => { - setProcessing('input') - }, 5000) - }) - } - - return ( -
    - -
    - ) -} diff --git a/cx-portal/src/components/pages/AppOverview/components/AppConsent.tsx b/cx-portal/src/components/pages/AppOverview/components/AppConsent.tsx deleted file mode 100644 index 5a7a06a04..000000000 --- a/cx-portal/src/components/pages/AppOverview/components/AppConsent.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Typography } from 'cx-portal-shared-components' -import CheckCircleIcon from '@mui/icons-material/CheckCircle' -import ErrorIcon from '@mui/icons-material/Error' - -export default function AppConsent({ agreements }: { agreements: any }) { - return ( - <> - {agreements && - agreements.map((agreement: any) => { - return ( -
    - {agreement.consentStatus !== '' ? ( - - ) : ( - - )} - - {agreement.name} - -
    - ) - })} - - ) -} diff --git a/cx-portal/src/components/pages/AppOverview/components/AppInfo.tsx b/cx-portal/src/components/pages/AppOverview/components/AppInfo.tsx deleted file mode 100644 index e281f7d05..000000000 --- a/cx-portal/src/components/pages/AppOverview/components/AppInfo.tsx +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useTranslation } from 'react-i18next' -import { Typography } from 'cx-portal-shared-components' -import AppProviderInfo from './AppProviderInfo' -import AppDetailImageGallery from 'components/pages/AppDetail/components/AppDetailImageGallery' -import { getAppImage } from 'features/apps/mapper' -import { AppStatusDataState } from 'features/appManagement/types' - -export default function AppInfo({ - item, - id, -}: { - item: AppStatusDataState - id: string -}) { - const { t } = useTranslation() - return ( -
    - {item.descriptions && - item.descriptions.map((desc: any) => { - return ( -
    - - [{t('content.appoverview.details.longDescription')} -{' '} - {desc.languageCode}] - - - {desc.longDescription} - -
    - ) - })} -
    - -
    - getAppImage(id, image)) || []} - /> -
    - ) -} diff --git a/cx-portal/src/components/pages/AppOverview/components/AppProviderInfo.tsx b/cx-portal/src/components/pages/AppOverview/components/AppProviderInfo.tsx deleted file mode 100644 index 8df7118a4..000000000 --- a/cx-portal/src/components/pages/AppOverview/components/AppProviderInfo.tsx +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 Mercedes-Benz Group AG and BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useTranslation } from 'react-i18next' -import { Typography, StaticTable, TableType } from 'cx-portal-shared-components' -import { AppStatusDataState } from 'features/appManagement/types' - -export default function AppProviderInfo({ - item, -}: { - item: AppStatusDataState -}) { - const { t } = useTranslation('', { - keyPrefix: 'content.appdetail.providerInformation', - }) - - const tableData: TableType = { - head: [t('appProvider'), t('email'), t('phone')], - body: [ - [item.provider || ''], - [item.contactEmail], - [item.contactNumber || ''], - ], - } - - return ( -
    -
    - - {t('heading')} - - - {t('message')} - -
    - {item && } -
    - ) -} diff --git a/cx-portal/src/components/pages/DataCatalog/index.tsx b/cx-portal/src/components/pages/DataCatalog/index.tsx deleted file mode 100644 index d3fae8f61..000000000 --- a/cx-portal/src/components/pages/DataCatalog/index.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useTranslation } from 'react-i18next' - -export default function DataCatalog() { - const { t } = useTranslation() - return ( -
    -

    {t('pages.datacatalog')}

    -

    {t('content.datacatalog.message')}

    -
    - ) -} diff --git a/cx-portal/src/components/pages/DeveloperHub/index.tsx b/cx-portal/src/components/pages/DeveloperHub/index.tsx deleted file mode 100644 index 4a72110b4..000000000 --- a/cx-portal/src/components/pages/DeveloperHub/index.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useTranslation } from 'react-i18next' - -export default function DeveloperHub() { - const { t } = useTranslation() - return ( -
    -

    {t('pages.developerhub')}

    -

    {t('content.developerhub.message')}

    -
    - ) -} diff --git a/cx-portal/src/components/pages/Home/components/StageSection/index.tsx b/cx-portal/src/components/pages/Home/components/StageSection/index.tsx deleted file mode 100644 index 423352ab7..000000000 --- a/cx-portal/src/components/pages/Home/components/StageSection/index.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { Button, MainHeader } from 'cx-portal-shared-components' -import { useTranslation } from 'react-i18next' -import PageService from 'services/PageService' -import { label as BusinessApplications } from '../BusinessApplicationsSection' -import { getAssetBase } from 'services/EnvironmentService' - -export default function SearchSection() { - const { t } = useTranslation() - - return ( -
    - - - -
    - ) -} diff --git a/cx-portal/src/components/pages/Test/index.newdropzone.tsx b/cx-portal/src/components/pages/Test/index.newdropzone.tsx deleted file mode 100644 index fd5062437..000000000 --- a/cx-portal/src/components/pages/Test/index.newdropzone.tsx +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import Box from '@mui/material/Box' -import { Dropzone, DropzoneFile } from 'components/shared/basic/Dropzone' -import { - Button, - DropArea, - UploadFileStatus, - UploadStatus, -} from 'cx-portal-shared-components' -import React from 'react' -import { Controller, useForm } from 'react-hook-form' - -export default function NewDropzoneTest() { - const { handleSubmit, control, setValue, getValues } = useForm({ - defaultValues: { - myUploadFiles: [], - }, - mode: 'onChange', - }) - - const onSubmit = async (values: any) => { - const { myUploadFiles } = values - - console.log('Uploading', myUploadFiles) - - const setFileStatus = (fileIndex: number, status: UploadFileStatus) => { - const nextFiles = [...getValues().myUploadFiles] as any[] - nextFiles[fileIndex] = { - name: myUploadFiles[fileIndex].name, - size: myUploadFiles[fileIndex].size, - status, - } - setValue('myUploadFiles', nextFiles as any) - } - - for (let fileIndex = 0; fileIndex < myUploadFiles.length; fileIndex++) { - setFileStatus(fileIndex, UploadStatus.UPLOADING) - - try { - await fetch('https://httpbin.org/post', { method: 'POST' }) - setFileStatus(fileIndex, UploadStatus.UPLOAD_SUCCESS) - } catch (e) { - // TODO: it should display an error notification snackbar - setFileStatus(fileIndex, UploadStatus.UPLOAD_ERROR) - } - } - } - - return ( -
    - { - const uploadStarted = value.some( - (uploadFile: DropzoneFile) => !!uploadFile.status - ) - - return ( - { - console.log('Files changed', files, addedFiles, deletedFiles) - reactHookFormOnChange(files) - }} - acceptFormat={{ 'image/png': [], 'image/jpeg': [] }} - maxFilesToUpload={3} - maxFileSize={819200} - DropArea={(props) => ( - - )} - /> - ) - }} - /> - - - -
    - ) -} diff --git a/cx-portal/src/components/pages/Translator/Dropzone.tsx b/cx-portal/src/components/pages/Translator/Dropzone.tsx deleted file mode 100644 index 65cadc1cb..000000000 --- a/cx-portal/src/components/pages/Translator/Dropzone.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -import { useCallback } from 'react' -import { useDropzone } from 'react-dropzone' - -export default function Dropzone() { - const onDrop = useCallback((acceptedFiles) => { - acceptedFiles.forEach((file: File) => { - const reader = new FileReader() - reader.onabort = () => console.log('file reading was aborted') - reader.onerror = () => console.log('file reading has failed') - reader.onload = () => { - const text = reader.result - console.log(text) - } - reader.readAsText(file, 'utf-8') - }) - }, []) - const { getRootProps, getInputProps } = useDropzone({ onDrop }) - - return ( -
    - -

    Drop some files here, or click to select files

    -
    - ) -} diff --git a/cx-portal/src/components/pages/Translator/Translator.css b/cx-portal/src/components/pages/Translator/Translator.css deleted file mode 100644 index 193a4879e..000000000 --- a/cx-portal/src/components/pages/Translator/Translator.css +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -main.Translator textarea { - width: 48%; - height: 600px; - white-space: pre; - overflow-wrap: normal; - overflow-x: scroll; -} diff --git a/cx-portal/src/components/pages/Translator/index.tsx b/cx-portal/src/components/pages/Translator/index.tsx deleted file mode 100644 index b56a3ac4e..000000000 --- a/cx-portal/src/components/pages/Translator/index.tsx +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2021, 2023 BMW Group AG - * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -// TODO: -// for developer convenience - remove in prod - -import axios from 'axios' -import { useState } from 'react' -import Dropzone from './Dropzone' -import './Translator.css' - -export default function Translator() { - const [input, setInput] = useState('{"message":"good morning!"}') - const [output, setOutput] = useState('') - const [langFrom, setLangFrom] = useState('en') - const [langTo, setLangTo] = useState('de') - - function doTranslate() { - const url = `https://catenax-dev003-util.azurewebsites.net/v1/translate/${langFrom}/${langTo}` - axios - .post(url, input) - .then(function (response) { - console.log(response) - console.log(response.data.result) - setOutput(JSON.stringify(response.data.result, null, 4)) - }) - .catch(function (error) { - console.log(error) - setOutput(error) - }) - } - - return ( -
    -

    Translator

    - -