From deae5130b083e58fefbad05ccb63db9b4ce5ed10 Mon Sep 17 00:00:00 2001 From: Federico Luzzi Date: Fri, 11 Aug 2023 15:32:23 +0100 Subject: [PATCH] Releases (#335) * feat(frontend): implement featured KPI tokens (#321) * chore: version packages (#323) Co-authored-by: github-actions[bot] * Avoid fetching all KPIs tokens if the blacklist is empty (#324) * fix(frontend): avoid fetching all KPI tokens if the blacklist is empty * docs: add changeset * Implement blacklisted KPI tokens filter (#325) * feat(sdk): implement blacklisted KPI tokens filters * docs: add changeset * refactor(frontend): move blacklist fetch to dedicated hook, use new static links * feat(react): add blacklist param to KPI token hooks * refactor(sdk): remove blacklist fetch, add optional blacklist param to fetchers * docs: add changesets * Replace __DEV__ env with __PROD__ (#326) * refactor(frontend): replace __DEV__ env with __PROD__ * docs: add changeset * docs: update changeset file * fix(frontend): set __PROD__ to false in rollup config * Fix error svg icon (#327) * fix(ui): wrap error svg icon * docs: add changeset * Upgrade dependencies (#328) * chore: upgrade dependencies * feat(frontend): upgrade shared dependencies versions * docs: add changeset * feat(sdk): make library tree shakeable (#331) * chore(sdk): move tests in dedicated folder * chore(sdk): flatten module structure * chore(sdk): fix broken import paths * chore(sdk): make the package tree shakeable * chore(frontend): use esbuild instead of terser to minify build * chore(sdk): fix liting issues * chore(frontend): minimize css * chore(frontend): remove console log --------- Co-authored-by: luzzifoss * chore(frontend): fix domain typo * fix(frotnend): lint error (#332) * chore(ui): flatten structure and make package tree shakeable (#333) Co-authored-by: luzzifoss * chore(react): flatten file structure and make library tree shakeable (#334) * chore(react): flatten file structure and make library tree shakeable * chore(frontend): lower size limit --------- Co-authored-by: luzzifoss --------- Co-authored-by: Paolo Guerra Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] Co-authored-by: luzzifoss --- .changeset/clean-kings-taste.md | 5 + .changeset/fluffy-shoes-teach.md | 8 + .changeset/giant-cups-leave.md | 5 + .changeset/grumpy-frogs-relate.md | 5 + .changeset/kind-ducks-attack.md | 5 + .changeset/new-balloons-glow.md | 5 + .changeset/ninety-rice-try.md | 5 + .changeset/odd-owls-try.md | 5 + .changeset/proud-lizards-drop.md | 5 + .changeset/real-squids-breathe.md | 5 + .changeset/sharp-falcons-dream.md | 5 + .changeset/soft-crews-allow.md | 6 + .changeset/witty-grapes-smoke.md | 5 + .changeset/young-berries-beam.md | 5 + packages/frontend/.size-limit.json | 2 +- packages/frontend/craco.config.js | 14 + packages/frontend/package.json | 2 + packages/frontend/src/bootstrap.tsx | 6 +- packages/frontend/src/constants/index.ts | 4 +- packages/react/package.json | 281 ++++++++++- packages/react/rollup.config.mjs | 48 +- .../src/components/creation-form/index.ts | 2 - .../index.ts => error-boundary.ts} | 0 packages/react/src/components/index.ts | 3 - .../index.tsx => kpi-token-creation-form.tsx} | 4 +- .../index.tsx => kpi-token-page.tsx} | 4 +- .../index.tsx => oracle-creation-form.tsx} | 4 +- .../oracle/index.tsx => oracle-page.tsx} | 4 +- packages/react/src/components/pages/index.ts | 2 - .../index.tsx => template-component.tsx} | 11 +- .../index.tsx => core-provider.tsx} | 8 +- packages/react/src/hooks/index.ts | 31 -- .../src/hooks/useFederatedModuleContainer.ts | 2 +- .../react/src/hooks/useResetPageScroll.ts | 9 - packages/react/src/hooks/useTemplateModule.ts | 2 +- packages/react/src/{i18n/index.ts => i18n.ts} | 0 packages/react/src/index.ts | 45 +- packages/react/src/providers/index.ts | 1 - packages/react/src/types/index.ts | 2 - packages/react/src/types/templates.ts | 2 +- packages/sdk/package.json | 77 +++ packages/sdk/rollup.config.mjs | 20 +- .../sdk/src/{commons/index.ts => commons.ts} | 14 +- .../entities/{amount/index.ts => amount.ts} | 6 +- .../{currency/index.ts => currency.ts} | 0 .../{kpi-token/index.ts => kpi-token.ts} | 6 +- .../entities/{oracle/index.ts => oracle.ts} | 4 +- .../{template/index.ts => template.ts} | 0 .../src/entities/{token/index.ts => token.ts} | 4 +- .../{abstraction/index.ts => abstraction.ts} | 12 +- .../src/fetcher/{core/index.ts => core.ts} | 28 +- .../{on-chain/index.ts => on-chain.ts} | 52 +- .../{serializer/index.ts => serializer.ts} | 4 +- .../subgraph/{queries/index.ts => queries.ts} | 0 .../entities/amount.test.ts} | 6 +- .../entities/currency.test.ts} | 2 +- .../entities/kpi-token.test.ts} | 14 +- .../entities/oracle.test.ts} | 9 +- .../entities/template.test.ts} | 5 +- .../entities/token.test.ts} | 6 +- packages/sdk/tsconfig.json | 2 +- packages/ui/.storybook/main.js | 4 +- packages/ui/.storybook/preview.js | 10 - packages/ui/package.json | 212 +++++++- packages/ui/rollup.config.mjs | 40 +- .../{surfaces => }/accordion/context.tsx | 0 .../accordion/details/index.tsx | 2 +- .../{surfaces => }/accordion/index.tsx | 2 +- .../accordion/summary/index.tsx | 4 +- .../{input/button/index.tsx => button.tsx} | 4 +- .../{surfaces => }/card/actions/index.tsx | 2 +- .../{surfaces => }/card/content/index.tsx | 2 +- .../components/{surfaces => }/card/index.tsx | 2 +- .../{surfaces => }/card/title/index.tsx | 2 +- .../checkbox/index.tsx => checkbox.tsx} | 12 +- .../{data-display/chip/index.tsx => chip.tsx} | 4 +- .../commons/index.tsx => commons/input.tsx} | 13 +- .../ui/src/components/data-display/index.tsx | 7 - .../{input/date => date-input}/index.tsx | 9 +- .../date => date-input}/picker/index.tsx | 10 +- .../date-time => date-time-input}/index.tsx | 9 +- .../picker/index.tsx | 10 +- .../index.tsx => erc20-token-logo.tsx} | 7 +- .../erc20-token-picker/divider/index.tsx | 2 +- .../hooks/useSearchedTokens.ts | 2 +- .../{evm => }/erc20-token-picker/index.tsx | 2 +- .../erc20-token-picker/manage-lists/index.tsx | 18 +- .../erc20-token-picker/search/index.tsx | 15 +- .../search/row/balance/index.tsx | 4 +- .../erc20-token-picker/search/row/index.tsx | 14 +- .../{evm => }/erc20-token-picker/types.ts | 0 .../index.tsx => error-feedback.tsx} | 6 +- .../error-text/index.tsx => error-text.tsx} | 6 +- packages/ui/src/components/evm/index.ts | 1 - packages/ui/src/components/feedback/index.ts | 3 - packages/ui/src/components/index.ts | 36 +- packages/ui/src/components/input/index.ts | 12 - .../src/components/input/tags/tag/index.tsx | 53 -- .../{feedback/loader/index.tsx => loader.tsx} | 4 +- .../markdown => markdown-input}/index.tsx | 4 +- .../menu-bar/index.tsx | 18 +- .../menu-item/index.tsx | 2 +- .../markdown/index.tsx => markdown.tsx} | 2 +- .../{utils/modal/index.tsx => modal.tsx} | 2 +- .../multi-step-cards/index.tsx | 2 +- .../multi-step-cards/next-button/index.tsx | 4 +- .../multi-step-cards/step-card/index.tsx | 4 +- .../multi-step-cards/step-preview/index.tsx | 4 +- .../ui/src/components/navigation/index.tsx | 2 - .../number/index.tsx => number-input.tsx} | 6 +- .../{utils/popover/index.tsx => popover.tsx} | 2 +- .../radio-group/index.tsx => radio-group.tsx} | 6 +- .../{input/radio/index.tsx => radio.tsx} | 10 +- .../remote-logo/index.tsx => remote-logo.tsx} | 6 +- .../{input/select/index.tsx => select.tsx} | 12 +- .../skeleton/index.tsx => skeleton.tsx} | 2 +- .../stepper/index.tsx => stepper.tsx} | 4 +- packages/ui/src/components/surfaces/index.tsx | 2 - .../{input/switch/index.tsx => switch.tsx} | 0 .../{input/tags/index.tsx => tags-input.tsx} | 51 +- .../{input/text/index.tsx => text-input.tsx} | 4 +- .../timer/index.tsx => timer.tsx} | 8 +- .../typography/index.tsx => typography.tsx} | 4 +- packages/ui/src/components/utils/index.ts | 2 - packages/ui/src/index.ts | 2 - .../{components/index.tsx => components.tsx} | 2 +- .../ui/src/utils/{date/index.ts => date.ts} | 0 .../src/utils/{erc20/index.tsx => erc20.tsx} | 2 +- .../{formatting/index.ts => formatting.ts} | 0 .../ui/src/utils/{url/index.ts => url.ts} | 0 .../accordion.stories.tsx} | 11 +- .../button.stories.tsx} | 4 +- .../card.stories.tsx} | 13 +- .../checkbox.stories.tsx} | 5 +- .../chip.stories.tsx} | 2 +- .../date-input.stories.tsx} | 5 +- .../date-time-input.stories.tsx} | 5 +- .../erc20-token-logo.stories.tsx} | 2 +- .../erc20-token-picker.stories.tsx} | 11 +- .../error-feedback.stories.tsx} | 2 +- .../error-text.stories.tsx} | 2 +- .../loader.stories.tsx} | 2 +- .../markdown-input.stories.tsx} | 2 +- .../markdown.stories.tsx} | 2 +- .../modal.stories.tsx} | 9 +- .../multi-step-cards.stories.tsx} | 11 +- .../number-input.stories.tsx} | 4 +- .../popover.stories.tsx} | 7 +- .../radio-group.stories.tsx} | 7 +- .../radio-input.stories.tsx} | 2 +- .../remote-logo.stories.tsx} | 2 +- .../select.stories.tsx} | 2 +- .../skeleton.stories.tsx} | 5 +- .../stepper.stories.tsx} | 6 +- .../switch.stories.tsx} | 2 +- .../tags-input.stories.tsx} | 5 +- .../text-input.stories.tsx} | 2 +- .../timer.stories.tsx} | 2 +- .../typography.stories.tsx} | 2 +- packages/ui/tsconfig.build.json | 1 - packages/ui/tsconfig.json | 2 +- yarn.lock | 460 +++++++++++++++++- 162 files changed, 1664 insertions(+), 487 deletions(-) create mode 100644 .changeset/clean-kings-taste.md create mode 100644 .changeset/fluffy-shoes-teach.md create mode 100644 .changeset/giant-cups-leave.md create mode 100644 .changeset/grumpy-frogs-relate.md create mode 100644 .changeset/kind-ducks-attack.md create mode 100644 .changeset/new-balloons-glow.md create mode 100644 .changeset/ninety-rice-try.md create mode 100644 .changeset/odd-owls-try.md create mode 100644 .changeset/proud-lizards-drop.md create mode 100644 .changeset/real-squids-breathe.md create mode 100644 .changeset/sharp-falcons-dream.md create mode 100644 .changeset/soft-crews-allow.md create mode 100644 .changeset/witty-grapes-smoke.md create mode 100644 .changeset/young-berries-beam.md delete mode 100644 packages/react/src/components/creation-form/index.ts rename packages/react/src/components/{error-boundary/index.ts => error-boundary.ts} (100%) delete mode 100644 packages/react/src/components/index.ts rename packages/react/src/components/{creation-form/kpi-token/index.tsx => kpi-token-creation-form.tsx} (80%) rename packages/react/src/components/{pages/kpi-token/index.tsx => kpi-token-page.tsx} (80%) rename packages/react/src/components/{creation-form/oracle/index.tsx => oracle-creation-form.tsx} (80%) rename packages/react/src/components/{pages/oracle/index.tsx => oracle-page.tsx} (80%) delete mode 100644 packages/react/src/components/pages/index.ts rename packages/react/src/components/{template-component/index.tsx => template-component.tsx} (89%) rename packages/react/src/{providers/core-provider/index.tsx => core-provider.tsx} (93%) delete mode 100644 packages/react/src/hooks/index.ts delete mode 100644 packages/react/src/hooks/useResetPageScroll.ts rename packages/react/src/{i18n/index.ts => i18n.ts} (100%) delete mode 100644 packages/react/src/providers/index.ts delete mode 100644 packages/react/src/types/index.ts rename packages/sdk/src/{commons/index.ts => commons.ts} (84%) rename packages/sdk/src/entities/{amount/index.ts => amount.ts} (93%) rename packages/sdk/src/entities/{currency/index.ts => currency.ts} (100%) rename packages/sdk/src/entities/{kpi-token/index.ts => kpi-token.ts} (97%) rename packages/sdk/src/entities/{oracle/index.ts => oracle.ts} (92%) rename packages/sdk/src/entities/{template/index.ts => template.ts} (100%) rename packages/sdk/src/entities/{token/index.ts => token.ts} (91%) rename packages/sdk/src/fetcher/{abstraction/index.ts => abstraction.ts} (94%) rename packages/sdk/src/fetcher/{core/index.ts => core.ts} (94%) rename packages/sdk/src/fetcher/{on-chain/index.ts => on-chain.ts} (91%) rename packages/sdk/src/fetcher/{serializer/index.ts => serializer.ts} (74%) rename packages/sdk/src/fetcher/subgraph/{queries/index.ts => queries.ts} (100%) rename packages/sdk/{src/entities/amount/index.test.ts => tests/entities/amount.test.ts} (97%) rename packages/sdk/{src/entities/currency/index.test.ts => tests/entities/currency.test.ts} (84%) rename packages/sdk/{src/entities/kpi-token/index.test.ts => tests/entities/kpi-token.test.ts} (92%) rename packages/sdk/{src/entities/oracle/index.test.ts => tests/entities/oracle.test.ts} (85%) rename packages/sdk/{src/entities/template/index.test.ts => tests/entities/template.test.ts} (95%) rename packages/sdk/{src/entities/token/index.test.ts => tests/entities/token.test.ts} (94%) rename packages/ui/src/components/{surfaces => }/accordion/context.tsx (100%) rename packages/ui/src/components/{surfaces => }/accordion/details/index.tsx (87%) rename packages/ui/src/components/{surfaces => }/accordion/index.tsx (97%) rename packages/ui/src/components/{surfaces => }/accordion/summary/index.tsx (93%) rename packages/ui/src/components/{input/button/index.tsx => button.tsx} (98%) rename packages/ui/src/components/{surfaces => }/card/actions/index.tsx (88%) rename packages/ui/src/components/{surfaces => }/card/content/index.tsx (90%) rename packages/ui/src/components/{surfaces => }/card/index.tsx (94%) rename packages/ui/src/components/{surfaces => }/card/title/index.tsx (92%) rename packages/ui/src/components/{input/checkbox/index.tsx => checkbox.tsx} (94%) rename packages/ui/src/components/{data-display/chip/index.tsx => chip.tsx} (87%) rename packages/ui/src/components/{input/commons/index.tsx => commons/input.tsx} (96%) delete mode 100644 packages/ui/src/components/data-display/index.tsx rename packages/ui/src/components/{input/date => date-input}/index.tsx (95%) rename packages/ui/src/components/{input/date => date-input}/picker/index.tsx (95%) rename packages/ui/src/components/{input/date-time => date-time-input}/index.tsx (94%) rename packages/ui/src/components/{input/date-time => date-time-input}/picker/index.tsx (96%) rename packages/ui/src/components/{data-display/erc20-token-logo/index.tsx => erc20-token-logo.tsx} (73%) rename packages/ui/src/components/{evm => }/erc20-token-picker/divider/index.tsx (85%) rename packages/ui/src/components/{evm => }/erc20-token-picker/hooks/useSearchedTokens.ts (90%) rename packages/ui/src/components/{evm => }/erc20-token-picker/index.tsx (99%) rename packages/ui/src/components/{evm => }/erc20-token-picker/manage-lists/index.tsx (94%) rename packages/ui/src/components/{evm => }/erc20-token-picker/search/index.tsx (95%) rename packages/ui/src/components/{evm => }/erc20-token-picker/search/row/balance/index.tsx (85%) rename packages/ui/src/components/{evm => }/erc20-token-picker/search/row/index.tsx (93%) rename packages/ui/src/components/{evm => }/erc20-token-picker/types.ts (100%) rename packages/ui/src/components/{feedback/error-feedback/index.tsx => error-feedback.tsx} (88%) rename packages/ui/src/components/{data-display/error-text/index.tsx => error-text.tsx} (90%) delete mode 100644 packages/ui/src/components/evm/index.ts delete mode 100644 packages/ui/src/components/feedback/index.ts delete mode 100644 packages/ui/src/components/input/index.ts delete mode 100644 packages/ui/src/components/input/tags/tag/index.tsx rename packages/ui/src/components/{feedback/loader/index.tsx => loader.tsx} (68%) rename packages/ui/src/components/{input/markdown => markdown-input}/index.tsx (98%) rename packages/ui/src/components/{input/markdown => markdown-input}/menu-bar/index.tsx (86%) rename packages/ui/src/components/{input/markdown => markdown-input}/menu-item/index.tsx (93%) rename packages/ui/src/components/{data-display/markdown/index.tsx => markdown.tsx} (94%) rename packages/ui/src/components/{utils/modal/index.tsx => modal.tsx} (97%) rename packages/ui/src/components/{navigation => }/multi-step-cards/index.tsx (97%) rename packages/ui/src/components/{navigation => }/multi-step-cards/next-button/index.tsx (88%) rename packages/ui/src/components/{navigation => }/multi-step-cards/step-card/index.tsx (93%) rename packages/ui/src/components/{navigation => }/multi-step-cards/step-preview/index.tsx (89%) delete mode 100644 packages/ui/src/components/navigation/index.tsx rename packages/ui/src/components/{input/number/index.tsx => number-input.tsx} (95%) rename packages/ui/src/components/{utils/popover/index.tsx => popover.tsx} (97%) rename packages/ui/src/components/{input/radio-group/index.tsx => radio-group.tsx} (86%) rename packages/ui/src/components/{input/radio/index.tsx => radio.tsx} (94%) rename packages/ui/src/components/{data-display/remote-logo/index.tsx => remote-logo.tsx} (95%) rename packages/ui/src/components/{input/select/index.tsx => select.tsx} (95%) rename packages/ui/src/components/{feedback/skeleton/index.tsx => skeleton.tsx} (96%) rename packages/ui/src/components/{navigation/stepper/index.tsx => stepper.tsx} (98%) delete mode 100644 packages/ui/src/components/surfaces/index.tsx rename packages/ui/src/components/{input/switch/index.tsx => switch.tsx} (100%) rename packages/ui/src/components/{input/tags/index.tsx => tags-input.tsx} (71%) rename packages/ui/src/components/{input/text/index.tsx => text-input.tsx} (93%) rename packages/ui/src/components/{data-display/timer/index.tsx => timer.tsx} (85%) rename packages/ui/src/components/{data-display/typography/index.tsx => typography.tsx} (97%) delete mode 100644 packages/ui/src/components/utils/index.ts rename packages/ui/src/utils/{components/index.tsx => components.tsx} (95%) rename packages/ui/src/utils/{date/index.ts => date.ts} (100%) rename packages/ui/src/utils/{erc20/index.tsx => erc20.tsx} (96%) rename packages/ui/src/utils/{formatting/index.ts => formatting.ts} (100%) rename packages/ui/src/utils/{url/index.ts => url.ts} (100%) rename packages/ui/{src/components/surfaces/accordion/index.stories.tsx => stories/accordion.stories.tsx} (90%) rename packages/ui/{src/components/input/button/index.stories.tsx => stories/button.stories.tsx} (91%) rename packages/ui/{src/components/surfaces/card/index.stories.tsx => stories/card.stories.tsx} (73%) rename packages/ui/{src/components/input/checkbox/index.stories.tsx => stories/checkbox.stories.tsx} (88%) rename packages/ui/{src/components/data-display/chip/index.stories.tsx => stories/chip.stories.tsx} (87%) rename packages/ui/{src/components/input/date/index.stories.tsx => stories/date-input.stories.tsx} (87%) rename packages/ui/{src/components/input/date-time/index.stories.tsx => stories/date-time-input.stories.tsx} (83%) rename packages/ui/{src/components/data-display/erc20-token-logo/index.stories.tsx => stories/erc20-token-logo.stories.tsx} (79%) rename packages/ui/{src/components/evm/erc20-token-picker/index.stories.tsx => stories/erc20-token-picker.stories.tsx} (95%) rename packages/ui/{src/components/feedback/error-feedback/index.stories.tsx => stories/error-feedback.stories.tsx} (86%) rename packages/ui/{src/components/data-display/error-text/index.stories.tsx => stories/error-text.stories.tsx} (79%) rename packages/ui/{src/components/feedback/loader/index.stories.tsx => stories/loader.stories.tsx} (80%) rename packages/ui/{src/components/input/markdown/index.stories.tsx => stories/markdown-input.stories.tsx} (79%) rename packages/ui/{src/components/data-display/markdown/index.stories.tsx => stories/markdown.stories.tsx} (96%) rename packages/ui/{src/components/utils/modal/index.stories.tsx => stories/modal.stories.tsx} (82%) rename packages/ui/{src/components/navigation/multi-step-cards/index.stories.tsx => stories/multi-step-cards.stories.tsx} (89%) rename packages/ui/{src/components/input/number/index.stories.tsx => stories/number-input.stories.tsx} (76%) rename packages/ui/{src/components/utils/popover/index.stories.tsx => stories/popover.stories.tsx} (89%) rename packages/ui/{src/components/input/radio-group/index.stories.tsx => stories/radio-group.stories.tsx} (87%) rename packages/ui/{src/components/input/radio/index.stories.tsx => stories/radio-input.stories.tsx} (77%) rename packages/ui/{src/components/data-display/remote-logo/index.stories.tsx => stories/remote-logo.stories.tsx} (83%) rename packages/ui/{src/components/input/select/index.stories.tsx => stories/select.stories.tsx} (97%) rename packages/ui/{src/components/feedback/skeleton/index.stories.tsx => stories/skeleton.stories.tsx} (83%) rename packages/ui/{src/components/navigation/stepper/index.stories.tsx => stories/stepper.stories.tsx} (93%) rename packages/ui/{src/components/input/switch/index.stories.tsx => stories/switch.stories.tsx} (77%) rename packages/ui/{src/components/input/tags/index.stories.tsx => stories/tags-input.stories.tsx} (85%) rename packages/ui/{src/components/input/text/index.stories.tsx => stories/text-input.stories.tsx} (79%) rename packages/ui/{src/components/data-display/timer/index.stories.tsx => stories/timer.stories.tsx} (82%) rename packages/ui/{src/components/data-display/typography/index.stories.tsx => stories/typography.stories.tsx} (94%) diff --git a/.changeset/clean-kings-taste.md b/.changeset/clean-kings-taste.md new file mode 100644 index 000000000..0ba7d773f --- /dev/null +++ b/.changeset/clean-kings-taste.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/sdk": minor +--- + +Make the SDK package tree shakeable diff --git a/.changeset/fluffy-shoes-teach.md b/.changeset/fluffy-shoes-teach.md new file mode 100644 index 000000000..ead93ebf3 --- /dev/null +++ b/.changeset/fluffy-shoes-teach.md @@ -0,0 +1,8 @@ +--- +"@carrot-kpi/host-frontend": minor +"@carrot-kpi/react": minor +"@carrot-kpi/sdk": minor +"@carrot-kpi/ui": minor +--- + +Upgrade dependencies diff --git a/.changeset/giant-cups-leave.md b/.changeset/giant-cups-leave.md new file mode 100644 index 000000000..fd44667d5 --- /dev/null +++ b/.changeset/giant-cups-leave.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/host-frontend": minor +--- + +Use ESBuild instead of Terser to minify build diff --git a/.changeset/grumpy-frogs-relate.md b/.changeset/grumpy-frogs-relate.md new file mode 100644 index 000000000..71cbbd063 --- /dev/null +++ b/.changeset/grumpy-frogs-relate.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/sdk": patch +--- + +Move tests in dedicated tests folder diff --git a/.changeset/kind-ducks-attack.md b/.changeset/kind-ducks-attack.md new file mode 100644 index 000000000..c58ebc295 --- /dev/null +++ b/.changeset/kind-ducks-attack.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/ui": minor +--- + +Flatten package file structure and make it tree shakeable diff --git a/.changeset/new-balloons-glow.md b/.changeset/new-balloons-glow.md new file mode 100644 index 000000000..ff8447509 --- /dev/null +++ b/.changeset/new-balloons-glow.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/ui": patch +--- + +Fix an issue with the svg error icon of the inputs components diff --git a/.changeset/ninety-rice-try.md b/.changeset/ninety-rice-try.md new file mode 100644 index 000000000..99885444c --- /dev/null +++ b/.changeset/ninety-rice-try.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/host-frontend": patch +--- + +Replace `__DEV__` env with `__PROD__` and fix carrot domain configuration diff --git a/.changeset/odd-owls-try.md b/.changeset/odd-owls-try.md new file mode 100644 index 000000000..28c651307 --- /dev/null +++ b/.changeset/odd-owls-try.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/react": minor +--- + +Add optional blacklist param to KPI token hooks diff --git a/.changeset/proud-lizards-drop.md b/.changeset/proud-lizards-drop.md new file mode 100644 index 000000000..9948cd4e2 --- /dev/null +++ b/.changeset/proud-lizards-drop.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/host-frontend": minor +--- + +Minify CSS diff --git a/.changeset/real-squids-breathe.md b/.changeset/real-squids-breathe.md new file mode 100644 index 000000000..b6cdb5f6a --- /dev/null +++ b/.changeset/real-squids-breathe.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/host-frontend": patch +--- + +Avoid fetching all KPI tokens as featured when the blacklist is empty diff --git a/.changeset/sharp-falcons-dream.md b/.changeset/sharp-falcons-dream.md new file mode 100644 index 000000000..5c61772c6 --- /dev/null +++ b/.changeset/sharp-falcons-dream.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/sdk": patch +--- + +Flattened module structure diff --git a/.changeset/soft-crews-allow.md b/.changeset/soft-crews-allow.md new file mode 100644 index 000000000..72d4eec31 --- /dev/null +++ b/.changeset/soft-crews-allow.md @@ -0,0 +1,6 @@ +--- +"@carrot-kpi/host-frontend": minor +"@carrot-kpi/react": minor +--- + +Flatten React library file structure and make it tree shakeable diff --git a/.changeset/witty-grapes-smoke.md b/.changeset/witty-grapes-smoke.md new file mode 100644 index 000000000..d1c40aebc --- /dev/null +++ b/.changeset/witty-grapes-smoke.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/sdk": minor +--- + +Implement the KPI tokens blacklist filters in the fetcher diff --git a/.changeset/young-berries-beam.md b/.changeset/young-berries-beam.md new file mode 100644 index 000000000..a9622657a --- /dev/null +++ b/.changeset/young-berries-beam.md @@ -0,0 +1,5 @@ +--- +"@carrot-kpi/host-frontend": minor +--- + +Add dedicated hook for the blacklisted KPI tokens diff --git a/packages/frontend/.size-limit.json b/packages/frontend/.size-limit.json index 0aa4575cb..ec4949b67 100644 --- a/packages/frontend/.size-limit.json +++ b/packages/frontend/.size-limit.json @@ -1,6 +1,6 @@ [ { "path": "dist/", - "limit": "5 MB" + "limit": "4 MB" } ] diff --git a/packages/frontend/craco.config.js b/packages/frontend/craco.config.js index f0d192a9e..a2a462bbc 100644 --- a/packages/frontend/craco.config.js +++ b/packages/frontend/craco.config.js @@ -2,6 +2,7 @@ require("dotenv").config(); const WorkboxWebpackPlugin = require("workbox-webpack-plugin"); const webpack = require("webpack"); +const { EsbuildPlugin } = require("esbuild-loader"); const { join } = require("path"); const shared = require("./shared-dependencies.json"); const { getEnv } = require("./utils/env"); @@ -10,6 +11,19 @@ module.exports = { webpack: { configure: (config, { env }) => { const production = env === "production"; + + for (const rule of config.module.rules) { + for (oneOf of rule.oneOf) { + if (!oneOf.use) continue; + for (const use of oneOf.use) { + if (use.loader.includes("postcss-loader")) { + use.options.postcssOptions.plugins.push("cssnano"); + } + } + } + } + + config.optimization.minimizer = [new EsbuildPlugin({})]; config.plugins.push( new webpack.container.ModuleFederationPlugin({ name: "host", diff --git a/packages/frontend/package.json b/packages/frontend/package.json index df854acae..51c21b000 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -84,7 +84,9 @@ "autoprefixer": "^10.4.14", "buffer": "^6.0.3", "cross-env": "^7.0.3", + "cssnano": "^6.0.1", "dotenv": "^16.3.1", + "esbuild-loader": "^4.0.0", "eslint-config-custom": "*", "eslint-plugin-prettier": "^5.0.0", "i18next": "^23.2.3", diff --git a/packages/frontend/src/bootstrap.tsx b/packages/frontend/src/bootstrap.tsx index 058ae538d..8059c4743 100644 --- a/packages/frontend/src/bootstrap.tsx +++ b/packages/frontend/src/bootstrap.tsx @@ -17,7 +17,7 @@ import { HashRouter } from "react-router-dom"; import { type Chain, type ChainProviderFn, Connector } from "wagmi"; import { App } from "./pages/app"; -import { CarrotCoreProvider } from "@carrot-kpi/react"; +import { CoreProvider } from "@carrot-kpi/react"; import { getStandaloneConnectors, standaloneProviders, @@ -97,7 +97,7 @@ export const Root = ({ return ( - - + ); diff --git a/packages/frontend/src/constants/index.ts b/packages/frontend/src/constants/index.ts index ad25b3c0d..28a9d2931 100644 --- a/packages/frontend/src/constants/index.ts +++ b/packages/frontend/src/constants/index.ts @@ -63,9 +63,7 @@ export const DEFAULT_CHAIN: Chain = Object.values(ENABLED_CHAINS).filter( (chain) => chain.enabled, )[0]; -export const CARROT_DOMAIN = __PROD__ - ? "carrot-kpi.community" - : "carrot-kpi.dev"; +export const CARROT_DOMAIN = __PROD__ ? "carrot.community" : "carrot-kpi.dev"; export interface NavbarLink { // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/react/package.json b/packages/react/package.json index cde647e39..1466bcc91 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,14 +1,293 @@ { "name": "@carrot-kpi/react", + "license": "GPL-3.0-or-later", "author": "Federico Luzzi ", "version": "0.52.0", - "license": "GPL-3.0-or-later", "main": "./dist/index.js", "module": "./dist/index.js", "types": "./dist/index.d.ts", + "typings": "./dist/index.d.ts", + "sideEffects": false, "exports": { ".": { "import": "./dist/index.js" + }, + "./error-boundary": { + "types": "./dist/components/error-boundary.d.ts", + "import": "./dist/components/error-boundary.js" + }, + "./kpi-token-creation-form": { + "types": "./dist/components/kpi-token-creation-form.d.ts", + "import": "./dist/components/kpi-token-creation-form.js" + }, + "./kpi-token-page": { + "types": "./dist/components/kpi-token-page.d.ts", + "import": "./dist/components/kpi-token-page.js" + }, + "./oracle-creation-form": { + "types": "./dist/components/oracle-creation-form.d.ts", + "import": "./dist/components/oracle-creation-form.js" + }, + "./oracle-page": { + "types": "./dist/components/oracle-page.d.ts", + "import": "./dist/components/oracle-page.js" + }, + "./template-component": { + "types": "./dist/components/template-component.d.ts", + "import": "./dist/components/template-component.js" + }, + "./useDecentralizedStorageUploader": { + "types": "./dist/hooks/useDecentralizedStorageUploader.d.ts", + "import": "./dist/hooks/useDecentralizedStorageUploader.js" + }, + "./useDevMode": { + "types": "./dist/hooks/useDevMode.d.ts", + "import": "./dist/hooks/useDevMode.js" + }, + "./useERC20TokenPrice": { + "types": "./dist/hooks/useERC20TokenPrice.d.ts", + "import": "./dist/hooks/useERC20TokenPrice.js" + }, + "./useFederatedModuleContainer": { + "types": "./dist/hooks/useFederatedModuleContainer.d.ts", + "import": "./dist/hooks/useFederatedModuleContainer.js" + }, + "./useIPFSGatewayURL": { + "types": "./dist/hooks/useIPFSGatewayURL.d.ts", + "import": "./dist/hooks/useIPFSGatewayURL.js" + }, + "./useKPIToken": { + "types": "./dist/hooks/useKPIToken.d.ts", + "import": "./dist/hooks/useKPIToken.js" + }, + "./useKPITokenTemplate": { + "types": "./dist/hooks/useKPITokenTemplate.d.ts", + "import": "./dist/hooks/useKPITokenTemplate.js" + }, + "./useKPITokenTemplates": { + "types": "./dist/hooks/useKPITokenTemplates.d.ts", + "import": "./dist/hooks/useKPITokenTemplates.js" + }, + "./useKPITokens": { + "types": "./dist/hooks/useKPITokens.d.ts", + "import": "./dist/hooks/useKPITokens.js" + }, + "./useNativeCurrency": { + "types": "./dist/hooks/useNativeCurrency.d.ts", + "import": "./dist/hooks/useNativeCurrency.js" + }, + "./useOracle": { + "types": "./dist/hooks/useOracle.d.ts", + "import": "./dist/hooks/useOracle.js" + }, + "./useOracleTemplate": { + "types": "./dist/hooks/useOracleTemplate.d.ts", + "import": "./dist/hooks/useOracleTemplate.js" + }, + "./useOracleTemplates": { + "types": "./dist/hooks/useOracleTemplates.d.ts", + "import": "./dist/hooks/useOracleTemplates.js" + }, + "./usePagination": { + "types": "./dist/hooks/usePagination.d.ts", + "import": "./dist/hooks/usePagination.js" + }, + "./usePreferDecentralization": { + "types": "./dist/hooks/usePreferDecentralization.d.ts", + "import": "./dist/hooks/usePreferDecentralization.js" + }, + "./useResolvedKPIToken": { + "types": "./dist/hooks/useResolvedKPIToken.d.ts", + "import": "./dist/hooks/useResolvedKPIToken.js" + }, + "./useResolvedTemplate": { + "types": "./dist/hooks/useResolvedTemplate.d.ts", + "import": "./dist/hooks/useResolvedTemplate.js" + }, + "./useResolvedTemplates": { + "types": "./dist/hooks/useResolvedTemplates.d.ts", + "import": "./dist/hooks/useResolvedTemplates.js" + }, + "./useSetDevMode": { + "types": "./dist/hooks/useSetDevMode.d.ts", + "import": "./dist/hooks/useSetDevMode.js" + }, + "./useSetIPFSGatewayURL": { + "types": "./dist/hooks/useSetIPFSGatewayURL.d.ts", + "import": "./dist/hooks/useSetIPFSGatewayURL.js" + }, + "./useSetKPITokenTemplateBaseURL": { + "types": "./dist/hooks/useSetKPITokenTemplateBaseURL.d.ts", + "import": "./dist/hooks/useSetKPITokenTemplateBaseURL.js" + }, + "./useSetOracleTemplateBaseURL": { + "types": "./dist/hooks/useSetOracleTemplateBaseURL.d.ts", + "import": "./dist/hooks/useSetOracleTemplateBaseURL.js" + }, + "./useSetPreferDecentralization": { + "types": "./dist/hooks/useSetPreferDecentralization.d.ts", + "import": "./dist/hooks/useSetPreferDecentralization.js" + }, + "./useSetStagingMode": { + "types": "./dist/hooks/useSetStagingMode.d.ts", + "import": "./dist/hooks/useSetStagingMode.js" + }, + "./useSetTheme": { + "types": "./dist/hooks/useSetTheme.d.ts", + "import": "./dist/hooks/useSetTheme.js" + }, + "./useStagingMode": { + "types": "./dist/hooks/useStagingMode.d.ts", + "import": "./dist/hooks/useStagingMode.js" + }, + "./useTemplateModule": { + "types": "./dist/hooks/useTemplateModule.d.ts", + "import": "./dist/hooks/useTemplateModule.js" + }, + "./useTheme": { + "types": "./dist/hooks/useTheme.d.ts", + "import": "./dist/hooks/useTheme.js" + }, + "./useTokenLists": { + "types": "./dist/hooks/useTokenLists.d.ts", + "import": "./dist/hooks/useTokenLists.js" + }, + "./useWatchKPIToken": { + "types": "./dist/hooks/useWatchKPIToken.d.ts", + "import": "./dist/hooks/useWatchKPIToken.js" + }, + "./types/templates": { + "types": "./dist/types/templates.d.ts", + "import": "./dist/types/templates.js" + }, + "./types/transactions": { + "types": "./dist/types/transactions.d.ts", + "import": "./dist/types/transactions.js" + }, + "./core-provider": { + "types": "./dist/core-provider.d.ts", + "import": "./dist/core-provider.js" + } + }, + "typesVersions": { + "*": { + "error-boundary": [ + "./dist/components/error-boundary.d.ts" + ], + "kpi-token-creation-form": [ + "./dist/components/kpi-token-creation-form.d.ts" + ], + "kpi-token-page": [ + "./dist/components/kpi-token-page.d.ts" + ], + "oracle-creation-form": [ + "./dist/components/oracle-creation-form.d.ts" + ], + "oracle-page": [ + "./dist/components/oracle-page.d.ts" + ], + "template-component": [ + "./dist/components/template-component.d.ts" + ], + "useDecentralizedStorageUploader": [ + "./dist/hooks/useDecentralizedStorageUploader.d.ts" + ], + "useDevMode": [ + "./dist/hooks/useDevMode.d.ts" + ], + "useERC20TokenPrice": [ + "./dist/hooks/useERC20TokenPrice.d.ts" + ], + "useFederatedModuleContainer": [ + "./dist/hooks/useFederatedModuleContainer.d.ts" + ], + "useIPFSGatewayURL": [ + "./dist/hooks/useIPFSGatewayURL.d.ts" + ], + "useKPIToken": [ + "./dist/hooks/useKPIToken.d.ts" + ], + "useKPITokenTemplate": [ + "./dist/hooks/useKPITokenTemplate.d.ts" + ], + "useKPITokenTemplates": [ + "./dist/hooks/useKPITokenTemplates.d.ts" + ], + "useKPITokens": [ + "./dist/hooks/useKPITokens.d.ts" + ], + "useNativeCurrency": [ + "./dist/hooks/useNativeCurrency.d.ts" + ], + "useOracle": [ + "./dist/hooks/useOracle.d.ts" + ], + "useOracleTemplate": [ + "./dist/hooks/useOracleTemplate.d.ts" + ], + "useOracleTemplates": [ + "./dist/hooks/useOracleTemplates.d.ts" + ], + "usePagination": [ + "./dist/hooks/usePagination.d.ts" + ], + "usePreferDecentralization": [ + "./dist/hooks/usePreferDecentralization.d.ts" + ], + "useResolvedKPIToken": [ + "./dist/hooks/useResolvedKPIToken.d.ts" + ], + "useResolvedTemplate": [ + "./dist/hooks/useResolvedTemplate.d.ts" + ], + "useResolvedTemplates": [ + "./dist/hooks/useResolvedTemplates.d.ts" + ], + "useSetDevMode": [ + "./dist/hooks/useSetDevMode.d.ts" + ], + "useSetIPFSGatewayURL": [ + "./dist/hooks/useSetIPFSGatewayURL.d.ts" + ], + "useSetKPITokenTemplateBaseURL": [ + "./dist/hooks/useSetKPITokenTemplateBaseURL.d.ts" + ], + "useSetOracleTemplateBaseURL": [ + "./dist/hooks/useSetOracleTemplateBaseURL.d.ts" + ], + "useSetPreferDecentralization": [ + "./dist/hooks/useSetPreferDecentralization.d.ts" + ], + "useSetStagingMode": [ + "./dist/hooks/useSetStagingMode.d.ts" + ], + "useSetTheme": [ + "./dist/hooks/useSetTheme.d.ts" + ], + "useStagingMode": [ + "./dist/hooks/useStagingMode.d.ts" + ], + "useTemplateModule": [ + "./dist/hooks/useTemplateModule.d.ts" + ], + "useTheme": [ + "./dist/hooks/useTheme.d.ts" + ], + "useTokenLists": [ + "./dist/hooks/useTokenLists.d.ts" + ], + "useWatchKPIToken": [ + "./dist/hooks/useWatchKPIToken.d.ts" + ], + "types/templates": [ + "./dist/types/templates.d.ts" + ], + "types/transactions": [ + "./dist/types/transactions.d.ts" + ], + "core-provider": [ + "./dist/core-provider.d.ts" + ] } }, "publishConfig": { diff --git a/packages/react/rollup.config.mjs b/packages/react/rollup.config.mjs index b521679aa..ef2bc833e 100644 --- a/packages/react/rollup.config.mjs +++ b/packages/react/rollup.config.mjs @@ -6,7 +6,48 @@ import typescript from "rollup-plugin-typescript2"; export default [ { - input: resolve("src/index.ts"), + input: [ + "src/components/error-boundary.ts", + "src/components/kpi-token-creation-form.tsx", + "src/components/kpi-token-page.tsx", + "src/components/oracle-creation-form.tsx", + "src/components/oracle-page.tsx", + "src/components/template-component.tsx", + "src/hooks/useDecentralizedStorageUploader.ts", + "src/hooks/useDevMode.ts", + "src/hooks/useERC20TokenPrice.ts", + "src/hooks/useIPFSGatewayURL.ts", + "src/hooks/useKPIToken.ts", + "src/hooks/useKPITokenTemplate.ts", + "src/hooks/useKPITokenTemplates.ts", + "src/hooks/useKPITokens.ts", + "src/hooks/useNativeCurrency.ts", + "src/hooks/useOracle.ts", + "src/hooks/useOracleTemplate.ts", + "src/hooks/useOracleTemplates.ts", + "src/hooks/usePagination.ts", + "src/hooks/usePreferDecentralization.ts", + "src/hooks/useResolvedKPIToken.ts", + "src/hooks/useResolvedTemplate.ts", + "src/hooks/useResolvedTemplates.ts", + "src/hooks/useSetDevMode.ts", + "src/hooks/useSetIPFSGatewayURL.ts", + "src/hooks/useSetKPITokenTemplateBaseURL.ts", + "src/hooks/useSetOracleTemplateBaseURL.ts", + "src/hooks/useSetPreferDecentralization.ts", + "src/hooks/useSetStagingMode.ts", + "src/hooks/useSetTheme.ts", + "src/hooks/useStagingMode.ts", + "src/hooks/useTemplateModule.ts", + "src/hooks/useTheme.ts", + "src/hooks/useTokenLists.ts", + "src/hooks/useWatchKPIToken.ts", + "src/types/templates.ts", + "src/types/transactions.ts", + "src/core-provider.tsx", + "src/i18n.ts", + "src/index.ts", + ], preserveSymlinks: true, plugins: [ peerDepsExternal(), @@ -15,10 +56,11 @@ export default [ typescript(), ], output: { - file: resolve("dist/index.js"), + dir: resolve("./dist"), + preserveModules: true, + preserveModulesRoot: "src", format: "es", sourcemap: true, - inlineDynamicImports: true, }, }, ]; diff --git a/packages/react/src/components/creation-form/index.ts b/packages/react/src/components/creation-form/index.ts deleted file mode 100644 index ab124daee..000000000 --- a/packages/react/src/components/creation-form/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./kpi-token"; -export * from "./oracle"; diff --git a/packages/react/src/components/error-boundary/index.ts b/packages/react/src/components/error-boundary.ts similarity index 100% rename from packages/react/src/components/error-boundary/index.ts rename to packages/react/src/components/error-boundary.ts diff --git a/packages/react/src/components/index.ts b/packages/react/src/components/index.ts deleted file mode 100644 index f47b56430..000000000 --- a/packages/react/src/components/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./creation-form"; -export * from "./pages"; -export * from "./template-component"; diff --git a/packages/react/src/components/creation-form/kpi-token/index.tsx b/packages/react/src/components/kpi-token-creation-form.tsx similarity index 80% rename from packages/react/src/components/creation-form/kpi-token/index.tsx rename to packages/react/src/components/kpi-token-creation-form.tsx index 86c6bc742..cea72800c 100644 --- a/packages/react/src/components/creation-form/kpi-token/index.tsx +++ b/packages/react/src/components/kpi-token-creation-form.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { ReactElement } from "react"; -import type { KPITokenCreationFormProps } from "../../../types/templates"; -import { TemplateComponent } from "../../template-component"; +import type { KPITokenCreationFormProps } from "../types/templates"; +import { TemplateComponent } from "./template-component"; export function KPITokenCreationForm({ template, diff --git a/packages/react/src/components/pages/kpi-token/index.tsx b/packages/react/src/components/kpi-token-page.tsx similarity index 80% rename from packages/react/src/components/pages/kpi-token/index.tsx rename to packages/react/src/components/kpi-token-page.tsx index c8a4c340d..e164c1e55 100644 --- a/packages/react/src/components/pages/kpi-token/index.tsx +++ b/packages/react/src/components/kpi-token-page.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { ReactElement } from "react"; -import { TemplateComponent } from "../../template-component"; -import type { KPITokenPageProps } from "../../../types/templates"; +import { TemplateComponent } from "./template-component"; +import type { KPITokenPageProps } from "../types/templates"; export function KPITokenPage({ fallback, diff --git a/packages/react/src/components/creation-form/oracle/index.tsx b/packages/react/src/components/oracle-creation-form.tsx similarity index 80% rename from packages/react/src/components/creation-form/oracle/index.tsx rename to packages/react/src/components/oracle-creation-form.tsx index 2f509858d..a702cc13f 100644 --- a/packages/react/src/components/creation-form/oracle/index.tsx +++ b/packages/react/src/components/oracle-creation-form.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { ReactElement } from "react"; -import type { OracleCreationFormProps } from "../../../types/templates"; -import { TemplateComponent } from "../../template-component"; +import type { OracleCreationFormProps } from "../types/templates"; +import { TemplateComponent } from "./template-component"; export function OracleCreationForm({ template, diff --git a/packages/react/src/components/pages/oracle/index.tsx b/packages/react/src/components/oracle-page.tsx similarity index 80% rename from packages/react/src/components/pages/oracle/index.tsx rename to packages/react/src/components/oracle-page.tsx index 743920043..0c6b1c829 100644 --- a/packages/react/src/components/pages/oracle/index.tsx +++ b/packages/react/src/components/oracle-page.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { ReactElement } from "react"; -import { TemplateComponent } from "../../template-component"; -import type { OraclePageProps } from "../../../types/templates"; +import { TemplateComponent } from "./template-component"; +import type { OraclePageProps } from "../types/templates"; export function OraclePage({ fallback, diff --git a/packages/react/src/components/pages/index.ts b/packages/react/src/components/pages/index.ts deleted file mode 100644 index ab124daee..000000000 --- a/packages/react/src/components/pages/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./kpi-token"; -export * from "./oracle"; diff --git a/packages/react/src/components/template-component/index.tsx b/packages/react/src/components/template-component.tsx similarity index 89% rename from packages/react/src/components/template-component/index.tsx rename to packages/react/src/components/template-component.tsx index 1a4d456b8..d057c9630 100644 --- a/packages/react/src/components/template-component/index.tsx +++ b/packages/react/src/components/template-component.tsx @@ -1,13 +1,14 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import React, { useEffect, useLayoutEffect } from "react"; -import { useTemplateModule } from "../../hooks/useTemplateModule"; -import { addBundleForTemplate } from "../../i18n"; +import { useTemplateModule } from "../hooks/useTemplateModule"; +import { addBundleForTemplate } from "../i18n"; import { useState } from "react"; import { cva } from "class-variance-authority"; -import { useStagingMode, useTheme } from "../../hooks"; +import { useStagingMode } from "../hooks/useStagingMode"; +import { useTheme } from "../hooks/useTheme"; import { useMedia } from "react-use"; -import { ErrorBoundary } from "../error-boundary"; -import type { BaseTemplateComponentProps } from "../../types"; +import { ErrorBoundary } from "./error-boundary"; +import type { BaseTemplateComponentProps } from "../types/templates"; import { useNetwork } from "wagmi"; const wrapperStyles = cva(["w-full", "h-full"], { diff --git a/packages/react/src/providers/core-provider/index.tsx b/packages/react/src/core-provider.tsx similarity index 93% rename from packages/react/src/providers/core-provider/index.tsx rename to packages/react/src/core-provider.tsx index ae77778bd..74ea104a9 100644 --- a/packages/react/src/providers/core-provider/index.tsx +++ b/packages/react/src/core-provider.tsx @@ -12,7 +12,7 @@ import { ReactSharedStateProvider } from "@carrot-kpi/shared-state"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { persistQueryClient } from "@tanstack/react-query-persist-client"; import { createSyncStoragePersister } from "@tanstack/query-sync-storage-persister"; -import { useSetIPFSGatewayURL } from "../../hooks/useSetIPFSGatewayURL"; +import { useSetIPFSGatewayURL } from "./hooks/useSetIPFSGatewayURL"; interface InternalSetupProps { children: ReactNode; @@ -55,7 +55,7 @@ const InternalSetup = ({ return {children}; }; -interface CarrotCoreProviderProps { +interface CoreProviderProps { children: ReactNode; supportedChains: Chain[]; providers: ChainProviderFn[]; @@ -64,14 +64,14 @@ interface CarrotCoreProviderProps { reactQueryClient: QueryClient; } -export const CarrotCoreProvider = ({ +export const CoreProvider = ({ children, supportedChains, providers, getConnectors, ipfsGatewayURL, reactQueryClient, -}: CarrotCoreProviderProps) => { +}: CoreProviderProps) => { persistQueryClient({ queryClient: reactQueryClient, persister: createSyncStoragePersister({ diff --git a/packages/react/src/hooks/index.ts b/packages/react/src/hooks/index.ts deleted file mode 100644 index 9ca7e4ec4..000000000 --- a/packages/react/src/hooks/index.ts +++ /dev/null @@ -1,31 +0,0 @@ -export * from "./useDecentralizedStorageUploader"; -export * from "./useDevMode"; -export * from "./useERC20TokenPrice"; -export * from "./useFederatedModuleContainer"; -export * from "./useIPFSGatewayURL"; -export * from "./useKPIToken"; -export * from "./useKPITokens"; -export * from "./useKPITokenTemplate"; -export * from "./useKPITokenTemplates"; -export * from "./useNativeCurrency"; -export * from "./useOracle"; -export * from "./useOracleTemplate"; -export * from "./useOracleTemplates"; -export * from "./usePagination"; -export * from "./usePreferDecentralization"; -export * from "./useSetKPITokenTemplateBaseURL"; -export * from "./useSetOracleTemplateBaseURL"; -export * from "./useSetPreferDecentralization"; -export * from "./useSetStagingMode"; -export * from "./useResetPageScroll"; -export * from "./useResolvedKPIToken"; -export * from "./useResolvedTemplate"; -export * from "./useResolvedTemplates"; -export * from "./useSetDevMode"; -export * from "./useSetIPFSGatewayURL"; -export * from "./useSetTheme"; -export * from "./useStagingMode"; -export * from "./useTemplateModule"; -export * from "./useTheme"; -export * from "./useTokenLists"; -export * from "./useWatchKPIToken"; diff --git a/packages/react/src/hooks/useFederatedModuleContainer.ts b/packages/react/src/hooks/useFederatedModuleContainer.ts index bbb655a81..b9306079e 100644 --- a/packages/react/src/hooks/useFederatedModuleContainer.ts +++ b/packages/react/src/hooks/useFederatedModuleContainer.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { useEffect, useState } from "react"; -import type { TemplateType } from "../types"; +import type { TemplateType } from "../types/templates"; declare let __webpack_share_scopes__: { default: any; diff --git a/packages/react/src/hooks/useResetPageScroll.ts b/packages/react/src/hooks/useResetPageScroll.ts deleted file mode 100644 index c3ee8368b..000000000 --- a/packages/react/src/hooks/useResetPageScroll.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { useEffect } from "react"; - -export const useResetPageScroll = () => { - useEffect(() => { - const bodyElement = window.document.getElementById("__app_body"); - if (!bodyElement) return; - bodyElement.scroll({ top: 0, left: 0, behavior: "smooth" }); - }, []); -}; diff --git a/packages/react/src/hooks/useTemplateModule.ts b/packages/react/src/hooks/useTemplateModule.ts index 6a1b293ae..001e641bc 100644 --- a/packages/react/src/hooks/useTemplateModule.ts +++ b/packages/react/src/hooks/useTemplateModule.ts @@ -16,7 +16,7 @@ import type { RemoteComponentProps, TemplateEntity, TemplateType, -} from "../types"; +} from "../types/templates"; type ComponentType< E extends TemplateEntity, diff --git a/packages/react/src/i18n/index.ts b/packages/react/src/i18n.ts similarity index 100% rename from packages/react/src/i18n/index.ts rename to packages/react/src/i18n.ts diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index a20a9c027..4bda86415 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1,5 +1,42 @@ -export * from "./hooks"; -export * from "./components"; +export * from "./components/error-boundary"; +export * from "./components/kpi-token-creation-form"; +export * from "./components/kpi-token-page"; +export * from "./components/oracle-creation-form"; +export * from "./components/oracle-page"; +export * from "./components/template-component"; + +export * from "./hooks/useDecentralizedStorageUploader"; +export * from "./hooks/useDevMode"; +export * from "./hooks/useERC20TokenPrice"; +export * from "./hooks/useIPFSGatewayURL"; +export * from "./hooks/useKPIToken"; +export * from "./hooks/useKPITokenTemplate"; +export * from "./hooks/useKPITokenTemplates"; +export * from "./hooks/useKPITokens"; +export * from "./hooks/useNativeCurrency"; +export * from "./hooks/useOracle"; +export * from "./hooks/useOracleTemplate"; +export * from "./hooks/useOracleTemplates"; +export * from "./hooks/usePagination"; +export * from "./hooks/usePreferDecentralization"; +export * from "./hooks/useResolvedKPIToken"; +export * from "./hooks/useResolvedTemplate"; +export * from "./hooks/useResolvedTemplates"; +export * from "./hooks/useSetDevMode"; +export * from "./hooks/useSetIPFSGatewayURL"; +export * from "./hooks/useSetKPITokenTemplateBaseURL"; +export * from "./hooks/useSetOracleTemplateBaseURL"; +export * from "./hooks/useSetPreferDecentralization"; +export * from "./hooks/useSetStagingMode"; +export * from "./hooks/useSetTheme"; +export * from "./hooks/useStagingMode"; +export * from "./hooks/useTemplateModule"; +export * from "./hooks/useTheme"; +export * from "./hooks/useTokenLists"; +export * from "./hooks/useWatchKPIToken"; + +export * from "./types/templates"; +export * from "./types/transactions"; + export * from "./i18n"; -export * from "./providers"; -export * from "./types"; +export * from "./core-provider"; diff --git a/packages/react/src/providers/index.ts b/packages/react/src/providers/index.ts deleted file mode 100644 index f1de79856..000000000 --- a/packages/react/src/providers/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./core-provider"; diff --git a/packages/react/src/types/index.ts b/packages/react/src/types/index.ts deleted file mode 100644 index ec3a6a8b5..000000000 --- a/packages/react/src/types/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./templates"; -export * from "./transactions"; diff --git a/packages/react/src/types/templates.ts b/packages/react/src/types/templates.ts index 47d3afd0f..bd703503e 100644 --- a/packages/react/src/types/templates.ts +++ b/packages/react/src/types/templates.ts @@ -4,7 +4,7 @@ import { ResolvedOracleWithData, } from "@carrot-kpi/sdk"; import type { i18n } from "i18next"; -import type { NamespacedTranslateFunction } from "../components"; +import type { NamespacedTranslateFunction } from "../components/template-component"; import { type Tx, TxType } from "./transactions"; import type { NavigateFunction } from "react-router-dom"; import { ResolvedTemplate } from "@carrot-kpi/sdk"; diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 2d86aba70..5cb378b4e 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -8,9 +8,86 @@ "main": "./dist/index.js", "module": "./dist/index.js", "types": "./dist/index.d.ts", + "typings": "./dist/index.d.ts", + "sideEffects": false, "exports": { ".": { + "types": "./dist/index.d.ts", "import": "./dist/index.js" + }, + "./commons": { + "types": "./dist/commons.d.ts", + "import": "./dist/commons.js" + }, + "./cacher": { + "types": "./dist/cacher.d.ts", + "import": "./dist/cacher.js" + }, + "./fetcher": { + "types": "./dist/fetcher/index.d.ts", + "import": "./dist/fetcher/index.js" + }, + "./utils": { + "types": "./dist/utils/index.d.ts", + "import": "./dist/utils/index.js" + }, + "./entities/amount": { + "types": "./dist/entities/amount.d.ts", + "import": "./dist/entities/amount.js" + }, + "./entities/currency": { + "types": "./dist/entities/currency.d.ts", + "import": "./dist/entities/currency.js" + }, + "./entities/kpi-token": { + "types": "./dist/entities/kpi-token.d.ts", + "import": "./dist/entities/kpi-token.js" + }, + "./entities/oracle": { + "types": "./dist/entities/oracle.d.ts", + "import": "./dist/entities/oracle.js" + }, + "./entities/template": { + "types": "./dist/entities/template.d.ts", + "import": "./dist/entities/template.js" + }, + "./entities/token": { + "types": "./dist/entities/token.d.ts", + "import": "./dist/entities/token.js" + } + }, + "typesVersions": { + "*": { + "commons": [ + "./dist/commons.d.ts" + ], + "cacher": [ + "./dist/cacher.d.ts" + ], + "fetcher": [ + "./dist/fetcher/index.d.ts" + ], + "utils": [ + "./dist/utils/index.d.ts" + ], + "entities/amount": [ + "./dist/entities/amount.d.ts" + ], + "entities/currency": [ + "./dist/entities/currency.d.ts" + ], + "entities/kpi-token": [ + "./dist/entities/kpi-token.d.ts" + ], + "entities/oracle": [ + "./dist/entities/oracle.d.ts" + ], + "entities/template": [ + "./dist/entities/template.d.ts" + ], + "entities/token": [ + "./dist/entities/token.d.ts" + ] } }, "publishConfig": { diff --git a/packages/sdk/rollup.config.mjs b/packages/sdk/rollup.config.mjs index 26d8b84f4..e7f5b9e51 100644 --- a/packages/sdk/rollup.config.mjs +++ b/packages/sdk/rollup.config.mjs @@ -6,8 +6,19 @@ import typescript from "rollup-plugin-typescript2"; export default [ { - input: resolve("./src/index.ts"), - preserveSymlinks: true, + input: [ + "src/index.ts", + "src/commons.ts", + "src/cacher.ts", + "src/fetcher/index.ts", + "src/utils/index.ts", + "src/entities/amount.ts", + "src/entities/currency.ts", + "src/entities/kpi-token.ts", + "src/entities/oracle.ts", + "src/entities/template.ts", + "src/entities/token.ts", + ], plugins: [ peerDepsExternal(), nodeResolve({ preferBuiltins: true }), @@ -16,10 +27,11 @@ export default [ ], output: [ { - file: resolve("./dist/index.js"), + dir: resolve("./dist"), + preserveModules: true, + preserveModulesRoot: "src", format: "es", sourcemap: true, - inlineDynamicImports: true, }, ], }, diff --git a/packages/sdk/src/commons/index.ts b/packages/sdk/src/commons.ts similarity index 84% rename from packages/sdk/src/commons/index.ts rename to packages/sdk/src/commons.ts index 7655fb5e1..db5861f7a 100644 --- a/packages/sdk/src/commons/index.ts +++ b/packages/sdk/src/commons.ts @@ -1,10 +1,10 @@ -import FACTORY_ABI from "../abis/factory"; -import KPI_TOKEN_ABI from "../abis/kpi-token"; -import ORACLE_ABI from "../abis/oracle"; -import KPI_TOKENS_MANAGER_ABI from "../abis/kpi-tokens-manager"; -import ORACLES_MANAGER_ABI from "../abis/oracles-manager"; -import ERC20_ABI from "../abis/erc20"; -import { Cacher } from "../cacher"; +import FACTORY_ABI from "./abis/factory"; +import KPI_TOKEN_ABI from "./abis/kpi-token"; +import ORACLE_ABI from "./abis/oracle"; +import KPI_TOKENS_MANAGER_ABI from "./abis/kpi-tokens-manager"; +import ORACLES_MANAGER_ABI from "./abis/oracles-manager"; +import ERC20_ABI from "./abis/erc20"; +import { Cacher } from "./cacher"; import { type Address } from "viem"; export enum ChainId { diff --git a/packages/sdk/src/entities/amount/index.ts b/packages/sdk/src/entities/amount.ts similarity index 93% rename from packages/sdk/src/entities/amount/index.ts rename to packages/sdk/src/entities/amount.ts index 9b024b792..1a4aacb47 100644 --- a/packages/sdk/src/entities/amount/index.ts +++ b/packages/sdk/src/entities/amount.ts @@ -1,8 +1,8 @@ -import { Token, currencyEquals } from "../token"; -import { Currency } from "../currency"; +import { Token, currencyEquals } from "./token"; +import { Currency } from "./currency"; import { formatUnits } from "viem"; import Decimal from "decimal.js-light"; -import { enforce } from "../../utils"; +import { enforce } from "../utils"; export type TokenOrCurrency = Token | Currency; diff --git a/packages/sdk/src/entities/currency/index.ts b/packages/sdk/src/entities/currency.ts similarity index 100% rename from packages/sdk/src/entities/currency/index.ts rename to packages/sdk/src/entities/currency.ts diff --git a/packages/sdk/src/entities/kpi-token/index.ts b/packages/sdk/src/entities/kpi-token.ts similarity index 97% rename from packages/sdk/src/entities/kpi-token/index.ts rename to packages/sdk/src/entities/kpi-token.ts index 3200f3805..6a892e813 100644 --- a/packages/sdk/src/entities/kpi-token/index.ts +++ b/packages/sdk/src/entities/kpi-token.ts @@ -1,6 +1,6 @@ -import { Template, ResolvedTemplate } from "../template"; -import { Oracle, ResolvedOracle, ResolvedOracleWithData } from "../oracle"; -import { ChainId } from "../../commons"; +import { Template, ResolvedTemplate } from "./template"; +import { Oracle, ResolvedOracle, ResolvedOracleWithData } from "./oracle"; +import { ChainId } from "../commons"; import { type Address, type Hex } from "viem"; export interface KPITokenSpecification { diff --git a/packages/sdk/src/entities/oracle/index.ts b/packages/sdk/src/entities/oracle.ts similarity index 92% rename from packages/sdk/src/entities/oracle/index.ts rename to packages/sdk/src/entities/oracle.ts index ecde3ae2f..e87961b17 100644 --- a/packages/sdk/src/entities/oracle/index.ts +++ b/packages/sdk/src/entities/oracle.ts @@ -1,6 +1,6 @@ import { type Address, type Hex } from "viem"; -import { ChainId } from "../../commons"; -import { Template, ResolvedTemplate } from "../template"; +import { ChainId } from "../commons"; +import { Template, ResolvedTemplate } from "./template"; export class BaseOracle { constructor( diff --git a/packages/sdk/src/entities/template/index.ts b/packages/sdk/src/entities/template.ts similarity index 100% rename from packages/sdk/src/entities/template/index.ts rename to packages/sdk/src/entities/template.ts diff --git a/packages/sdk/src/entities/token/index.ts b/packages/sdk/src/entities/token.ts similarity index 91% rename from packages/sdk/src/entities/token/index.ts rename to packages/sdk/src/entities/token.ts index 860eef260..1346bdad0 100644 --- a/packages/sdk/src/entities/token/index.ts +++ b/packages/sdk/src/entities/token.ts @@ -1,6 +1,6 @@ import { isAddress, getAddress, type Address } from "viem"; -import { Currency } from "../currency"; -import { enforce } from "../../utils/invariant"; +import { Currency } from "./currency"; +import { enforce } from "../utils/invariant"; export class Token extends Currency { public readonly address: Address; diff --git a/packages/sdk/src/fetcher/abstraction/index.ts b/packages/sdk/src/fetcher/abstraction.ts similarity index 94% rename from packages/sdk/src/fetcher/abstraction/index.ts rename to packages/sdk/src/fetcher/abstraction.ts index b66cd475d..0eea7c803 100644 --- a/packages/sdk/src/fetcher/abstraction/index.ts +++ b/packages/sdk/src/fetcher/abstraction.ts @@ -1,10 +1,10 @@ import type { Address, PublicClient } from "viem"; -import { ChainId } from "../../commons"; -import { KPIToken } from "../../entities/kpi-token"; -import { Oracle } from "../../entities/oracle"; -import { ResolvedTemplate, Template } from "../../entities/template"; -import { Token } from "../../entities/token"; -import type { ResolvedKPITokensMap, ResolvedOraclesMap } from "../types"; +import { ChainId } from "../commons"; +import { KPIToken } from "../entities/kpi-token"; +import { Oracle } from "../entities/oracle"; +import { ResolvedTemplate, Template } from "../entities/template"; +import { Token } from "../entities/token"; +import type { ResolvedKPITokensMap, ResolvedOraclesMap } from "./types"; export interface FetchERC20TokensParams { publicClient: PublicClient; diff --git a/packages/sdk/src/fetcher/core/index.ts b/packages/sdk/src/fetcher/core.ts similarity index 94% rename from packages/sdk/src/fetcher/core/index.ts rename to packages/sdk/src/fetcher/core.ts index e3826aab8..ef7610342 100644 --- a/packages/sdk/src/fetcher/core/index.ts +++ b/packages/sdk/src/fetcher/core.ts @@ -1,14 +1,9 @@ -import { CHAIN_ADDRESSES, ChainId, ERC20_ABI } from "../../commons"; -import { - cacheERC20Token, - enforce, - getCachedERC20Token, - warn, -} from "../../utils"; +import { CHAIN_ADDRESSES, ChainId, ERC20_ABI } from "../commons"; +import { cacheERC20Token, enforce, getCachedERC20Token, warn } from "../utils"; import { type Address } from "viem"; -import { Token } from "../../entities/token"; -import BYTES_NAME_ERC20_ABI from "../../abis/erc20-name-bytes"; -import BYTES_SYMBOL_ERC20_ABI from "../../abis/erc20-symbol-bytes"; +import { Token } from "../entities/token"; +import BYTES_NAME_ERC20_ABI from "../abis/erc20-name-bytes"; +import BYTES_SYMBOL_ERC20_ABI from "../abis/erc20-symbol-bytes"; import type { FetchContentFromIPFSParams, FetchERC20TokensParams, @@ -16,14 +11,11 @@ import type { ResolveKPITokensParams, ResolveOraclesParams, ResolveTemplatesParams, -} from "../abstraction"; -import { KPIToken, ResolvedKPIToken } from "../../entities/kpi-token"; -import { Oracle, ResolvedOracle } from "../../entities/oracle"; -import { - ResolvedTemplate, - TemplateSpecification, -} from "../../entities/template"; -import type { ResolvedKPITokensMap, ResolvedOraclesMap } from "../types"; +} from "./abstraction"; +import { KPIToken, ResolvedKPIToken } from "../entities/kpi-token"; +import { Oracle, ResolvedOracle } from "../entities/oracle"; +import { ResolvedTemplate, TemplateSpecification } from "../entities/template"; +import type { ResolvedKPITokensMap, ResolvedOraclesMap } from "./types"; // TODO: check if validation can be extracted in its own function export class CoreFetcher implements ICoreFetcher { diff --git a/packages/sdk/src/fetcher/on-chain/index.ts b/packages/sdk/src/fetcher/on-chain.ts similarity index 91% rename from packages/sdk/src/fetcher/on-chain/index.ts rename to packages/sdk/src/fetcher/on-chain.ts index acdf9a2aa..7fe2d1b72 100644 --- a/packages/sdk/src/fetcher/on-chain/index.ts +++ b/packages/sdk/src/fetcher/on-chain.ts @@ -7,11 +7,11 @@ import { ChainId, ORACLES_MANAGER_ABI, type ChainAddresses, -} from "../../commons"; -import { KPIToken } from "../../entities/kpi-token"; -import { type OnChainTemplate, Template } from "../../entities/template"; -import { Oracle } from "../../entities/oracle"; -import { enforce } from "../../utils"; +} from "../commons"; +import { KPIToken } from "../entities/kpi-token"; +import { type OnChainTemplate, Template } from "../entities/template"; +import { Oracle } from "../entities/oracle"; +import { enforce } from "../utils"; import type { FetchKPITokenAddressesParams, FetchKPITokensAmountParams, @@ -20,9 +20,8 @@ import type { FetchOraclesParams, FetchTemplatesParams, IPartialCarrotFetcher, -} from "../abstraction"; +} from "./abstraction"; import type { Address, PublicClient } from "viem"; -import { getContract } from "viem"; class Fetcher implements IPartialCarrotFetcher { public supportedInChain(): boolean { @@ -135,7 +134,6 @@ class Fetcher implements IPartialCarrotFetcher { (address) => !blacklisted.includes(address), ) : tokenAddresses; - console.log("fetcher", { tokenAddresses, blacklisted }); const kpiTokenResult = await publicClient.multicall({ multicallAddress: chainAddresses.multicall3, allowFailure: false, @@ -205,7 +203,6 @@ class Fetcher implements IPartialCarrotFetcher { const kpiTokenOracleAddresses = kpiTokenResult[ i * 7 + 3 ] as Address[]; - console.log("loop", { kpiTokenOracleAddresses, kpiTokenResult }); const kpiTokenExpiration = Number( kpiTokenResult[i * 7 + 4] as bigint, ); @@ -250,19 +247,23 @@ class Fetcher implements IPartialCarrotFetcher { }: FetchOraclesParams): Promise<{ [address: string]: Oracle }> { const chainId = await publicClient.getChainId(); const { chainAddresses } = await this.validate({ publicClient }); - const oraclesManager = getContract({ + + const oracleAmounts = await publicClient.readContract({ abi: ORACLES_MANAGER_ABI, address: chainAddresses.oraclesManager, - publicClient: publicClient, + functionName: "templatesAmount", }); - - const oracleAmounts = await oraclesManager.read.templatesAmount(); if (oracleAmounts == 0n) return {}; const oracleAddresses = addresses && addresses.length > 0 ? addresses : ( - await oraclesManager.read.enumerate([0n, oracleAmounts]) + await publicClient.readContract({ + abi: ORACLES_MANAGER_ABI, + address: chainAddresses.oraclesManager, + functionName: "enumerate", + args: [0n, oracleAmounts], + }) ).map((oracle) => oracle.addrezz); const oraclesResult = await publicClient.multicall({ @@ -308,12 +309,6 @@ class Fetcher implements IPartialCarrotFetcher { ): Promise { const { chainAddresses } = await this.validate({ publicClient }); - const managerContract = getContract({ - abi: KPI_TOKENS_MANAGER_ABI, - address: managerAddress, - publicClient: publicClient, - }); - let rawTemplates; if (ids && ids.length > 0) { rawTemplates = (await publicClient.multicall({ @@ -329,13 +324,18 @@ class Fetcher implements IPartialCarrotFetcher { }), })) as OnChainTemplate[]; } else { - const templatesAmount = - await managerContract.read.templatesAmount(); + const templatesAmount = await publicClient.readContract({ + abi: KPI_TOKENS_MANAGER_ABI, + address: managerAddress, + functionName: "templatesAmount", + }); if (templatesAmount == 0n) return []; - rawTemplates = await managerContract.read.enumerate([ - 0n, - templatesAmount, - ]); + rawTemplates = await publicClient.readContract({ + abi: KPI_TOKENS_MANAGER_ABI, + address: managerAddress, + functionName: "enumerate", + args: [0n, templatesAmount], + }); } return rawTemplates.map((rawTemplate) => { diff --git a/packages/sdk/src/fetcher/serializer/index.ts b/packages/sdk/src/fetcher/serializer.ts similarity index 74% rename from packages/sdk/src/fetcher/serializer/index.ts rename to packages/sdk/src/fetcher/serializer.ts index acfed1516..ec4fdbe5f 100644 --- a/packages/sdk/src/fetcher/serializer/index.ts +++ b/packages/sdk/src/fetcher/serializer.ts @@ -1,5 +1,5 @@ -import { ResolvedKPIToken } from "../../entities/kpi-token"; -import type { ResolvedKPITokensMap } from "../types"; +import { ResolvedKPIToken } from "../entities/kpi-token"; +import type { ResolvedKPITokensMap } from "./types"; export function transformInKPITokensObject( filteredTokens: ResolvedKPIToken[], diff --git a/packages/sdk/src/fetcher/subgraph/queries/index.ts b/packages/sdk/src/fetcher/subgraph/queries.ts similarity index 100% rename from packages/sdk/src/fetcher/subgraph/queries/index.ts rename to packages/sdk/src/fetcher/subgraph/queries.ts diff --git a/packages/sdk/src/entities/amount/index.test.ts b/packages/sdk/tests/entities/amount.test.ts similarity index 97% rename from packages/sdk/src/entities/amount/index.test.ts rename to packages/sdk/tests/entities/amount.test.ts index b06b75116..4907db886 100644 --- a/packages/sdk/src/entities/amount/index.test.ts +++ b/packages/sdk/tests/entities/amount.test.ts @@ -1,9 +1,9 @@ import { describe, test } from "@jest/globals"; import { parseUnits } from "viem"; import { privateKeyToAccount, generatePrivateKey } from "viem/accounts"; -import { ChainId } from "../../commons"; -import { Token } from "../token"; -import { Amount } from "./"; +import { ChainId } from "../../src/commons"; +import { Token } from "../../src/entities/token"; +import { Amount } from "../../src/entities/amount"; describe("token amount", () => { let token1: Token, token2: Token; diff --git a/packages/sdk/src/entities/currency/index.test.ts b/packages/sdk/tests/entities/currency.test.ts similarity index 84% rename from packages/sdk/src/entities/currency/index.test.ts rename to packages/sdk/tests/entities/currency.test.ts index e3e353d32..9bc6220a2 100644 --- a/packages/sdk/src/entities/currency/index.test.ts +++ b/packages/sdk/tests/entities/currency.test.ts @@ -1,4 +1,4 @@ -import { Currency } from "."; +import { Currency } from "../../src/entities/currency"; describe("currency", () => { test("instantiates correctly", () => { diff --git a/packages/sdk/src/entities/kpi-token/index.test.ts b/packages/sdk/tests/entities/kpi-token.test.ts similarity index 92% rename from packages/sdk/src/entities/kpi-token/index.test.ts rename to packages/sdk/tests/entities/kpi-token.test.ts index d8d7eba21..f99bc664d 100644 --- a/packages/sdk/src/entities/kpi-token/index.test.ts +++ b/packages/sdk/tests/entities/kpi-token.test.ts @@ -1,8 +1,14 @@ import { privateKeyToAccount, generatePrivateKey } from "viem/accounts"; -import { KPITokenSpecification, ResolvedKPIToken } from "."; -import { ChainId } from "../../commons"; -import { ResolvedOracle } from "../oracle"; -import { ResolvedTemplate, TemplateSpecification } from "../template"; +import { + type KPITokenSpecification, + ResolvedKPIToken, +} from "../../src/entities/kpi-token"; +import { ChainId } from "../../src/commons"; +import { ResolvedOracle } from "../../src/entities/oracle"; +import { + ResolvedTemplate, + TemplateSpecification, +} from "../../src/entities/template"; describe("kpi token", () => { let templateSpecification: TemplateSpecification; diff --git a/packages/sdk/src/entities/oracle/index.test.ts b/packages/sdk/tests/entities/oracle.test.ts similarity index 85% rename from packages/sdk/src/entities/oracle/index.test.ts rename to packages/sdk/tests/entities/oracle.test.ts index 92dbc0536..736e17282 100644 --- a/packages/sdk/src/entities/oracle/index.test.ts +++ b/packages/sdk/tests/entities/oracle.test.ts @@ -1,7 +1,10 @@ import { privateKeyToAccount, generatePrivateKey } from "viem/accounts"; -import { ResolvedOracle } from "."; -import { ChainId } from "../../commons"; -import { ResolvedTemplate, TemplateSpecification } from "../template"; +import { ResolvedOracle } from "../../src/entities/oracle"; +import { ChainId } from "../../src/commons"; +import { + ResolvedTemplate, + TemplateSpecification, +} from "../../src/entities/template"; describe("oracle", () => { let templateSpecification: TemplateSpecification; diff --git a/packages/sdk/src/entities/template/index.test.ts b/packages/sdk/tests/entities/template.test.ts similarity index 95% rename from packages/sdk/src/entities/template/index.test.ts rename to packages/sdk/tests/entities/template.test.ts index 4e53f346d..6379a5d4d 100644 --- a/packages/sdk/src/entities/template/index.test.ts +++ b/packages/sdk/tests/entities/template.test.ts @@ -1,5 +1,8 @@ import { privateKeyToAccount, generatePrivateKey } from "viem/accounts"; -import { ResolvedTemplate, TemplateSpecification } from "."; +import { + ResolvedTemplate, + TemplateSpecification, +} from "../../src/entities/template"; describe("template", () => { describe("template specification", () => { diff --git a/packages/sdk/src/entities/token/index.test.ts b/packages/sdk/tests/entities/token.test.ts similarity index 94% rename from packages/sdk/src/entities/token/index.test.ts rename to packages/sdk/tests/entities/token.test.ts index 781c2692b..96a7bf748 100644 --- a/packages/sdk/src/entities/token/index.test.ts +++ b/packages/sdk/tests/entities/token.test.ts @@ -1,7 +1,7 @@ import { generatePrivateKey, privateKeyToAccount } from "viem/accounts"; -import { currencyEquals, Token } from "."; -import { ChainId } from "../../commons"; -import { Currency } from "../currency"; +import { currencyEquals, Token } from "../../src/entities/token"; +import { ChainId } from "../../src/commons"; +import { Currency } from "../../src/entities/currency"; describe("token", () => { test("instantiates correctly", () => { diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index 3d1ddc4ef..c90fd6739 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "tsconfig/sdk.json", - "include": ["./src/**/*"], + "include": ["./src/**/*", "./tests/**/*"], "compilerOptions": { "outDir": "./dist", "rootDir": "./src" diff --git a/packages/ui/.storybook/main.js b/packages/ui/.storybook/main.js index a065802af..f6d79f060 100644 --- a/packages/ui/.storybook/main.js +++ b/packages/ui/.storybook/main.js @@ -1,6 +1,6 @@ const path = require("path"); module.exports = { - stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(ts|tsx)"], + stories: ["../stories/*.stories.@(ts|tsx)"], addons: [ "@storybook/addon-links", "@storybook/addon-essentials", @@ -34,7 +34,7 @@ module.exports = { tailwindcss: { config: path.resolve( __dirname, - "../src/tailwind.config.js" + "../src/tailwind.config.js", ), }, autoprefixer: {}, diff --git a/packages/ui/.storybook/preview.js b/packages/ui/.storybook/preview.js index 3fb70af9f..4183d9df1 100644 --- a/packages/ui/.storybook/preview.js +++ b/packages/ui/.storybook/preview.js @@ -10,16 +10,6 @@ import "../src/global.css"; import "./preview.css"; -// export const parameters = { -// actions: { argTypesRegex: "^on[A-Z].*" }, -// controls: { -// matchers: { -// color: /(background|color)$/i, -// date: /Date$/, -// }, -// }, -// }; - export const decorators = [ withThemeByClassName({ themes: { diff --git a/packages/ui/package.json b/packages/ui/package.json index 5d1399c62..9fee10524 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,15 +1,134 @@ { "name": "@carrot-kpi/ui", + "license": "GPL-3.0-or-later", "author": "Federico Luzzi ", "version": "0.50.0", - "license": "GPL-3.0-or-later", "main": "./dist/index.js", "module": "./dist/index.js", "types": "./dist/index.d.ts", + "typings": "./dist/index.d.ts", + "sideEffects": false, "exports": { ".": { + "types": "./dist/index.d.ts", "import": "./dist/index.js" }, + "./accordion": { + "types": "./dist/components/accordion/index.d.ts", + "import": "./dist/components/accordion/index.js" + }, + "./card": { + "types": "./dist/components/card/index.d.ts", + "import": "./dist/components/card/index.js" + }, + "./date-input": { + "types": "./dist/components/date-input/index.d.ts", + "import": "./dist/components/date-input/index.js" + }, + "./date-time-input": { + "types": "./dist/components/date-time-input/index.d.ts", + "import": "./dist/components/date-time-input/index.js" + }, + "./erc20-token-picker": { + "types": "./dist/components/erc20-token-picker/index.d.ts", + "import": "./dist/components/erc20-token-picker/index.js" + }, + "./markdown-input": { + "types": "./dist/components/markdown-input/index.d.ts", + "import": "./dist/components/markdown-input/index.js" + }, + "./multi-step-cards": { + "types": "./dist/components/multi-step-cards/index.d.ts", + "import": "./dist/components/multi-step-cards/index.js" + }, + "./button": { + "types": "./dist/components/button.d.ts", + "import": "./dist/components/button.js" + }, + "./checkbox": { + "types": "./dist/components/checkbox.d.ts", + "import": "./dist/components/checkbox.js" + }, + "./chip": { + "types": "./dist/components/chip.d.ts", + "import": "./dist/components/chip.js" + }, + "./erc20-token-logo": { + "types": "./dist/components/erc20-token-logo.d.ts", + "import": "./dist/components/erc20-token-logo.js" + }, + "./error-feedback": { + "types": "./dist/components/error-feedback.d.ts", + "import": "./dist/components/error-feedback.js" + }, + "./error-text": { + "types": "./dist/components/error-text.d.ts", + "import": "./dist/components/error-text.js" + }, + "./loader": { + "types": "./dist/components/loader.d.ts", + "import": "./dist/components/loader.js" + }, + "./markdown": { + "types": "./dist/components/markdown.d.ts", + "import": "./dist/components/markdown.js" + }, + "./modal": { + "types": "./dist/components/modal.d.ts", + "import": "./dist/components/modal.js" + }, + "./number-input": { + "types": "./dist/components/number-input.d.ts", + "import": "./dist/components/number-input.js" + }, + "./popover": { + "types": "./dist/components/popover.d.ts", + "import": "./dist/components/popover.js" + }, + "./radio-group": { + "types": "./dist/components/radio-group.d.ts", + "import": "./dist/components/radio-group.js" + }, + "./radio": { + "types": "./dist/components/radio.d.ts", + "import": "./dist/components/radio.js" + }, + "./remote-logo": { + "types": "./dist/components/remote-logo.d.ts", + "import": "./dist/components/remote-logo.js" + }, + "./select": { + "types": "./dist/components/select.d.ts", + "import": "./dist/components/select.js" + }, + "./skeleton": { + "types": "./dist/components/skeleton.d.ts", + "import": "./dist/components/skeleton.js" + }, + "./stepper": { + "types": "./dist/components/stepper.d.ts", + "import": "./dist/components/stepper.js" + }, + "./switch": { + "types": "./dist/components/switch.d.ts", + "import": "./dist/components/switch.js" + }, + "./tags-input": { + "types": "./dist/components/tags-input.d.ts", + "import": "./dist/components/tags-input.js" + }, + "./text-input": { + "types": "./dist/components/text-input.d.ts", + "import": "./dist/components/text-input.js" + }, + "./timer": { + "types": "./dist/components/timer.d.ts", + "import": "./dist/components/timer.js" + }, + "./typography": { + "types": "./dist/components/typography.d.ts", + "import": "./dist/components/typography.js" + }, "./styles.css": { "import": "./dist/styles.css" }, @@ -18,6 +137,97 @@ "require": "./dist/tailwind.preset.cjs" } }, + "typesVersions": { + "*": { + "accordion": [ + "./dist/components/accordion/index.d.ts" + ], + "card": [ + "./dist/components/card/index.d.ts" + ], + "date-input": [ + "./dist/components/date-input/index.d.ts" + ], + "date-time-input": [ + "./dist/components/date-time-input/index.d.ts" + ], + "erc20-token-picker": [ + "./dist/components/erc20-token-picker/index.d.ts" + ], + "markdown-input": [ + "./dist/components/markdown-input/index.d.ts" + ], + "multi-step-cards": [ + "./dist/components/multi-step-cards/index.d.ts" + ], + "button": [ + "./dist/components/button.d.ts" + ], + "checkbox": [ + "./dist/components/checkbox.d.ts" + ], + "chip": [ + "./dist/components/chip.d.ts" + ], + "erc20-token-logo": [ + "./dist/components/erc20-token-logo.d.ts" + ], + "error-feedback": [ + "./dist/components/error-feedback.d.ts" + ], + "error-text": [ + "./dist/components/error-text.d.ts" + ], + "loader": [ + "./dist/components/loader.d.ts" + ], + "markdown": [ + "./dist/components/markdown.d.ts" + ], + "modal": [ + "./dist/components/modal.d.ts" + ], + "number-input": [ + "./dist/components/number-input.d.ts" + ], + "popover": [ + "./dist/components/popover.d.ts" + ], + "radio-group": [ + "./dist/components/radio-group.d.ts" + ], + "radio": [ + "./dist/components/radio.d.ts" + ], + "remote-logo": [ + "./dist/components/remote-logo.d.ts" + ], + "select": [ + "./dist/components/select.d.ts" + ], + "skeleton": [ + "./dist/components/skeleton.d.ts" + ], + "stepper": [ + "./dist/components/stepper.d.ts" + ], + "switch": [ + "./dist/components/switch.d.ts" + ], + "tags-input": [ + "./dist/components/tags-input.d.ts" + ], + "text-input": [ + "./dist/components/text-input.d.ts" + ], + "timer": [ + "./dist/components/timer.d.ts" + ], + "typography": [ + "./dist/components/typography.d.ts" + ] + } + }, "publishConfig": { "access": "public" }, diff --git a/packages/ui/rollup.config.mjs b/packages/ui/rollup.config.mjs index 34e433357..6d854bab0 100644 --- a/packages/ui/rollup.config.mjs +++ b/packages/ui/rollup.config.mjs @@ -9,8 +9,39 @@ import autoprefixer from "autoprefixer"; export default [ { - input: [resolve("src/index.ts")], - preserveSymlinks: true, + input: [ + "src/global.css", + "src/index.ts", + "src/components/index.ts", + "src/components/accordion/index.tsx", + "src/components/card/index.tsx", + "src/components/date-input/index.tsx", + "src/components/date-time-input/index.tsx", + "src/components/erc20-token-picker/index.tsx", + "src/components/markdown-input/index.tsx", + "src/components/multi-step-cards/index.tsx", + "src/components/button.tsx", + "src/components/checkbox.tsx", + "src/components/chip.tsx", + "src/components/erc20-token-logo.tsx", + "src/components/error-feedback.tsx", + "src/components/error-text.tsx", + "src/components/loader.tsx", + "src/components/markdown.tsx", + "src/components/number-input.tsx", + "src/components/popover.tsx", + "src/components/radio-group.tsx", + "src/components/radio.tsx", + "src/components/remote-logo.tsx", + "src/components/select.tsx", + "src/components/skeleton.tsx", + "src/components/stepper.tsx", + "src/components/switch.tsx", + "src/components/tags-input.tsx", + "src/components/text-input.tsx", + "src/components/timer.tsx", + "src/components/typography.tsx", + ], plugins: [ peerDepsExternal(), nodeResolve({ preferBuiltins: true }), @@ -26,8 +57,11 @@ export default [ ], output: [ { - file: resolve("dist/index.js"), + dir: resolve("./dist"), + preserveModules: true, + preserveModulesRoot: "src", format: "es", + sourcemap: true, }, ], }, diff --git a/packages/ui/src/components/surfaces/accordion/context.tsx b/packages/ui/src/components/accordion/context.tsx similarity index 100% rename from packages/ui/src/components/surfaces/accordion/context.tsx rename to packages/ui/src/components/accordion/context.tsx diff --git a/packages/ui/src/components/surfaces/accordion/details/index.tsx b/packages/ui/src/components/accordion/details/index.tsx similarity index 87% rename from packages/ui/src/components/surfaces/accordion/details/index.tsx rename to packages/ui/src/components/accordion/details/index.tsx index ed92b3909..b8d1d89a3 100644 --- a/packages/ui/src/components/surfaces/accordion/details/index.tsx +++ b/packages/ui/src/components/accordion/details/index.tsx @@ -1,5 +1,5 @@ import React, { type ReactElement, type ReactNode } from "react"; -import { mergedCva } from "../../../../utils/components"; +import { mergedCva } from "../../../utils/components"; const rootStyles = mergedCva(["cui-p-3"]); diff --git a/packages/ui/src/components/surfaces/accordion/index.tsx b/packages/ui/src/components/accordion/index.tsx similarity index 97% rename from packages/ui/src/components/surfaces/accordion/index.tsx rename to packages/ui/src/components/accordion/index.tsx index d9943b8de..703d66761 100644 --- a/packages/ui/src/components/surfaces/accordion/index.tsx +++ b/packages/ui/src/components/accordion/index.tsx @@ -5,7 +5,7 @@ import React, { useMemo, useState, } from "react"; -import { matchChildByType, mergedCva } from "../../../utils/components"; +import { matchChildByType, mergedCva } from "../../utils/components"; import { AccordionContextProvider } from "./context"; import { AccordionDetails } from "./details"; import { AccordionSummary } from "./summary"; diff --git a/packages/ui/src/components/surfaces/accordion/summary/index.tsx b/packages/ui/src/components/accordion/summary/index.tsx similarity index 93% rename from packages/ui/src/components/surfaces/accordion/summary/index.tsx rename to packages/ui/src/components/accordion/summary/index.tsx index 34b1c6e2b..913b2e5c5 100644 --- a/packages/ui/src/components/surfaces/accordion/summary/index.tsx +++ b/packages/ui/src/components/accordion/summary/index.tsx @@ -1,7 +1,7 @@ import React, { type ReactElement, type ReactNode } from "react"; import { useAccordionContext } from "../context"; -import ChevronUp from "../../../../icons/chevron-up"; -import { mergedCva } from "../../../../utils/components"; +import ChevronUp from "../../../icons/chevron-up"; +import { mergedCva } from "../../../utils/components"; export interface SummaryProps { className?: { root?: string }; diff --git a/packages/ui/src/components/input/button/index.tsx b/packages/ui/src/components/button.tsx similarity index 98% rename from packages/ui/src/components/input/button/index.tsx rename to packages/ui/src/components/button.tsx index fa389ac59..a542f4506 100644 --- a/packages/ui/src/components/input/button/index.tsx +++ b/packages/ui/src/components/button.tsx @@ -8,8 +8,8 @@ import type { ReactNode, SVGProps, } from "react"; -import Spinner from "../../../icons/spinner"; -import { mergedCva, mergedCx } from "../../../utils/components"; +import Spinner from "../icons/spinner"; +import { mergedCva, mergedCx } from "../utils/components"; const buttonStyles = mergedCva( [ diff --git a/packages/ui/src/components/surfaces/card/actions/index.tsx b/packages/ui/src/components/card/actions/index.tsx similarity index 88% rename from packages/ui/src/components/surfaces/card/actions/index.tsx rename to packages/ui/src/components/card/actions/index.tsx index 5f6e26f1b..dfc9ac05d 100644 --- a/packages/ui/src/components/surfaces/card/actions/index.tsx +++ b/packages/ui/src/components/card/actions/index.tsx @@ -1,5 +1,5 @@ import React, { type ReactElement, type ReactNode } from "react"; -import { mergedCva } from "../../../../utils/components"; +import { mergedCva } from "../../../utils/components"; const rootStyles = mergedCva(["cui-flex", "cui-gap-4", "cui-p-4"]); diff --git a/packages/ui/src/components/surfaces/card/content/index.tsx b/packages/ui/src/components/card/content/index.tsx similarity index 90% rename from packages/ui/src/components/surfaces/card/content/index.tsx rename to packages/ui/src/components/card/content/index.tsx index f7954b340..2fa0af30b 100644 --- a/packages/ui/src/components/surfaces/card/content/index.tsx +++ b/packages/ui/src/components/card/content/index.tsx @@ -1,5 +1,5 @@ import React, { type ReactElement, type ReactNode } from "react"; -import { mergedCva } from "../../../../utils/components"; +import { mergedCva } from "../../../utils/components"; const rootStyles = mergedCva([ "cui-border-b", diff --git a/packages/ui/src/components/surfaces/card/index.tsx b/packages/ui/src/components/card/index.tsx similarity index 94% rename from packages/ui/src/components/surfaces/card/index.tsx rename to packages/ui/src/components/card/index.tsx index 8373055c1..abf5d30b9 100644 --- a/packages/ui/src/components/surfaces/card/index.tsx +++ b/packages/ui/src/components/card/index.tsx @@ -1,5 +1,5 @@ import React, { type ReactElement } from "react"; -import { matchChildByType, mergedCva } from "../../../utils/components"; +import { matchChildByType, mergedCva } from "../../utils/components"; import { CardActions } from "./actions"; import { CardContent } from "./content"; import { CardTitle } from "./title"; diff --git a/packages/ui/src/components/surfaces/card/title/index.tsx b/packages/ui/src/components/card/title/index.tsx similarity index 92% rename from packages/ui/src/components/surfaces/card/title/index.tsx rename to packages/ui/src/components/card/title/index.tsx index d190ca16f..ae319f91a 100644 --- a/packages/ui/src/components/surfaces/card/title/index.tsx +++ b/packages/ui/src/components/card/title/index.tsx @@ -1,5 +1,5 @@ import React, { type ReactElement, type ReactNode } from "react"; -import { mergedCva } from "../../../../utils/components"; +import { mergedCva } from "../../../utils/components"; const rootStyles = mergedCva([ "cui-w-full", diff --git a/packages/ui/src/components/input/checkbox/index.tsx b/packages/ui/src/components/checkbox.tsx similarity index 94% rename from packages/ui/src/components/input/checkbox/index.tsx rename to packages/ui/src/components/checkbox.tsx index 4e9a38ff7..aad463a94 100644 --- a/packages/ui/src/components/input/checkbox/index.tsx +++ b/packages/ui/src/components/checkbox.tsx @@ -6,12 +6,12 @@ import React, { useId, useState, } from "react"; -import { Typography } from "../../data-display"; -import Info from "../../../icons/info"; -import { type BaseInputWrapperProps, infoIconStyles } from "../commons"; -import Tick from "../../../icons/tick"; -import { mergedCva } from "../../../utils/components"; -import { Popover } from "../../utils"; +import { Typography } from "./typography"; +import Info from "../icons/info"; +import { type BaseInputWrapperProps, infoIconStyles } from "./commons/input"; +import Tick from "../icons/tick"; +import { mergedCva } from "../utils/components"; +import { Popover } from "./popover"; const inputWrapperStyles = mergedCva(["cui-flex", "cui-items-center"], { variants: { diff --git a/packages/ui/src/components/data-display/chip/index.tsx b/packages/ui/src/components/chip.tsx similarity index 87% rename from packages/ui/src/components/data-display/chip/index.tsx rename to packages/ui/src/components/chip.tsx index e2258f6e2..0922092db 100644 --- a/packages/ui/src/components/data-display/chip/index.tsx +++ b/packages/ui/src/components/chip.tsx @@ -1,6 +1,6 @@ import React, { type ReactNode } from "react"; -import { mergedCva } from "../../../utils/components"; -import { Typography } from "../typography"; +import { mergedCva } from "../utils/components"; +import { Typography } from "./typography"; const rootStyles = mergedCva([ "cui-bg-transparent", diff --git a/packages/ui/src/components/input/commons/index.tsx b/packages/ui/src/components/commons/input.tsx similarity index 96% rename from packages/ui/src/components/input/commons/index.tsx rename to packages/ui/src/components/commons/input.tsx index dcf47b67d..57543e04b 100644 --- a/packages/ui/src/components/input/commons/index.tsx +++ b/packages/ui/src/components/commons/input.tsx @@ -6,14 +6,11 @@ import type { ReactElement, ReactNode, } from "react"; -import Info from "../../../icons/info"; -import { mergedCva } from "../../../utils/components"; -import { ErrorText } from "../../data-display/error-text"; -import { - Typography, - type TypographyProps, -} from "../../data-display/typography"; -import { Popover } from "../../utils"; +import Info from "../../icons/info"; +import { mergedCva } from "../../utils/components"; +import { ErrorText } from "../error-text"; +import { Typography, type TypographyProps } from "../typography"; +import { Popover } from "../popover"; export interface PartialBaseInputProps { error?: boolean; diff --git a/packages/ui/src/components/data-display/index.tsx b/packages/ui/src/components/data-display/index.tsx deleted file mode 100644 index 9cf7017d9..000000000 --- a/packages/ui/src/components/data-display/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export * from "./chip"; -export * from "./erc20-token-logo"; -export * from "./error-text"; -export * from "./markdown"; -export * from "./remote-logo"; -export * from "./timer"; -export * from "./typography"; diff --git a/packages/ui/src/components/input/date/index.tsx b/packages/ui/src/components/date-input/index.tsx similarity index 95% rename from packages/ui/src/components/input/date/index.tsx rename to packages/ui/src/components/date-input/index.tsx index 5228bfad5..d4094be2e 100644 --- a/packages/ui/src/components/input/date/index.tsx +++ b/packages/ui/src/components/date-input/index.tsx @@ -7,11 +7,12 @@ import React, { useEffect, } from "react"; import type { ReactElement } from "react"; -import type { BaseInputProps } from "../commons"; +import type { BaseInputProps } from "../commons/input"; import dayjs from "dayjs"; -import { TextInput } from "../text"; -import { Modal, Popover } from "../../utils"; -import Calendar from "../../../icons/calendar"; +import { TextInput } from "../text-input"; +import { Modal } from "../modal"; +import { Popover } from "../popover"; +import Calendar from "../../icons/calendar"; import { DatePicker, type DatePickerProps } from "./picker"; import { useClickAway } from "react-use"; diff --git a/packages/ui/src/components/input/date/picker/index.tsx b/packages/ui/src/components/date-input/picker/index.tsx similarity index 95% rename from packages/ui/src/components/input/date/picker/index.tsx rename to packages/ui/src/components/date-input/picker/index.tsx index 4529bf722..f3ac124cf 100644 --- a/packages/ui/src/components/input/date/picker/index.tsx +++ b/packages/ui/src/components/date-input/picker/index.tsx @@ -1,11 +1,11 @@ import dayjs, { Dayjs } from "dayjs"; import React, { useCallback, useLayoutEffect, useState } from "react"; -import ChevronLeft from "../../../../icons/chevron-left"; -import ChevronRight from "../../../../icons/chevron-right"; -import { type CalendarCell, getCalendarCells } from "../../../../utils/date"; -import { Typography } from "../../../data-display"; +import ChevronLeft from "../../../icons/chevron-left"; +import ChevronRight from "../../../icons/chevron-right"; +import { type CalendarCell, getCalendarCells } from "../../../utils/date"; +import { Typography } from "../../typography"; import LocalizedFormat from "dayjs/plugin/localizedFormat"; -import { mergedCva } from "../../../../utils/components"; +import { mergedCva } from "../../../utils/components"; dayjs.extend(LocalizedFormat); diff --git a/packages/ui/src/components/input/date-time/index.tsx b/packages/ui/src/components/date-time-input/index.tsx similarity index 94% rename from packages/ui/src/components/input/date-time/index.tsx rename to packages/ui/src/components/date-time-input/index.tsx index 9d5893407..5608b72c7 100644 --- a/packages/ui/src/components/input/date-time/index.tsx +++ b/packages/ui/src/components/date-time-input/index.tsx @@ -7,10 +7,11 @@ import React, { useEffect, } from "react"; import type { ReactElement } from "react"; -import type { BaseInputProps } from "../commons"; -import { TextInput } from "../text"; -import { Modal, Popover } from "../../utils"; -import Calendar from "../../../icons/calendar"; +import type { BaseInputProps } from "../commons/input"; +import { TextInput } from "../text-input"; +import { Modal } from "../modal"; +import { Popover } from "../popover"; +import Calendar from "../../icons/calendar"; import { DateTimePicker, type DateTimePickerProps } from "./picker"; import { useClickAway } from "react-use"; import dayjs from "dayjs"; diff --git a/packages/ui/src/components/input/date-time/picker/index.tsx b/packages/ui/src/components/date-time-input/picker/index.tsx similarity index 96% rename from packages/ui/src/components/input/date-time/picker/index.tsx rename to packages/ui/src/components/date-time-input/picker/index.tsx index 9cd47ba38..9ba5f8d4a 100644 --- a/packages/ui/src/components/input/date-time/picker/index.tsx +++ b/packages/ui/src/components/date-time-input/picker/index.tsx @@ -1,10 +1,10 @@ import dayjs, { type UnitType } from "dayjs"; import React, { useCallback, useLayoutEffect } from "react"; -import { Typography } from "../../../data-display"; -import { DatePicker, type DatePickerProps } from "../../date/picker"; -import { enforceDoubleDigits } from "../../../../utils/formatting"; -import { mergedCva } from "../../../../utils/components"; -import { rectifyDate, resolvedValue } from "../../../../utils/date"; +import { Typography } from "../../typography"; +import { DatePicker, type DatePickerProps } from "../../date-input/picker"; +import { enforceDoubleDigits } from "../../../utils/formatting"; +import { mergedCva } from "../../../utils/components"; +import { rectifyDate, resolvedValue } from "../../../utils/date"; const cellListStyles = mergedCva( [ diff --git a/packages/ui/src/components/data-display/erc20-token-logo/index.tsx b/packages/ui/src/components/erc20-token-logo.tsx similarity index 73% rename from packages/ui/src/components/data-display/erc20-token-logo/index.tsx rename to packages/ui/src/components/erc20-token-logo.tsx index 371241d42..4db1cf63c 100644 --- a/packages/ui/src/components/data-display/erc20-token-logo/index.tsx +++ b/packages/ui/src/components/erc20-token-logo.tsx @@ -1,9 +1,6 @@ import React from "react"; -import { - RemoteLogo, - type RemoteLogoProps, -} from "../../data-display/remote-logo"; -import { getDefaultERC20TokenLogoURL } from "../../../utils/erc20"; +import { RemoteLogo, type RemoteLogoProps } from "./remote-logo"; +import { getDefaultERC20TokenLogoURL } from "../utils/erc20"; export type ERC20TokenLogoProps = { chainId: number; diff --git a/packages/ui/src/components/evm/erc20-token-picker/divider/index.tsx b/packages/ui/src/components/erc20-token-picker/divider/index.tsx similarity index 85% rename from packages/ui/src/components/evm/erc20-token-picker/divider/index.tsx rename to packages/ui/src/components/erc20-token-picker/divider/index.tsx index 92443eba9..fc0ba5768 100644 --- a/packages/ui/src/components/evm/erc20-token-picker/divider/index.tsx +++ b/packages/ui/src/components/erc20-token-picker/divider/index.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { mergedCva } from "../../../../utils/components"; +import { mergedCva } from "../../../utils/components"; const rootStyles = mergedCva([ "cui-h-[1px]", diff --git a/packages/ui/src/components/evm/erc20-token-picker/hooks/useSearchedTokens.ts b/packages/ui/src/components/erc20-token-picker/hooks/useSearchedTokens.ts similarity index 90% rename from packages/ui/src/components/evm/erc20-token-picker/hooks/useSearchedTokens.ts rename to packages/ui/src/components/erc20-token-picker/hooks/useSearchedTokens.ts index a91812a81..fa6d83ad4 100644 --- a/packages/ui/src/components/evm/erc20-token-picker/hooks/useSearchedTokens.ts +++ b/packages/ui/src/components/erc20-token-picker/hooks/useSearchedTokens.ts @@ -1,5 +1,5 @@ import { useMemo } from "react"; -import { filterERC20Tokens, sortERC20Tokens } from "../../../../utils/erc20"; +import { filterERC20Tokens, sortERC20Tokens } from "../../../utils/erc20"; import type { TokenInfoWithBalance, TokenListWithBalance } from "../types"; export const useSearchedTokens = ( diff --git a/packages/ui/src/components/evm/erc20-token-picker/index.tsx b/packages/ui/src/components/erc20-token-picker/index.tsx similarity index 99% rename from packages/ui/src/components/evm/erc20-token-picker/index.tsx rename to packages/ui/src/components/erc20-token-picker/index.tsx index 0c2baa341..46d507f60 100644 --- a/packages/ui/src/components/evm/erc20-token-picker/index.tsx +++ b/packages/ui/src/components/erc20-token-picker/index.tsx @@ -6,7 +6,7 @@ import React, { useState, } from "react"; import { Search, type SearchProps } from "./search"; -import { Modal } from "../../utils/modal"; +import { Modal } from "../modal"; import type { TokenInfoWithBalance, TokenListWithBalance } from "./types"; import { ManageLists, type ManageListsProps } from "./manage-lists"; import { useSearchedTokens } from "./hooks/useSearchedTokens"; diff --git a/packages/ui/src/components/evm/erc20-token-picker/manage-lists/index.tsx b/packages/ui/src/components/erc20-token-picker/manage-lists/index.tsx similarity index 94% rename from packages/ui/src/components/evm/erc20-token-picker/manage-lists/index.tsx rename to packages/ui/src/components/erc20-token-picker/manage-lists/index.tsx index 53400cbdf..b32596d69 100644 --- a/packages/ui/src/components/evm/erc20-token-picker/manage-lists/index.tsx +++ b/packages/ui/src/components/erc20-token-picker/manage-lists/index.tsx @@ -1,18 +1,12 @@ import React, { type MouseEvent, useCallback } from "react"; -import { - Typography, - type TypographyProps, -} from "../../../data-display/typography"; -import X from "../../../../icons/x"; -import ChevronLeft from "../../../../icons/chevron-left"; +import { Typography, type TypographyProps } from "../../typography"; +import X from "../../../icons/x"; +import ChevronLeft from "../../../icons/chevron-left"; import type { TokenListWithBalance } from "../types"; -import { - RemoteLogo, - type RemoteLogoProps, -} from "../../../data-display/remote-logo"; +import { RemoteLogo, type RemoteLogoProps } from "../../remote-logo"; import { Divider, type DividerProps } from "../divider"; -import { Skeleton } from "../../../feedback"; -import { mergedCva } from "../../../../utils/components"; +import { Skeleton } from "../../skeleton"; +import { mergedCva } from "../../../utils/components"; const rootStyles = mergedCva([ "cui-bg-white", diff --git a/packages/ui/src/components/evm/erc20-token-picker/search/index.tsx b/packages/ui/src/components/erc20-token-picker/search/index.tsx similarity index 95% rename from packages/ui/src/components/evm/erc20-token-picker/search/index.tsx rename to packages/ui/src/components/erc20-token-picker/search/index.tsx index bb209160a..bb35e5403 100644 --- a/packages/ui/src/components/evm/erc20-token-picker/search/index.tsx +++ b/packages/ui/src/components/erc20-token-picker/search/index.tsx @@ -1,15 +1,12 @@ import React, { type ChangeEventHandler, type Ref, useCallback } from "react"; import AutoSizer from "react-virtualized-auto-sizer"; import { FixedSizeList } from "react-window"; -import X from "../../../../icons/x"; -import { mergedCva } from "../../../../utils/components"; -import { tokenInfoWithBalanceEquals } from "../../../../utils/erc20"; -import { - Typography, - type TypographyProps, -} from "../../../data-display/typography"; -import { Button, type ButtonProps } from "../../../input/button"; -import { TextInput, type TextInputProps } from "../../../input/text"; +import X from "../../../icons/x"; +import { mergedCva } from "../../../utils/components"; +import { tokenInfoWithBalanceEquals } from "../../../utils/erc20"; +import { Typography, type TypographyProps } from "../../typography"; +import { Button, type ButtonProps } from "../../button"; +import { TextInput, type TextInputProps } from "../../text-input"; import { Divider, type DividerProps } from "../divider"; import type { TokenInfoWithBalance, TokenListWithBalance } from "../types"; import { Row, type RowProps } from "./row"; diff --git a/packages/ui/src/components/evm/erc20-token-picker/search/row/balance/index.tsx b/packages/ui/src/components/erc20-token-picker/search/row/balance/index.tsx similarity index 85% rename from packages/ui/src/components/evm/erc20-token-picker/search/row/balance/index.tsx rename to packages/ui/src/components/erc20-token-picker/search/row/balance/index.tsx index 5dec3446c..127afa6bf 100644 --- a/packages/ui/src/components/evm/erc20-token-picker/search/row/balance/index.tsx +++ b/packages/ui/src/components/erc20-token-picker/search/row/balance/index.tsx @@ -1,6 +1,6 @@ import React from "react"; -import { Typography } from "../../../../../data-display"; -import { Skeleton } from "../../../../../feedback"; +import { Typography } from "../../../../typography"; +import { Skeleton } from "../../../../skeleton"; import { formatDecimals } from "@carrot-kpi/sdk"; import { formatUnits } from "viem"; diff --git a/packages/ui/src/components/evm/erc20-token-picker/search/row/index.tsx b/packages/ui/src/components/erc20-token-picker/search/row/index.tsx similarity index 93% rename from packages/ui/src/components/evm/erc20-token-picker/search/row/index.tsx rename to packages/ui/src/components/erc20-token-picker/search/row/index.tsx index d0209589e..be2e7221c 100644 --- a/packages/ui/src/components/evm/erc20-token-picker/search/row/index.tsx +++ b/packages/ui/src/components/erc20-token-picker/search/row/index.tsx @@ -1,13 +1,9 @@ import React, { useCallback, type MouseEvent } from "react"; -import { mergedCva } from "../../../../../utils/components"; -import { getDefaultERC20TokenLogoURL } from "../../../../../utils/erc20"; -import { - RemoteLogo, - type RemoteLogoProps, - Typography, - type TypographyProps, -} from "../../../../data-display"; -import { Skeleton } from "../../../../feedback"; +import { mergedCva } from "../../../../utils/components"; +import { getDefaultERC20TokenLogoURL } from "../../../../utils/erc20"; +import { Typography, type TypographyProps } from "../../../typography"; +import { RemoteLogo, type RemoteLogoProps } from "../../../remote-logo"; +import { Skeleton } from "../../../skeleton"; import type { TokenInfoWithBalance } from "../../types"; import { Balance } from "./balance"; diff --git a/packages/ui/src/components/evm/erc20-token-picker/types.ts b/packages/ui/src/components/erc20-token-picker/types.ts similarity index 100% rename from packages/ui/src/components/evm/erc20-token-picker/types.ts rename to packages/ui/src/components/erc20-token-picker/types.ts diff --git a/packages/ui/src/components/feedback/error-feedback/index.tsx b/packages/ui/src/components/error-feedback.tsx similarity index 88% rename from packages/ui/src/components/feedback/error-feedback/index.tsx rename to packages/ui/src/components/error-feedback.tsx index 03d59998f..8e408cfe8 100644 --- a/packages/ui/src/components/feedback/error-feedback/index.tsx +++ b/packages/ui/src/components/error-feedback.tsx @@ -1,7 +1,7 @@ import React, { type ReactElement } from "react"; -import { Typography, type TypographyProps } from "../../data-display"; -import Error from "../../../icons/error"; -import { mergedCx } from "../../../utils/components"; +import { Typography, type TypographyProps } from "./typography"; +import Error from "../icons/error"; +import { mergedCx } from "../utils/components"; export interface ErrorFeedbackProps { messages: { diff --git a/packages/ui/src/components/data-display/error-text/index.tsx b/packages/ui/src/components/error-text.tsx similarity index 90% rename from packages/ui/src/components/data-display/error-text/index.tsx rename to packages/ui/src/components/error-text.tsx index 02ca1e699..bf96a3ba5 100644 --- a/packages/ui/src/components/data-display/error-text/index.tsx +++ b/packages/ui/src/components/error-text.tsx @@ -1,7 +1,7 @@ import React, { type ReactElement, type ReactNode } from "react"; -import { mergedCva } from "../../../utils/components"; -import DangerIcon from "../../../icons/danger"; -import { Typography, type TypographyProps } from "../typography"; +import { mergedCva } from "../utils/components"; +import DangerIcon from "../icons/danger"; +import { Typography, type TypographyProps } from "./typography"; const errorTextWrapperStyles = mergedCva([ "cui-flex", diff --git a/packages/ui/src/components/evm/index.ts b/packages/ui/src/components/evm/index.ts deleted file mode 100644 index a636cb723..000000000 --- a/packages/ui/src/components/evm/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./erc20-token-picker"; diff --git a/packages/ui/src/components/feedback/index.ts b/packages/ui/src/components/feedback/index.ts deleted file mode 100644 index d5664c03e..000000000 --- a/packages/ui/src/components/feedback/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./error-feedback"; -export * from "./skeleton"; -export * from "./loader"; diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts index 1c8d407ca..fad1d6c5f 100644 --- a/packages/ui/src/components/index.ts +++ b/packages/ui/src/components/index.ts @@ -1,7 +1,29 @@ -export * from "./evm"; -export * from "./feedback"; -export * from "./data-display"; -export * from "./input"; -export * from "./navigation"; -export * from "./surfaces"; -export * from "./utils"; +export * from "./accordion"; +export * from "./card"; +export * from "./date-input"; +export * from "./date-time-input"; +export * from "./erc20-token-picker"; +export * from "./markdown-input"; +export * from "./multi-step-cards"; +export * from "./button"; +export * from "./checkbox"; +export * from "./chip"; +export * from "./erc20-token-logo"; +export * from "./error-feedback"; +export * from "./error-text"; +export * from "./loader"; +export * from "./markdown"; +export * from "./modal"; +export * from "./number-input"; +export * from "./popover"; +export * from "./radio-group"; +export * from "./radio"; +export * from "./remote-logo"; +export * from "./select"; +export * from "./skeleton"; +export * from "./stepper"; +export * from "./switch"; +export * from "./tags-input"; +export * from "./text-input"; +export * from "./timer"; +export * from "./typography"; diff --git a/packages/ui/src/components/input/index.ts b/packages/ui/src/components/input/index.ts deleted file mode 100644 index 7196379d8..000000000 --- a/packages/ui/src/components/input/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export * from "./button"; -export * from "./checkbox"; -export * from "./date"; -export * from "./date-time"; -export * from "./markdown"; -export * from "./number"; -export * from "./radio"; -export * from "./radio-group"; -export * from "./select"; -export * from "./switch"; -export * from "./tags"; -export * from "./text"; diff --git a/packages/ui/src/components/input/tags/tag/index.tsx b/packages/ui/src/components/input/tags/tag/index.tsx deleted file mode 100644 index 493efff76..000000000 --- a/packages/ui/src/components/input/tags/tag/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import React, { useCallback } from "react"; -import type { ReactElement } from "react"; -import { - Typography, - type TypographyProps, -} from "../../../data-display/typography"; -import Remove from "../../../../icons/remove"; -import { mergedCva } from "../../../../utils/components"; - -const tagStyles = mergedCva([ - "cui-rounded-xxl cui-border cui-border-black dark:cui-border-white", - "cui-px-2 cui-py-1 cui-w-fit cui-bg-white dark:cui-bg-black dark:cui-text-white", - "cui-flex cui-items-center cui-gap-1 hover:cui-cursor-pointer cui-select-none", -]); - -const iconStyles = mergedCva([ - "cui-fill-gray-100 hover:cui-fill-green dark:hover:cui-fill-orange cui-stroke-black", - "dark:cui-stroke-white dark:cui-fill-black hover:cui-cursor-pointer -cui-mr-1", -]); - -export interface TagProps { - text: string; - className?: { - root?: string; - text?: TypographyProps["className"]; - removeIcon?: string; - }; - index: number; - onRemove: (index: number) => void; -} - -export const Tag = ({ - className, - text, - index, - onRemove, -}: TagProps): ReactElement => { - const handleRemove = useCallback(() => { - onRemove(index); - }, [index, onRemove]); - - return ( -
- - {text} - - -
- ); -}; diff --git a/packages/ui/src/components/feedback/loader/index.tsx b/packages/ui/src/components/loader.tsx similarity index 68% rename from packages/ui/src/components/feedback/loader/index.tsx rename to packages/ui/src/components/loader.tsx index 035d4838e..f539c9692 100644 --- a/packages/ui/src/components/feedback/loader/index.tsx +++ b/packages/ui/src/components/loader.tsx @@ -1,6 +1,6 @@ import React from "react"; -import LoaderIcon from "../../../icons/loader"; -import { mergedCx } from "../../../utils/components"; +import LoaderIcon from "../icons/loader"; +import { mergedCx } from "../utils/components"; export interface LoaderProps { className?: string; diff --git a/packages/ui/src/components/input/markdown/index.tsx b/packages/ui/src/components/markdown-input/index.tsx similarity index 98% rename from packages/ui/src/components/input/markdown/index.tsx rename to packages/ui/src/components/markdown-input/index.tsx index a97010768..2204fed25 100644 --- a/packages/ui/src/components/input/markdown/index.tsx +++ b/packages/ui/src/components/markdown-input/index.tsx @@ -10,8 +10,8 @@ import React, { } from "react"; import { MenuBar } from "./menu-bar"; -import { type BaseInputProps, BaseInputWrapper } from "../commons"; -import { mergedCva } from "../../../utils/components"; +import { type BaseInputProps, BaseInputWrapper } from "../commons/input"; +import { mergedCva } from "../../utils/components"; export interface MarkdownInputProps extends Omit, "onChange" | "id"> { diff --git a/packages/ui/src/components/input/markdown/menu-bar/index.tsx b/packages/ui/src/components/markdown-input/menu-bar/index.tsx similarity index 86% rename from packages/ui/src/components/input/markdown/menu-bar/index.tsx rename to packages/ui/src/components/markdown-input/menu-bar/index.tsx index d89562191..626777688 100644 --- a/packages/ui/src/components/input/markdown/menu-bar/index.tsx +++ b/packages/ui/src/components/markdown-input/menu-bar/index.tsx @@ -1,16 +1,16 @@ import React, { type ReactElement, useMemo } from "react"; import { MenuItem } from "../menu-item"; -import H1 from "../../../../icons/h1"; -import H2 from "../../../../icons/h2"; -import Bold from "../../../../icons/bold"; -import Code from "../../../../icons/code"; -import DoubleQuotes from "../../../../icons/double-quotes"; -import Italic from "../../../../icons/italic"; -import ListOrdered from "../../../../icons/list-ordered"; -import ListUnordered from "../../../../icons/list-unordered"; +import H1 from "../../../icons/h1"; +import H2 from "../../../icons/h2"; +import Bold from "../../../icons/bold"; +import Code from "../../../icons/code"; +import DoubleQuotes from "../../../icons/double-quotes"; +import Italic from "../../../icons/italic"; +import ListOrdered from "../../../icons/list-ordered"; +import ListUnordered from "../../../icons/list-unordered"; import { Editor } from "@tiptap/react"; -import { mergedCva } from "../../../../utils/components"; +import { mergedCva } from "../../../utils/components"; const rootStyles = mergedCva( [ diff --git a/packages/ui/src/components/input/markdown/menu-item/index.tsx b/packages/ui/src/components/markdown-input/menu-item/index.tsx similarity index 93% rename from packages/ui/src/components/input/markdown/menu-item/index.tsx rename to packages/ui/src/components/markdown-input/menu-item/index.tsx index ead45d759..29980dc55 100644 --- a/packages/ui/src/components/input/markdown/menu-item/index.tsx +++ b/packages/ui/src/components/markdown-input/menu-item/index.tsx @@ -1,5 +1,5 @@ import React, { type FunctionComponent, type ReactElement } from "react"; -import { mergedCva } from "../../../../utils/components"; +import { mergedCva } from "../../../utils/components"; const rootStyles = mergedCva([], { variants: { diff --git a/packages/ui/src/components/data-display/markdown/index.tsx b/packages/ui/src/components/markdown.tsx similarity index 94% rename from packages/ui/src/components/data-display/markdown/index.tsx rename to packages/ui/src/components/markdown.tsx index 0d60f8c2f..047ea2726 100644 --- a/packages/ui/src/components/data-display/markdown/index.tsx +++ b/packages/ui/src/components/markdown.tsx @@ -1,5 +1,5 @@ import React, { type ReactElement, type ReactNode } from "react"; -import { mergedCx } from "../../../utils/components"; +import { mergedCx } from "../utils/components"; export interface MarkdownProps { children?: ReactNode; diff --git a/packages/ui/src/components/utils/modal/index.tsx b/packages/ui/src/components/modal.tsx similarity index 97% rename from packages/ui/src/components/utils/modal/index.tsx rename to packages/ui/src/components/modal.tsx index b78b9f2b8..8d6e59cfd 100644 --- a/packages/ui/src/components/utils/modal/index.tsx +++ b/packages/ui/src/components/modal.tsx @@ -1,5 +1,5 @@ import React, { type ReactNode, useEffect, useRef } from "react"; -import { mergedCva } from "../../../utils/components"; +import { mergedCva } from "../utils/components"; const rootStyles = mergedCva( [ diff --git a/packages/ui/src/components/navigation/multi-step-cards/index.tsx b/packages/ui/src/components/multi-step-cards/index.tsx similarity index 97% rename from packages/ui/src/components/navigation/multi-step-cards/index.tsx rename to packages/ui/src/components/multi-step-cards/index.tsx index 514d2b17e..55259605c 100644 --- a/packages/ui/src/components/navigation/multi-step-cards/index.tsx +++ b/packages/ui/src/components/multi-step-cards/index.tsx @@ -1,6 +1,6 @@ import React, { type ReactNode, useMemo } from "react"; import type { ReactElement } from "react"; -import { matchChildByType, mergedCva } from "../../../utils/components"; +import { matchChildByType, mergedCva } from "../../utils/components"; import { StepCard, type StepCardProps } from "./step-card"; import { NextStepPreview, type NextStepPreviewProps } from "./step-preview"; diff --git a/packages/ui/src/components/navigation/multi-step-cards/next-button/index.tsx b/packages/ui/src/components/multi-step-cards/next-button/index.tsx similarity index 88% rename from packages/ui/src/components/navigation/multi-step-cards/next-button/index.tsx rename to packages/ui/src/components/multi-step-cards/next-button/index.tsx index f14997013..fad617820 100644 --- a/packages/ui/src/components/navigation/multi-step-cards/next-button/index.tsx +++ b/packages/ui/src/components/multi-step-cards/next-button/index.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { ReactElement } from "react"; -import ChevronDown from "../../../../icons/chevron-down"; -import { Button, type ButtonProps } from "../../../input"; +import ChevronDown from "../../../icons/chevron-down"; +import { Button, type ButtonProps } from "../../button"; export type NextButtonProps = ButtonProps; diff --git a/packages/ui/src/components/navigation/multi-step-cards/step-card/index.tsx b/packages/ui/src/components/multi-step-cards/step-card/index.tsx similarity index 93% rename from packages/ui/src/components/navigation/multi-step-cards/step-card/index.tsx rename to packages/ui/src/components/multi-step-cards/step-card/index.tsx index f332e67a7..6ffaaab21 100644 --- a/packages/ui/src/components/navigation/multi-step-cards/step-card/index.tsx +++ b/packages/ui/src/components/multi-step-cards/step-card/index.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { ReactElement, ReactNode } from "react"; -import { mergedCva } from "../../../../utils/components"; -import { Typography } from "../../../data-display"; +import { mergedCva } from "../../../utils/components"; +import { Typography } from "../../typography"; const rootStyles = mergedCva([ "cui-relative", diff --git a/packages/ui/src/components/navigation/multi-step-cards/step-preview/index.tsx b/packages/ui/src/components/multi-step-cards/step-preview/index.tsx similarity index 89% rename from packages/ui/src/components/navigation/multi-step-cards/step-preview/index.tsx rename to packages/ui/src/components/multi-step-cards/step-preview/index.tsx index 77deb36c7..f1b2fea01 100644 --- a/packages/ui/src/components/navigation/multi-step-cards/step-preview/index.tsx +++ b/packages/ui/src/components/multi-step-cards/step-preview/index.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { ReactElement } from "react"; -import { mergedCva } from "../../../../utils/components"; -import { Typography } from "../../../data-display"; +import { mergedCva } from "../../../utils/components"; +import { Typography } from "../../typography"; const rootStyles = mergedCva([ "cui-flex", diff --git a/packages/ui/src/components/navigation/index.tsx b/packages/ui/src/components/navigation/index.tsx deleted file mode 100644 index 78155e722..000000000 --- a/packages/ui/src/components/navigation/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./multi-step-cards"; -export * from "./stepper"; diff --git a/packages/ui/src/components/input/number/index.tsx b/packages/ui/src/components/number-input.tsx similarity index 95% rename from packages/ui/src/components/input/number/index.tsx rename to packages/ui/src/components/number-input.tsx index a243fae87..3f8b06dba 100644 --- a/packages/ui/src/components/input/number/index.tsx +++ b/packages/ui/src/components/number-input.tsx @@ -1,7 +1,11 @@ import React, { forwardRef, useId } from "react"; import type { ReactElement } from "react"; import { NumericFormat, type NumericFormatProps } from "react-number-format"; -import { type BaseInputProps, inputStyles, BaseInputWrapper } from "../commons"; +import { + type BaseInputProps, + inputStyles, + BaseInputWrapper, +} from "./commons/input"; export type NumberInputProps = Omit< NumericFormatProps & BaseInputProps, diff --git a/packages/ui/src/components/utils/popover/index.tsx b/packages/ui/src/components/popover.tsx similarity index 97% rename from packages/ui/src/components/utils/popover/index.tsx rename to packages/ui/src/components/popover.tsx index f48378a27..978133835 100644 --- a/packages/ui/src/components/utils/popover/index.tsx +++ b/packages/ui/src/components/popover.tsx @@ -6,7 +6,7 @@ import React, { } from "react"; import { usePopper } from "react-popper"; import { type Placement } from "@popperjs/core"; -import { mergedCva } from "../../../utils/components"; +import { mergedCva } from "../utils/components"; const dropdownRootStyles = mergedCva( [ diff --git a/packages/ui/src/components/input/radio-group/index.tsx b/packages/ui/src/components/radio-group.tsx similarity index 86% rename from packages/ui/src/components/input/radio-group/index.tsx rename to packages/ui/src/components/radio-group.tsx index fec6640e3..c6091125c 100644 --- a/packages/ui/src/components/input/radio-group/index.tsx +++ b/packages/ui/src/components/radio-group.tsx @@ -1,7 +1,7 @@ import React, { type ReactElement, type ReactNode, useId } from "react"; -import { BaseInputWrapper, type BaseInputWrapperProps } from "../commons"; -import { Typography } from "../../data-display"; -import { mergedCva } from "../../../utils/components"; +import { BaseInputWrapper, type BaseInputWrapperProps } from "./commons/input"; +import { Typography } from "./typography"; +import { mergedCva } from "../utils/components"; export interface RadioGroupProps extends Omit { diff --git a/packages/ui/src/components/input/radio/index.tsx b/packages/ui/src/components/radio.tsx similarity index 94% rename from packages/ui/src/components/input/radio/index.tsx rename to packages/ui/src/components/radio.tsx index 28b1a7f98..4cc4a141c 100644 --- a/packages/ui/src/components/input/radio/index.tsx +++ b/packages/ui/src/components/radio.tsx @@ -7,11 +7,11 @@ import React, { useId, useState, } from "react"; -import { mergedCva } from "../../../utils/components"; -import { Typography } from "../../data-display"; -import Info from "../../../icons/info"; -import { type BaseInputWrapperProps, infoIconStyles } from "../commons"; -import { Popover } from "../../utils"; +import { mergedCva } from "../utils/components"; +import { Typography } from "./typography"; +import Info from "../icons/info"; +import { type BaseInputWrapperProps, infoIconStyles } from "./commons/input"; +import { Popover } from "./popover"; const inputWrapperStyles = mergedCva( ["cui-flex", "cui-items-center", "cui-gap-1.5"], diff --git a/packages/ui/src/components/data-display/remote-logo/index.tsx b/packages/ui/src/components/remote-logo.tsx similarity index 95% rename from packages/ui/src/components/data-display/remote-logo/index.tsx rename to packages/ui/src/components/remote-logo.tsx index 5657eba07..4a8bf54ec 100644 --- a/packages/ui/src/components/data-display/remote-logo/index.tsx +++ b/packages/ui/src/components/remote-logo.tsx @@ -1,7 +1,7 @@ import React, { useState } from "react"; -import { mergedCva } from "../../../utils/components"; -import { resolveSrc } from "../../../utils/url"; -import { Skeleton } from "../../feedback"; +import { mergedCva } from "../utils/components"; +import { resolveSrc } from "../utils/url"; +import { Skeleton } from "./skeleton"; const BAD_SRC: Record = {}; diff --git a/packages/ui/src/components/input/select/index.tsx b/packages/ui/src/components/select.tsx similarity index 95% rename from packages/ui/src/components/input/select/index.tsx rename to packages/ui/src/components/select.tsx index daeb03020..1ad350d77 100644 --- a/packages/ui/src/components/input/select/index.tsx +++ b/packages/ui/src/components/select.tsx @@ -7,13 +7,13 @@ import React, { forwardRef, useId, } from "react"; -import type { BaseInputProps } from "../commons"; -import ChevronUp from "../../../icons/chevron-up"; -import ChevronDown from "../../../icons/chevron-down"; -import { Popover } from "../../utils/popover"; -import { TextInput } from "../text"; +import type { BaseInputProps } from "./commons/input"; +import ChevronUp from "../icons/chevron-up"; +import ChevronDown from "../icons/chevron-down"; +import { Popover } from "./popover"; +import { TextInput } from "./text-input"; import { useClickAway } from "react-use"; -import { mergedCva, mergedCx } from "../../../utils/components"; +import { mergedCva, mergedCx } from "../utils/components"; const dropdownRootStyles = mergedCva([ "cui-rounded-xxl", diff --git a/packages/ui/src/components/feedback/skeleton/index.tsx b/packages/ui/src/components/skeleton.tsx similarity index 96% rename from packages/ui/src/components/feedback/skeleton/index.tsx rename to packages/ui/src/components/skeleton.tsx index d2d5029b3..a77321c21 100644 --- a/packages/ui/src/components/feedback/skeleton/index.tsx +++ b/packages/ui/src/components/skeleton.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { mergedCva } from "../../../utils/components"; +import { mergedCva } from "../utils/components"; const rootStyles = mergedCva( ["cui-bg-gray-200 dark:cui-bg-gray-600 cui-animate-pulse"], diff --git a/packages/ui/src/components/navigation/stepper/index.tsx b/packages/ui/src/components/stepper.tsx similarity index 98% rename from packages/ui/src/components/navigation/stepper/index.tsx rename to packages/ui/src/components/stepper.tsx index 589b6393c..efd4c0c54 100644 --- a/packages/ui/src/components/navigation/stepper/index.tsx +++ b/packages/ui/src/components/stepper.tsx @@ -1,7 +1,7 @@ import React from "react"; import { type ReactElement, useCallback } from "react"; -import { mergedCva } from "../../../utils/components"; -import { Typography } from "../../data-display"; +import { mergedCva } from "../utils/components"; +import { Typography } from "./typography"; const rootStyles = mergedCva(["cui-flex"], { variants: { diff --git a/packages/ui/src/components/surfaces/index.tsx b/packages/ui/src/components/surfaces/index.tsx deleted file mode 100644 index 303fdfc1a..000000000 --- a/packages/ui/src/components/surfaces/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./accordion"; -export * from "./card"; diff --git a/packages/ui/src/components/input/switch/index.tsx b/packages/ui/src/components/switch.tsx similarity index 100% rename from packages/ui/src/components/input/switch/index.tsx rename to packages/ui/src/components/switch.tsx diff --git a/packages/ui/src/components/input/tags/index.tsx b/packages/ui/src/components/tags-input.tsx similarity index 71% rename from packages/ui/src/components/input/tags/index.tsx rename to packages/ui/src/components/tags-input.tsx index 89e208a58..25e13d912 100644 --- a/packages/ui/src/components/input/tags/index.tsx +++ b/packages/ui/src/components/tags-input.tsx @@ -1,10 +1,51 @@ import React, { forwardRef, useCallback, useId, useState } from "react"; import type { ReactElement } from "react"; -import { mergedCva } from "../../../utils/components"; -import { Button } from "../button"; -import type { BaseInputProps } from "../commons"; -import { TextInput } from "../text"; -import { Tag, type TagProps } from "./tag"; +import { mergedCva } from "../utils/components"; +import { Button } from "./button"; +import type { BaseInputProps } from "./commons/input"; +import { TextInput } from "./text-input"; +import { Typography, type TypographyProps } from "./typography"; +import Remove from "../icons/remove"; + +const tagStyles = mergedCva([ + "cui-rounded-xxl cui-border cui-border-black dark:cui-border-white", + "cui-px-2 cui-py-1 cui-w-fit cui-bg-white dark:cui-bg-black dark:cui-text-white", + "cui-flex cui-items-center cui-gap-1 hover:cui-cursor-pointer cui-select-none", +]); + +const iconStyles = mergedCva([ + "cui-fill-gray-100 hover:cui-fill-green dark:hover:cui-fill-orange cui-stroke-black", + "dark:cui-stroke-white dark:cui-fill-black hover:cui-cursor-pointer -cui-mr-1", +]); + +export interface TagProps { + text: string; + className?: { + root?: string; + text?: TypographyProps["className"]; + removeIcon?: string; + }; + index: number; + onRemove: (index: number) => void; +} + +const Tag = ({ className, text, index, onRemove }: TagProps): ReactElement => { + const handleRemove = useCallback(() => { + onRemove(index); + }, [index, onRemove]); + + return ( +
+ + {text} + + +
+ ); +}; const buttonStyles = mergedCva(["cui-h-3"]); diff --git a/packages/ui/src/components/input/text/index.tsx b/packages/ui/src/components/text-input.tsx similarity index 93% rename from packages/ui/src/components/input/text/index.tsx rename to packages/ui/src/components/text-input.tsx index 3335ece0d..086efaa20 100644 --- a/packages/ui/src/components/input/text/index.tsx +++ b/packages/ui/src/components/text-input.tsx @@ -1,7 +1,7 @@ import React, { forwardRef, useId } from "react"; import type { ReactElement } from "react"; -import type { BaseInputProps } from "../commons"; -import { inputStyles, BaseInputWrapper } from "../commons"; +import type { BaseInputProps } from "./commons/input"; +import { inputStyles, BaseInputWrapper } from "./commons/input"; export type TextInputProps = Omit, "id"> & { id?: string; diff --git a/packages/ui/src/components/data-display/timer/index.tsx b/packages/ui/src/components/timer.tsx similarity index 85% rename from packages/ui/src/components/data-display/timer/index.tsx rename to packages/ui/src/components/timer.tsx index 5abe997af..897a33a70 100644 --- a/packages/ui/src/components/data-display/timer/index.tsx +++ b/packages/ui/src/components/timer.tsx @@ -1,8 +1,8 @@ import React, { type ReactElement, useEffect, useState } from "react"; -import { Typography, type TypographyProps } from "../typography"; -import Clock from "../../../icons/clock"; -import { mergedCva } from "../../../utils/components"; -import { getDurationFromNowToUNIXTimestamp } from "../../../utils/date"; +import { Typography, type TypographyProps } from "./typography"; +import Clock from "../icons/clock"; +import { mergedCva } from "../utils/components"; +import { getDurationFromNowToUNIXTimestamp } from "../utils/date"; const rootStyles = mergedCva(["cui-flex", "cui-gap-2", "cui-items-center"]); diff --git a/packages/ui/src/components/data-display/typography/index.tsx b/packages/ui/src/components/typography.tsx similarity index 97% rename from packages/ui/src/components/data-display/typography/index.tsx rename to packages/ui/src/components/typography.tsx index bd9e93217..f881d8bd4 100644 --- a/packages/ui/src/components/data-display/typography/index.tsx +++ b/packages/ui/src/components/typography.tsx @@ -6,8 +6,8 @@ import type { ReactElement, ReactNode, } from "react"; -import { mergedCva } from "../../../utils/components"; -import { Popover, type PopoverProps } from "../../utils"; +import { mergedCva } from "../utils/components"; +import { Popover, type PopoverProps } from "./popover"; const rootStyles = mergedCva(["cui-text-black dark:cui-text-white"], { variants: { diff --git a/packages/ui/src/components/utils/index.ts b/packages/ui/src/components/utils/index.ts deleted file mode 100644 index 6bebc086c..000000000 --- a/packages/ui/src/components/utils/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./modal"; -export * from "./popover"; diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index f5a69880a..40b494c5f 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -1,3 +1 @@ -import "./global.css"; - export * from "./components"; diff --git a/packages/ui/src/utils/components/index.tsx b/packages/ui/src/utils/components.tsx similarity index 95% rename from packages/ui/src/utils/components/index.tsx rename to packages/ui/src/utils/components.tsx index 37a6f3eef..cd3222b6a 100644 --- a/packages/ui/src/utils/components/index.tsx +++ b/packages/ui/src/utils/components.tsx @@ -1,7 +1,7 @@ import React, { type FC, type ReactNode } from "react"; import { cva, cx } from "class-variance-authority"; import { extendTailwindMerge } from "tailwind-merge"; -import { theme } from "../../tailwind.preset.theme"; +import { theme } from "../tailwind.preset.theme"; // eslint-disable-next-line @typescript-eslint/no-explicit-any const classGroups: { [key: string]: any } = {}; diff --git a/packages/ui/src/utils/date/index.ts b/packages/ui/src/utils/date.ts similarity index 100% rename from packages/ui/src/utils/date/index.ts rename to packages/ui/src/utils/date.ts diff --git a/packages/ui/src/utils/erc20/index.tsx b/packages/ui/src/utils/erc20.tsx similarity index 96% rename from packages/ui/src/utils/erc20/index.tsx rename to packages/ui/src/utils/erc20.tsx index ffc3f7a31..bca7c027a 100644 --- a/packages/ui/src/utils/erc20/index.tsx +++ b/packages/ui/src/utils/erc20.tsx @@ -1,5 +1,5 @@ import { getAddress, isAddress } from "viem"; -import type { TokenInfoWithBalance } from "../../components/evm/erc20-token-picker/types"; +import type { TokenInfoWithBalance } from "../components/erc20-token-picker/types"; const TRUST_WALLET_CHAIN: { [chainId: number]: string } = { 100: "xdai", diff --git a/packages/ui/src/utils/formatting/index.ts b/packages/ui/src/utils/formatting.ts similarity index 100% rename from packages/ui/src/utils/formatting/index.ts rename to packages/ui/src/utils/formatting.ts diff --git a/packages/ui/src/utils/url/index.ts b/packages/ui/src/utils/url.ts similarity index 100% rename from packages/ui/src/utils/url/index.ts rename to packages/ui/src/utils/url.ts diff --git a/packages/ui/src/components/surfaces/accordion/index.stories.tsx b/packages/ui/stories/accordion.stories.tsx similarity index 90% rename from packages/ui/src/components/surfaces/accordion/index.stories.tsx rename to packages/ui/stories/accordion.stories.tsx index d6fa64723..50cf0f1a7 100644 --- a/packages/ui/src/components/surfaces/accordion/index.stories.tsx +++ b/packages/ui/stories/accordion.stories.tsx @@ -1,10 +1,13 @@ import React from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Accordion, Accordion as AccordionComponent } from "."; -import { AccordionSummary } from "./summary"; -import { AccordionDetails } from "./details"; -import { Typography } from "../../data-display/typography"; +import { + Accordion, + Accordion as AccordionComponent, +} from "../src/components/accordion"; +import { AccordionSummary } from "../src/components/accordion/summary"; +import { AccordionDetails } from "../src/components/accordion/details"; +import { Typography } from "../src/components/typography"; export default { title: "Surfaces/Accordions", diff --git a/packages/ui/src/components/input/button/index.stories.tsx b/packages/ui/stories/button.stories.tsx similarity index 91% rename from packages/ui/src/components/input/button/index.stories.tsx rename to packages/ui/stories/button.stories.tsx index 8867c93d3..7f7b29410 100644 --- a/packages/ui/src/components/input/button/index.stories.tsx +++ b/packages/ui/stories/button.stories.tsx @@ -1,7 +1,7 @@ import type { Meta, StoryObj } from "@storybook/react"; -import Tick from "../../../icons/tick"; -import { Button as ButtonComponent } from "."; +import Tick from "../src/icons/tick"; +import { Button as ButtonComponent } from "../src/components/button"; export default { title: "Input/Button", diff --git a/packages/ui/src/components/surfaces/card/index.stories.tsx b/packages/ui/stories/card.stories.tsx similarity index 73% rename from packages/ui/src/components/surfaces/card/index.stories.tsx rename to packages/ui/stories/card.stories.tsx index ed6c25ccd..a11158f73 100644 --- a/packages/ui/src/components/surfaces/card/index.stories.tsx +++ b/packages/ui/stories/card.stories.tsx @@ -1,12 +1,13 @@ import React from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Card as CardComponent } from "."; -import { CardContent } from "./content"; -import { Chip, Typography } from "../../data-display"; -import { CardTitle } from "./title"; -import { CardActions } from "./actions"; -import { Button } from "../../input"; +import { Card as CardComponent } from "../src/components/card"; +import { CardContent } from "../src/components/card/content"; +import { Typography } from "../src/components/typography"; +import { Chip } from "../src/components/chip"; +import { CardTitle } from "../src/components/card/title"; +import { CardActions } from "../src/components/card/actions"; +import { Button } from "../src/components/button"; export default { title: "Surfaces/Card", diff --git a/packages/ui/src/components/input/checkbox/index.stories.tsx b/packages/ui/stories/checkbox.stories.tsx similarity index 88% rename from packages/ui/src/components/input/checkbox/index.stories.tsx rename to packages/ui/stories/checkbox.stories.tsx index e3e052605..d8931501c 100644 --- a/packages/ui/src/components/input/checkbox/index.stories.tsx +++ b/packages/ui/stories/checkbox.stories.tsx @@ -1,7 +1,10 @@ import React, { ChangeEvent, useCallback, useState } from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Checkbox as CheckboxComponent, CheckboxProps } from "."; +import { + Checkbox as CheckboxComponent, + CheckboxProps, +} from "../src/components/checkbox"; export default { title: "Input/Checkbox", diff --git a/packages/ui/src/components/data-display/chip/index.stories.tsx b/packages/ui/stories/chip.stories.tsx similarity index 87% rename from packages/ui/src/components/data-display/chip/index.stories.tsx rename to packages/ui/stories/chip.stories.tsx index d88bc4b45..bdaa1de88 100644 --- a/packages/ui/src/components/data-display/chip/index.stories.tsx +++ b/packages/ui/stories/chip.stories.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Chip as ChipComponent } from "."; +import { Chip as ChipComponent } from "../src/components/chip"; export default { title: "Data display/Chip", diff --git a/packages/ui/src/components/input/date/index.stories.tsx b/packages/ui/stories/date-input.stories.tsx similarity index 87% rename from packages/ui/src/components/input/date/index.stories.tsx rename to packages/ui/stories/date-input.stories.tsx index ecfd65bcb..cf2db9175 100644 --- a/packages/ui/src/components/input/date/index.stories.tsx +++ b/packages/ui/stories/date-input.stories.tsx @@ -1,7 +1,10 @@ import React, { useCallback, useState } from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { DateInput as DateInputComponent, DateInputProps } from "."; +import { + DateInput as DateInputComponent, + type DateInputProps, +} from "../src/components/date-input"; export default { title: "Input/DatePicker", diff --git a/packages/ui/src/components/input/date-time/index.stories.tsx b/packages/ui/stories/date-time-input.stories.tsx similarity index 83% rename from packages/ui/src/components/input/date-time/index.stories.tsx rename to packages/ui/stories/date-time-input.stories.tsx index ea8dd6886..39a236e43 100644 --- a/packages/ui/src/components/input/date-time/index.stories.tsx +++ b/packages/ui/stories/date-time-input.stories.tsx @@ -1,7 +1,10 @@ import React, { useState } from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { DateTimeInput as DateTimeInputComponent, DateTimeInputProps } from "."; +import { + DateTimeInput as DateTimeInputComponent, + type DateTimeInputProps, +} from "../src/components/date-time-input"; export default { title: "Input/Date Time Picker", diff --git a/packages/ui/src/components/data-display/erc20-token-logo/index.stories.tsx b/packages/ui/stories/erc20-token-logo.stories.tsx similarity index 79% rename from packages/ui/src/components/data-display/erc20-token-logo/index.stories.tsx rename to packages/ui/stories/erc20-token-logo.stories.tsx index f28446648..aab380049 100644 --- a/packages/ui/src/components/data-display/erc20-token-logo/index.stories.tsx +++ b/packages/ui/stories/erc20-token-logo.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { ERC20TokenLogo as ERC20TokenLogoComponent } from "."; +import { ERC20TokenLogo as ERC20TokenLogoComponent } from "../src/components/erc20-token-logo"; export default { title: "Data display/ERC20 Token Logo", diff --git a/packages/ui/src/components/evm/erc20-token-picker/index.stories.tsx b/packages/ui/stories/erc20-token-picker.stories.tsx similarity index 95% rename from packages/ui/src/components/evm/erc20-token-picker/index.stories.tsx rename to packages/ui/stories/erc20-token-picker.stories.tsx index 44e878ecd..5a3f7fece 100644 --- a/packages/ui/src/components/evm/erc20-token-picker/index.stories.tsx +++ b/packages/ui/stories/erc20-token-picker.stories.tsx @@ -4,9 +4,12 @@ import type { Meta, StoryObj, Decorator } from "@storybook/react"; import { ERC20TokenPicker as ERC20TokenPickerComponent, type ERC20TokenPickerProps, -} from "."; -import { Button } from "../../input"; -import type { TokenInfoWithBalance, TokenListWithBalance } from "./types"; +} from "../src/components/erc20-token-picker"; +import { Button } from "../src/components/button"; +import type { + TokenInfoWithBalance, + TokenListWithBalance, +} from "../src/components/erc20-token-picker/types"; import { createConfig, configureChains, @@ -19,7 +22,7 @@ import { import { gnosis } from "wagmi/chains"; import { publicProvider } from "wagmi/providers/public"; import { InjectedConnector } from "wagmi/connectors/injected"; -import { Typography } from "../../data-display"; +import { Typography } from "../src/components/typography"; import { ERC20_ABI } from "@carrot-kpi/sdk"; const CHAIN_ID = gnosis.id; diff --git a/packages/ui/src/components/feedback/error-feedback/index.stories.tsx b/packages/ui/stories/error-feedback.stories.tsx similarity index 86% rename from packages/ui/src/components/feedback/error-feedback/index.stories.tsx rename to packages/ui/stories/error-feedback.stories.tsx index c3ebbedb1..3ce8dd2cd 100644 --- a/packages/ui/src/components/feedback/error-feedback/index.stories.tsx +++ b/packages/ui/stories/error-feedback.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { ErrorFeedback as ErrorFeedbackComponent } from "."; +import { ErrorFeedback as ErrorFeedbackComponent } from "../src/components/error-feedback"; export default { title: "Feedback/Error Feedback", diff --git a/packages/ui/src/components/data-display/error-text/index.stories.tsx b/packages/ui/stories/error-text.stories.tsx similarity index 79% rename from packages/ui/src/components/data-display/error-text/index.stories.tsx rename to packages/ui/stories/error-text.stories.tsx index 5dbfae343..d125706d3 100644 --- a/packages/ui/src/components/data-display/error-text/index.stories.tsx +++ b/packages/ui/stories/error-text.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { ErrorText as ErrorTextComponent } from "."; +import { ErrorText as ErrorTextComponent } from "../src/components/error-text"; export default { title: "Data display/Error Text", diff --git a/packages/ui/src/components/feedback/loader/index.stories.tsx b/packages/ui/stories/loader.stories.tsx similarity index 80% rename from packages/ui/src/components/feedback/loader/index.stories.tsx rename to packages/ui/stories/loader.stories.tsx index 5d7483756..f221ed1d9 100644 --- a/packages/ui/src/components/feedback/loader/index.stories.tsx +++ b/packages/ui/stories/loader.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { Loader as LoaderComponent } from "."; +import { Loader as LoaderComponent } from "../src/components/loader"; export default { title: "Feedback/Loader", diff --git a/packages/ui/src/components/input/markdown/index.stories.tsx b/packages/ui/stories/markdown-input.stories.tsx similarity index 79% rename from packages/ui/src/components/input/markdown/index.stories.tsx rename to packages/ui/stories/markdown-input.stories.tsx index fca24c43f..7aa8b78f5 100644 --- a/packages/ui/src/components/input/markdown/index.stories.tsx +++ b/packages/ui/stories/markdown-input.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { MarkdownInput as MarkdownInputComponent } from "."; +import { MarkdownInput as MarkdownInputComponent } from "../src/components/markdown-input"; export default { title: "Input/Markdown", diff --git a/packages/ui/src/components/data-display/markdown/index.stories.tsx b/packages/ui/stories/markdown.stories.tsx similarity index 96% rename from packages/ui/src/components/data-display/markdown/index.stories.tsx rename to packages/ui/stories/markdown.stories.tsx index 83b564902..778b8ff6a 100644 --- a/packages/ui/src/components/data-display/markdown/index.stories.tsx +++ b/packages/ui/stories/markdown.stories.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Markdown as MarkdownComponent } from "."; +import { Markdown as MarkdownComponent } from "../src/components/markdown"; export default { title: "Data display/Markdown", diff --git a/packages/ui/src/components/utils/modal/index.stories.tsx b/packages/ui/stories/modal.stories.tsx similarity index 82% rename from packages/ui/src/components/utils/modal/index.stories.tsx rename to packages/ui/stories/modal.stories.tsx index 28457414d..5179e0f90 100644 --- a/packages/ui/src/components/utils/modal/index.stories.tsx +++ b/packages/ui/stories/modal.stories.tsx @@ -1,9 +1,12 @@ import React, { useCallback, useState } from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Modal as ModalComponent, type ModalProps } from "."; -import { Button } from "../../input"; -import { Typography } from "../../data-display/typography"; +import { + Modal as ModalComponent, + type ModalProps, +} from "../src/components/modal"; +import { Button } from "../src/components/button"; +import { Typography } from "../src/components/typography"; export default { title: "Utils/Modal", diff --git a/packages/ui/src/components/navigation/multi-step-cards/index.stories.tsx b/packages/ui/stories/multi-step-cards.stories.tsx similarity index 89% rename from packages/ui/src/components/navigation/multi-step-cards/index.stories.tsx rename to packages/ui/stories/multi-step-cards.stories.tsx index 8ddfe277f..7fd156d4a 100644 --- a/packages/ui/src/components/navigation/multi-step-cards/index.stories.tsx +++ b/packages/ui/stories/multi-step-cards.stories.tsx @@ -1,11 +1,12 @@ import type { Meta, StoryObj } from "@storybook/react"; import React, { useState } from "react"; -import { MultiStepCards as MultiStepCardsComponent } from "."; -import { Typography } from "../../data-display"; -import { TagsInput, TextInput } from "../../input"; -import { NextStepButton } from "./next-button"; -import { StepCard } from "./step-card"; +import { MultiStepCards as MultiStepCardsComponent } from "../src/components/multi-step-cards"; +import { Typography } from "../src/components/typography"; +import { TagsInput } from "../src/components/tags-input"; +import { TextInput } from "../src/components/text-input"; +import { NextStepButton } from "../src/components/multi-step-cards/next-button"; +import { StepCard } from "../src/components/multi-step-cards/step-card"; export default { title: "Navigation/Multi Step Cards", diff --git a/packages/ui/src/components/input/number/index.stories.tsx b/packages/ui/stories/number-input.stories.tsx similarity index 76% rename from packages/ui/src/components/input/number/index.stories.tsx rename to packages/ui/stories/number-input.stories.tsx index 2e5095e3f..6d74a10c6 100644 --- a/packages/ui/src/components/input/number/index.stories.tsx +++ b/packages/ui/stories/number-input.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { NumberInput as NumberInputComponent } from "."; +import { NumberInput as NumberInputComponent } from "../src/components/number-input"; export default { title: "Input/Number", @@ -9,7 +9,7 @@ export default { export const Number: StoryObj = { args: { - variant: "md", + variant: "base", label: "Number input", placeholder: "Number input", error: false, diff --git a/packages/ui/src/components/utils/popover/index.stories.tsx b/packages/ui/stories/popover.stories.tsx similarity index 89% rename from packages/ui/src/components/utils/popover/index.stories.tsx rename to packages/ui/stories/popover.stories.tsx index b58b1f702..fb70f896d 100644 --- a/packages/ui/src/components/utils/popover/index.stories.tsx +++ b/packages/ui/stories/popover.stories.tsx @@ -1,8 +1,11 @@ import React, { useCallback, useState } from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Popover as PopoverComponent, PopoverProps } from "."; -import { Typography } from "../../data-display/typography"; +import { + Popover as PopoverComponent, + type PopoverProps, +} from "../src/components/popover"; +import { Typography } from "../src/components/typography"; export default { title: "Utils/Popover", diff --git a/packages/ui/src/components/input/radio-group/index.stories.tsx b/packages/ui/stories/radio-group.stories.tsx similarity index 87% rename from packages/ui/src/components/input/radio-group/index.stories.tsx rename to packages/ui/stories/radio-group.stories.tsx index ae2f13cb5..4fe52ceac 100644 --- a/packages/ui/src/components/input/radio-group/index.stories.tsx +++ b/packages/ui/stories/radio-group.stories.tsx @@ -1,8 +1,11 @@ import React, { ChangeEvent, useState } from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { RadioGroup as RadioGroupComponent, RadioGroupProps } from "."; -import { Radio } from "../radio"; +import { + RadioGroup as RadioGroupComponent, + type RadioGroupProps, +} from "../src/components/radio-group"; +import { Radio } from "../src/components/radio"; export default { title: "Input/Radio Group", diff --git a/packages/ui/src/components/input/radio/index.stories.tsx b/packages/ui/stories/radio-input.stories.tsx similarity index 77% rename from packages/ui/src/components/input/radio/index.stories.tsx rename to packages/ui/stories/radio-input.stories.tsx index 539f15f9d..793b8e93d 100644 --- a/packages/ui/src/components/input/radio/index.stories.tsx +++ b/packages/ui/stories/radio-input.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { Radio as RadioComponent } from "."; +import { Radio as RadioComponent } from "../src/components/radio"; export default { title: "Input/Radio", diff --git a/packages/ui/src/components/data-display/remote-logo/index.stories.tsx b/packages/ui/stories/remote-logo.stories.tsx similarity index 83% rename from packages/ui/src/components/data-display/remote-logo/index.stories.tsx rename to packages/ui/stories/remote-logo.stories.tsx index 653224c24..ec49ae8dc 100644 --- a/packages/ui/src/components/data-display/remote-logo/index.stories.tsx +++ b/packages/ui/stories/remote-logo.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { RemoteLogo as RemoteLogoComponent } from "."; +import { RemoteLogo as RemoteLogoComponent } from "../src/components/remote-logo"; export default { title: "Data display/Remote Logo", diff --git a/packages/ui/src/components/input/select/index.stories.tsx b/packages/ui/stories/select.stories.tsx similarity index 97% rename from packages/ui/src/components/input/select/index.stories.tsx rename to packages/ui/stories/select.stories.tsx index f5147c935..b3015d921 100644 --- a/packages/ui/src/components/input/select/index.stories.tsx +++ b/packages/ui/stories/select.stories.tsx @@ -5,7 +5,7 @@ import { Select as SelectComponent, type SelectOption, type SelectProps, -} from "."; +} from "../src/components/select"; export default { title: "Input/Select", diff --git a/packages/ui/src/components/feedback/skeleton/index.stories.tsx b/packages/ui/stories/skeleton.stories.tsx similarity index 83% rename from packages/ui/src/components/feedback/skeleton/index.stories.tsx rename to packages/ui/stories/skeleton.stories.tsx index a1ab06eff..ccbc64054 100644 --- a/packages/ui/src/components/feedback/skeleton/index.stories.tsx +++ b/packages/ui/stories/skeleton.stories.tsx @@ -1,7 +1,10 @@ import React from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Skeleton as SkeletonComponent, type SkeletonProps } from "."; +import { + Skeleton as SkeletonComponent, + type SkeletonProps, +} from "../src/components/skeleton"; export default { title: "Feedback/Skeleton", diff --git a/packages/ui/src/components/navigation/stepper/index.stories.tsx b/packages/ui/stories/stepper.stories.tsx similarity index 93% rename from packages/ui/src/components/navigation/stepper/index.stories.tsx rename to packages/ui/stories/stepper.stories.tsx index 42ae1db3a..1402ce190 100644 --- a/packages/ui/src/components/navigation/stepper/index.stories.tsx +++ b/packages/ui/stories/stepper.stories.tsx @@ -1,9 +1,9 @@ import React, { useState } from "react"; import type { Meta } from "@storybook/react"; -import { Stepper as StepperComponent } from "."; -import { Card, CardContent, CardTitle } from "../../surfaces"; -import { Typography } from "../../data-display"; +import { Stepper as StepperComponent } from "../src/components/stepper"; +import { Card, CardContent, CardTitle } from "../src/components/card"; +import { Typography } from "../src/components/typography"; export default { title: "Navigation/Stepper", diff --git a/packages/ui/src/components/input/switch/index.stories.tsx b/packages/ui/stories/switch.stories.tsx similarity index 77% rename from packages/ui/src/components/input/switch/index.stories.tsx rename to packages/ui/stories/switch.stories.tsx index a6acf9654..48039b4df 100644 --- a/packages/ui/src/components/input/switch/index.stories.tsx +++ b/packages/ui/stories/switch.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { Switch as SwitchComponent } from "."; +import { Switch as SwitchComponent } from "../src/components/switch"; export default { title: "Input/Switch", diff --git a/packages/ui/src/components/input/tags/index.stories.tsx b/packages/ui/stories/tags-input.stories.tsx similarity index 85% rename from packages/ui/src/components/input/tags/index.stories.tsx rename to packages/ui/stories/tags-input.stories.tsx index 97450dc71..638f35716 100644 --- a/packages/ui/src/components/input/tags/index.stories.tsx +++ b/packages/ui/stories/tags-input.stories.tsx @@ -1,7 +1,10 @@ import React, { useState } from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { TagsInput as TagsInputComponent, TagsInputProps } from "."; +import { + TagsInput as TagsInputComponent, + type TagsInputProps, +} from "../src/components/tags-input"; export default { title: "Input/Tags", diff --git a/packages/ui/src/components/input/text/index.stories.tsx b/packages/ui/stories/text-input.stories.tsx similarity index 79% rename from packages/ui/src/components/input/text/index.stories.tsx rename to packages/ui/stories/text-input.stories.tsx index 33888356a..5418c1fe0 100644 --- a/packages/ui/src/components/input/text/index.stories.tsx +++ b/packages/ui/stories/text-input.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { TextInput as TextInputComponent } from "."; +import { TextInput as TextInputComponent } from "../src/components/text-input"; export default { title: "Input/Text", diff --git a/packages/ui/src/components/data-display/timer/index.stories.tsx b/packages/ui/stories/timer.stories.tsx similarity index 82% rename from packages/ui/src/components/data-display/timer/index.stories.tsx rename to packages/ui/stories/timer.stories.tsx index 78b14e7e2..9afdd236d 100644 --- a/packages/ui/src/components/data-display/timer/index.stories.tsx +++ b/packages/ui/stories/timer.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from "@storybook/react"; -import { Timer as TimerComponent } from "."; +import { Timer as TimerComponent } from "../src/components/timer"; export default { title: "Data display/Timer", diff --git a/packages/ui/src/components/data-display/typography/index.stories.tsx b/packages/ui/stories/typography.stories.tsx similarity index 94% rename from packages/ui/src/components/data-display/typography/index.stories.tsx rename to packages/ui/stories/typography.stories.tsx index 769e81c41..3e4535e04 100644 --- a/packages/ui/src/components/data-display/typography/index.stories.tsx +++ b/packages/ui/stories/typography.stories.tsx @@ -1,7 +1,7 @@ import React from "react"; import type { Meta, StoryObj } from "@storybook/react"; -import { Typography as TypographyComponent } from "."; +import { Typography as TypographyComponent } from "../src/components/typography"; export default { title: "Data display/Typography", diff --git a/packages/ui/tsconfig.build.json b/packages/ui/tsconfig.build.json index 49e89cf8c..351ec5617 100644 --- a/packages/ui/tsconfig.build.json +++ b/packages/ui/tsconfig.build.json @@ -1,7 +1,6 @@ { "extends": "tsconfig/ui.json", "include": ["./src/**/*", "./custom.d.ts"], - "exclude": ["./src/**/*.stories.tsx"], "compilerOptions": { "outDir": "./dist", "declaration": true, diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index 44b225eb6..78f814fb5 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -1,4 +1,4 @@ { "extends": "tsconfig/ui.json", - "include": ["./src/**/*", "./custom.d.ts"] + "include": ["./src/**/*", "./custom.d.ts", "stories/**/*"] } diff --git a/yarn.lock b/yarn.lock index a32fc99c9..2cf3bd281 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1733,111 +1733,221 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.19.tgz#8735b552b8e0b9a943460d37fbc976b9d9cd4b4e" integrity sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA== +"@esbuild/android-arm64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.0.tgz#c5ea635bdbe9b83d1f78a711120814e716439029" + integrity sha512-AzsozJnB+RNaDncBCs3Ys5g3kqhPFUueItfEaCpp89JH2naFNX2mYDIvUgPYMqqjm8hiFoo+jklb3QHZyR3ubw== + "@esbuild/android-arm@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.19.tgz#efd1f33583a893c0cc57f25b1d081af8cdc6bfd9" integrity sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w== +"@esbuild/android-arm@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.0.tgz#6eb6e1fbc0dbfafa035aaef8b5ecde25b539fcf9" + integrity sha512-GAkjUyHgWTYuex3evPd5V7uV/XS4LMKr1PWHRPW1xNyy/Jx08x3uTrDFRefBYLKT/KpaWM8/YMQcwbp5a3yIDA== + "@esbuild/android-x64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.19.tgz#d9f35722701a97a2ef69c7a84f1ee2aef2a306a7" integrity sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg== +"@esbuild/android-x64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.0.tgz#99f154f71f5b92e778468bcf0f425d166c17bf20" + integrity sha512-SUG8/qiVhljBDpdkHQ9DvOWbp7hFFIP0OzxOTptbmVsgBgzY6JWowmMd6yJuOhapfxmj/DrvwKmjRLvVSIAKZg== + "@esbuild/darwin-arm64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.19.tgz#8cb81b971ee5231acc7de07225f6e18562c359e4" integrity sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg== +"@esbuild/darwin-arm64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.0.tgz#2fcc11abf95fbabbf9167db6a11d899385bd777b" + integrity sha512-HkxZ8k3Jvcw0FORPNTavA8BMgQjLOB6AajT+iXmil7BwY3gU1hWvJJAyWyEogCmA4LdbGvKF8vEykdmJ4xNJJQ== + "@esbuild/darwin-x64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.19.tgz#81024ab64232dd323f03796d449f018b59f04ca9" integrity sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ== +"@esbuild/darwin-x64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.0.tgz#b5bbde35468db093fdf994880b0eb4b62613b67c" + integrity sha512-9IRWJjqpWFHM9a5Qs3r3bK834NCFuDY5ZaLrmTjqE+10B6w65UMQzeZjh794JcxpHolsAHqwsN/33crUXNCM2Q== + "@esbuild/freebsd-arm64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.19.tgz#9fa91e3b08d10c0adfa71b37372a7627b26e9686" integrity sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ== +"@esbuild/freebsd-arm64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.0.tgz#3f64c76dc590f79cc40acef6b22dd5eb89fc2125" + integrity sha512-s7i2WcXcK0V1PJHVBe7NsGddsL62a9Vhpz2U7zapPrwKoFuxPP9jybwX8SXnropR/AOj3ppt2ern4ItblU6UQQ== + "@esbuild/freebsd-x64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.19.tgz#ef6f5a85c1bb029fb0076da5b223e50b353e615c" integrity sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q== +"@esbuild/freebsd-x64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.0.tgz#14d497e9e858fba2bb9b16130602b7f5944bc09c" + integrity sha512-NMdBSSdgwHCqCsucU5k1xflIIRU0qi1QZnM6+vdGy5fvxm1c8rKh50VzsWsIVTFUG3l91AtRxVwoz3Lcvy3I5w== + "@esbuild/linux-arm64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.19.tgz#0cef913dcdc1efb1bb04406a8e5f5668b721d89e" integrity sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg== +"@esbuild/linux-arm64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.0.tgz#0f2f4d8889f7dc89681c306d7312aa76445a5f65" + integrity sha512-I4zvE2srSZxRPapFnNqj+NL3sDJ1wkvEZqt903OZUlBBgigrQMvzUowvP/TTTu2OGYe1oweg5MFilfyrElIFag== + "@esbuild/linux-arm@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.19.tgz#39ea874c8e5177b83903bec1883a43f3c163627a" integrity sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg== +"@esbuild/linux-arm@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.0.tgz#0b0f79dc72884f0ad02c0aabfc969a0bee7f6775" + integrity sha512-2F1+lH7ZBcCcgxiSs8EXQV0PPJJdTNiNcXxDb61vzxTRJJkXX1I/ye9mAhfHyScXzHaEibEXg1Jq9SW586zz7w== + "@esbuild/linux-ia32@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.19.tgz#283cd3c3d8380e8fab90583fa86ca1fcc9b9ec57" integrity sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw== +"@esbuild/linux-ia32@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.0.tgz#dfcece1f5e74d0e7db090475e48b28d9aa270687" + integrity sha512-dz2Q7+P92r1Evc8kEN+cQnB3qqPjmCrOZ+EdBTn8lEc1yN8WDgaDORQQiX+mxaijbH8npXBT9GxUqE52Gt6Y+g== + "@esbuild/linux-loong64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.19.tgz#1c69d7928a55b26326398d31d2ac9c82d2297f1b" integrity sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA== +"@esbuild/linux-loong64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.0.tgz#710f5bd55db3f5d9ebac8773ea49795261a35ca7" + integrity sha512-IcVJovJVflih4oFahhUw+N7YgNbuMSVFNr38awb0LNzfaiIfdqIh518nOfYaNQU3aVfiJnOIRVJDSAP4k35WxA== + "@esbuild/linux-mips64el@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.19.tgz#b25b352e7645885fa1d01182116c506a78fe4733" integrity sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q== +"@esbuild/linux-mips64el@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.0.tgz#a918b310f9bf31fced3853ca52fee6e7acc09824" + integrity sha512-bZGRAGySMquWsKw0gIdsClwfvgbsSq/7oq5KVu1H1r9Il+WzOcfkV1hguntIuBjRVL8agI95i4AukjdAV2YpUw== + "@esbuild/linux-ppc64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.19.tgz#568b5a051f47af732c4314e697bb559a14b3d811" integrity sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A== +"@esbuild/linux-ppc64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.0.tgz#104771ef6ce2719ac17031f6b9ed8aa98f8e5faf" + integrity sha512-3LC6H5/gCDorxoRBUdpLV/m7UthYSdar0XcCu+ypycQxMS08MabZ06y1D1yZlDzL/BvOYliRNRWVG/YJJvQdbg== + "@esbuild/linux-riscv64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.19.tgz#020729b47ca63321667297d1610bab81cd08a65c" integrity sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ== +"@esbuild/linux-riscv64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.0.tgz#83beafa472ad4224adcd4d7469e3a17ba1fbd976" + integrity sha512-jfvdKjWk+Cp2sgLtEEdSHXO7qckrw2B2eFBaoRdmfhThqZs29GMMg7q/LsQpybA7BxCLLEs4di5ucsWzZC5XPA== + "@esbuild/linux-s390x@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.19.tgz#ed5cca8dac130d2f736914f9efad5fa15c238c20" integrity sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ== +"@esbuild/linux-s390x@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.0.tgz#edc26cb41d8745716bda9c26bac1f0001eaad029" + integrity sha512-ofcucfNLkoXmcnJaw9ugdEOf40AWKGt09WBFCkpor+vFJVvmk/8OPjl/qRtks2Z7BuZbG3ztJuK1zS9z5Cgx9A== + "@esbuild/linux-x64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.19.tgz#f8023a38ae02b46c60a134ccbc7ae377b3bec66f" integrity sha512-D0IiYjpZRXxGZLQfsydeAD7ZWqdGyFLBj5f2UshJpy09WPs3qizDCsEr8zyzcym6Woj/UI9ZzMIXwvoXVtyt0A== +"@esbuild/linux-x64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.0.tgz#80a6b5e55ad454e0c0af5bdb267335287e331007" + integrity sha512-Fpf7zNDBti3xrQKQKLdXT0hTyOxgFdRJIMtNy8x1az9ATR9/GJ1brYbB/GLWoXhKiHsoWs+2DLkFVNNMTCLEwA== + "@esbuild/netbsd-x64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.19.tgz#8fd667c535db0a5b346afa2d74ff1fb53477427f" integrity sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw== +"@esbuild/netbsd-x64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.0.tgz#2e6e8d869b58aea34bab9c0c47f15ae1bda29a90" + integrity sha512-AMQAp/5oENgDOvVhvOlbhVe1pWii7oFAMRHlmTjSEMcpjTpIHtFXhv9uAFgUERHm3eYtNvS9Vf+gT55cwuI6Aw== + "@esbuild/openbsd-x64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.19.tgz#354d5b54a6bffa381cb513e878880192e07004be" integrity sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA== +"@esbuild/openbsd-x64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.0.tgz#ca0817d3ab332afb0d8d96a2eb42b4d8ebaa8715" + integrity sha512-fDztEve1QUs3h/Dw2AUmBlWGkNQbhDoD05ppm5jKvzQv+HVuV13so7m5RYeiSMIC2XQy7PAjZh+afkxAnCRZxA== + "@esbuild/sunos-x64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.19.tgz#e2de98bd961e04f76f6acf5970263efc7051def5" integrity sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ== +"@esbuild/sunos-x64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.0.tgz#8de27de2563cb3eb6c1af066b6d7fcb1229fe3d4" + integrity sha512-bKZzJ2/rvUjDzA5Ddyva2tMk89WzNJEibZEaq+wY6SiqPlwgFbqyQLimouxLHiHh1itb5P3SNCIF1bc2bw5H9w== + "@esbuild/win32-arm64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.19.tgz#9dca55f0dcbbdb50bf36353d1114f5f71c269275" integrity sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg== +"@esbuild/win32-arm64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.0.tgz#67c2b410ff8862be2cd61145ad21e11be00fb914" + integrity sha512-NQJ+4jmnA79saI+sE+QzcEls19uZkoEmdxo7r//PDOjIpX8pmoWtTnWg6XcbnO7o4fieyAwb5U2LvgWynF4diA== + "@esbuild/win32-ia32@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.19.tgz#db6ea4467e87e6d3fc2177dea35e81f26f7a061d" integrity sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg== +"@esbuild/win32-ia32@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.0.tgz#cac8992219c6d943bb22226e4afeb3774a29cca1" + integrity sha512-uyxiZAnsfu9diHm9/rIH2soecF/HWLXYUhJKW4q1+/LLmNQ+55lRjvSUDhUmsgJtSUscRJB/3S4RNiTb9o9mCg== + "@esbuild/win32-x64@0.18.19": version "0.18.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.19.tgz#6105755d7097e0d7e22f893c3e62f143d8137bd0" integrity sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA== +"@esbuild/win32-x64@0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.0.tgz#fa5f12c96811cec3233a53bdbf61d1a05ba9018f" + integrity sha512-jl+NXUjK2StMgqnZnqgNjZuerFG8zQqWXMBZdMMv4W/aO1ZKQaYWZBxTrtWKphkCBVEMh0wMVfGgOd2BjOZqUQ== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -8331,6 +8441,17 @@ css-select@^4.1.3: domutils "^2.8.0" nth-check "^2.0.1" +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" @@ -8347,12 +8468,28 @@ css-tree@^1.1.2, css-tree@^1.1.3: mdn-data "2.0.14" source-map "^0.6.1" +css-tree@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + css-what@^3.2.1: version "3.4.2" resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== -css-what@^6.0.1: +css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== @@ -8402,11 +8539,51 @@ cssnano-preset-default@^5.2.14: postcss-svgo "^5.1.0" postcss-unique-selectors "^5.1.1" +cssnano-preset-default@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz#2a93247140d214ddb9f46bc6a3562fa9177fe301" + integrity sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^4.0.0" + postcss-calc "^9.0.0" + postcss-colormin "^6.0.0" + postcss-convert-values "^6.0.0" + postcss-discard-comments "^6.0.0" + postcss-discard-duplicates "^6.0.0" + postcss-discard-empty "^6.0.0" + postcss-discard-overridden "^6.0.0" + postcss-merge-longhand "^6.0.0" + postcss-merge-rules "^6.0.1" + postcss-minify-font-values "^6.0.0" + postcss-minify-gradients "^6.0.0" + postcss-minify-params "^6.0.0" + postcss-minify-selectors "^6.0.0" + postcss-normalize-charset "^6.0.0" + postcss-normalize-display-values "^6.0.0" + postcss-normalize-positions "^6.0.0" + postcss-normalize-repeat-style "^6.0.0" + postcss-normalize-string "^6.0.0" + postcss-normalize-timing-functions "^6.0.0" + postcss-normalize-unicode "^6.0.0" + postcss-normalize-url "^6.0.0" + postcss-normalize-whitespace "^6.0.0" + postcss-ordered-values "^6.0.0" + postcss-reduce-initial "^6.0.0" + postcss-reduce-transforms "^6.0.0" + postcss-svgo "^6.0.0" + postcss-unique-selectors "^6.0.0" + cssnano-utils@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== +cssnano-utils@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.0.tgz#d1da885ec04003ab19505ff0e62e029708d36b08" + integrity sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw== + cssnano@^5.0.1, cssnano@^5.0.6: version "5.1.15" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" @@ -8416,6 +8593,14 @@ cssnano@^5.0.1, cssnano@^5.0.6: lilconfig "^2.0.3" yaml "^1.10.2" +cssnano@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.0.1.tgz#87c38c4cd47049c735ab756d7e77ac3ca855c008" + integrity sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg== + dependencies: + cssnano-preset-default "^6.0.1" + lilconfig "^2.1.0" + csso@^4.0.2, csso@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" @@ -8423,6 +8608,13 @@ csso@^4.0.2, csso@^4.2.0: dependencies: css-tree "^1.1.2" +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" @@ -9303,6 +9495,16 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" +esbuild-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-4.0.0.tgz#0ed47ed44183dad6f9be5037aa954486b28f6112" + integrity sha512-J7TJWyHV2YHmflZaXLZ0Vf4wYmixDyGTw26bt4Ok+XOqSyYA4VWAVt2zJGqIfCA7TwZRDKN8hvus4akN2yAbmA== + dependencies: + esbuild "^0.19.0" + get-tsconfig "^4.6.2" + loader-utils "^2.0.4" + webpack-sources "^1.4.3" + esbuild-plugin-alias@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz#45a86cb941e20e7c2bc68a2bea53562172494fcb" @@ -9343,6 +9545,34 @@ esbuild@^0.18.0, esbuild@^0.18.6: "@esbuild/win32-ia32" "0.18.19" "@esbuild/win32-x64" "0.18.19" +esbuild@^0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.0.tgz#f187e4ce3bcc7396d13f408a991655efeba65282" + integrity sha512-i7i8TP4vuG55bKeLyqqk5sTPu1ZjPH3wkcLvAj/0X/222iWFo3AJUYRKjbOoY6BWFMH3teizxHEdV9Su5ESl0w== + optionalDependencies: + "@esbuild/android-arm" "0.19.0" + "@esbuild/android-arm64" "0.19.0" + "@esbuild/android-x64" "0.19.0" + "@esbuild/darwin-arm64" "0.19.0" + "@esbuild/darwin-x64" "0.19.0" + "@esbuild/freebsd-arm64" "0.19.0" + "@esbuild/freebsd-x64" "0.19.0" + "@esbuild/linux-arm" "0.19.0" + "@esbuild/linux-arm64" "0.19.0" + "@esbuild/linux-ia32" "0.19.0" + "@esbuild/linux-loong64" "0.19.0" + "@esbuild/linux-mips64el" "0.19.0" + "@esbuild/linux-ppc64" "0.19.0" + "@esbuild/linux-riscv64" "0.19.0" + "@esbuild/linux-s390x" "0.19.0" + "@esbuild/linux-x64" "0.19.0" + "@esbuild/netbsd-x64" "0.19.0" + "@esbuild/openbsd-x64" "0.19.0" + "@esbuild/sunos-x64" "0.19.0" + "@esbuild/win32-arm64" "0.19.0" + "@esbuild/win32-ia32" "0.19.0" + "@esbuild/win32-x64" "0.19.0" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -10573,7 +10803,7 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -get-tsconfig@^4.5.0: +get-tsconfig@^4.5.0, get-tsconfig@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.6.2.tgz#831879a5e6c2aa24fe79b60340e2233a1e0f472e" integrity sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg== @@ -13633,6 +13863,16 @@ mdn-data@2.0.14: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + mdn-data@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" @@ -14857,6 +15097,14 @@ postcss-calc@^8.2.3: postcss-selector-parser "^6.0.9" postcss-value-parser "^4.2.0" +postcss-calc@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" + integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== + dependencies: + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + postcss-clamp@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" @@ -14895,6 +15143,16 @@ postcss-colormin@^5.3.1: colord "^2.9.1" postcss-value-parser "^4.2.0" +postcss-colormin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.0.0.tgz#d4250652e952e1c0aca70c66942da93d3cdeaafe" + integrity sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + postcss-convert-values@^5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" @@ -14903,6 +15161,14 @@ postcss-convert-values@^5.1.3: browserslist "^4.21.4" postcss-value-parser "^4.2.0" +postcss-convert-values@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz#ec94a954957e5c3f78f0e8f65dfcda95280b8996" + integrity sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + postcss-custom-media@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" @@ -14936,21 +15202,41 @@ postcss-discard-comments@^5.1.2: resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== +postcss-discard-comments@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz#9ca335e8b68919f301b24ba47dde226a42e535fe" + integrity sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw== + postcss-discard-duplicates@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== +postcss-discard-duplicates@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz#c26177a6c33070922e67e9a92c0fd23d443d1355" + integrity sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA== + postcss-discard-empty@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== +postcss-discard-empty@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz#06c1c4fce09e22d2a99e667c8550eb8a3a1b9aee" + integrity sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ== + postcss-discard-overridden@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== +postcss-discard-overridden@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz#49c5262db14e975e349692d9024442de7cd8e234" + integrity sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw== + postcss-double-position-gradients@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" @@ -15083,6 +15369,14 @@ postcss-merge-longhand@^5.1.7: postcss-value-parser "^4.2.0" stylehacks "^5.1.1" +postcss-merge-longhand@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz#6f627b27db939bce316eaa97e22400267e798d69" + integrity sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^6.0.0" + postcss-merge-rules@^5.1.4: version "5.1.4" resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" @@ -15093,6 +15387,16 @@ postcss-merge-rules@^5.1.4: cssnano-utils "^3.1.0" postcss-selector-parser "^6.0.5" +postcss-merge-rules@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz#39f165746404e646c0f5c510222ccde4824a86aa" + integrity sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^4.0.0" + postcss-selector-parser "^6.0.5" + postcss-minify-font-values@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" @@ -15100,6 +15404,13 @@ postcss-minify-font-values@^5.1.0: dependencies: postcss-value-parser "^4.2.0" +postcss-minify-font-values@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz#68d4a028f9fa5f61701974724b2cc9445d8e6070" + integrity sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA== + dependencies: + postcss-value-parser "^4.2.0" + postcss-minify-gradients@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" @@ -15109,6 +15420,15 @@ postcss-minify-gradients@^5.1.1: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" +postcss-minify-gradients@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz#22b5c88cc63091dadbad34e31ff958404d51d679" + integrity sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA== + dependencies: + colord "^2.9.1" + cssnano-utils "^4.0.0" + postcss-value-parser "^4.2.0" + postcss-minify-params@^5.1.4: version "5.1.4" resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" @@ -15118,6 +15438,15 @@ postcss-minify-params@^5.1.4: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" +postcss-minify-params@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz#2b3a85a9e3b990d7a16866f430f5fd1d5961b539" + integrity sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^4.0.0" + postcss-value-parser "^4.2.0" + postcss-minify-selectors@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" @@ -15125,6 +15454,13 @@ postcss-minify-selectors@^5.2.1: dependencies: postcss-selector-parser "^6.0.5" +postcss-minify-selectors@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz#5046c5e8680a586e5a0cad52cc9aa36d6be5bda2" + integrity sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g== + dependencies: + postcss-selector-parser "^6.0.5" + postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" @@ -15187,6 +15523,11 @@ postcss-normalize-charset@^5.1.0: resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== +postcss-normalize-charset@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz#36cc12457259064969fb96f84df491652a4b0975" + integrity sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ== + postcss-normalize-display-values@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" @@ -15194,6 +15535,13 @@ postcss-normalize-display-values@^5.1.0: dependencies: postcss-value-parser "^4.2.0" +postcss-normalize-display-values@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz#8d2961415078644d8c6bbbdaf9a2fdd60f546cd4" + integrity sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw== + dependencies: + postcss-value-parser "^4.2.0" + postcss-normalize-positions@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" @@ -15201,6 +15549,13 @@ postcss-normalize-positions@^5.1.1: dependencies: postcss-value-parser "^4.2.0" +postcss-normalize-positions@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz#25b96df99a69f8925f730eaee0be74416865e301" + integrity sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg== + dependencies: + postcss-value-parser "^4.2.0" + postcss-normalize-repeat-style@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" @@ -15208,6 +15563,13 @@ postcss-normalize-repeat-style@^5.1.1: dependencies: postcss-value-parser "^4.2.0" +postcss-normalize-repeat-style@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz#ddf30ad8762feb5b1eb97f39f251acd7b8353299" + integrity sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A== + dependencies: + postcss-value-parser "^4.2.0" + postcss-normalize-string@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" @@ -15215,6 +15577,13 @@ postcss-normalize-string@^5.1.0: dependencies: postcss-value-parser "^4.2.0" +postcss-normalize-string@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz#948282647a51e409d69dde7910f0ac2ff97cb5d8" + integrity sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w== + dependencies: + postcss-value-parser "^4.2.0" + postcss-normalize-timing-functions@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" @@ -15222,6 +15591,13 @@ postcss-normalize-timing-functions@^5.1.0: dependencies: postcss-value-parser "^4.2.0" +postcss-normalize-timing-functions@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz#5f13e650b8c43351989fc5de694525cc2539841c" + integrity sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg== + dependencies: + postcss-value-parser "^4.2.0" + postcss-normalize-unicode@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" @@ -15230,6 +15606,14 @@ postcss-normalize-unicode@^5.1.1: browserslist "^4.21.4" postcss-value-parser "^4.2.0" +postcss-normalize-unicode@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz#741b3310f874616bdcf07764f5503695d3604730" + integrity sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + postcss-normalize-url@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" @@ -15238,6 +15622,13 @@ postcss-normalize-url@^5.1.0: normalize-url "^6.0.1" postcss-value-parser "^4.2.0" +postcss-normalize-url@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz#d0a31e962a16401fb7deb7754b397a323fb650b4" + integrity sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw== + dependencies: + postcss-value-parser "^4.2.0" + postcss-normalize-whitespace@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" @@ -15245,6 +15636,13 @@ postcss-normalize-whitespace@^5.1.1: dependencies: postcss-value-parser "^4.2.0" +postcss-normalize-whitespace@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz#accb961caa42e25ca4179b60855b79b1f7129d4d" + integrity sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw== + dependencies: + postcss-value-parser "^4.2.0" + postcss-normalize@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz#464692676b52792a06b06880a176279216540dd7" @@ -15267,6 +15665,14 @@ postcss-ordered-values@^5.1.3: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" +postcss-ordered-values@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz#374704cdff25560d44061d17ba3c6308837a3218" + integrity sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg== + dependencies: + cssnano-utils "^4.0.0" + postcss-value-parser "^4.2.0" + postcss-overflow-shorthand@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" @@ -15356,6 +15762,14 @@ postcss-reduce-initial@^5.1.2: browserslist "^4.21.4" caniuse-api "^3.0.0" +postcss-reduce-initial@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz#7d16e83e60e27e2fa42f56ec0b426f1da332eca7" + integrity sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + postcss-reduce-transforms@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" @@ -15363,6 +15777,13 @@ postcss-reduce-transforms@^5.1.0: dependencies: postcss-value-parser "^4.2.0" +postcss-reduce-transforms@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz#28ff2601a6d9b96a2f039b3501526e1f4d584a46" + integrity sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w== + dependencies: + postcss-value-parser "^4.2.0" + postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" @@ -15399,6 +15820,14 @@ postcss-svgo@^5.1.0: postcss-value-parser "^4.2.0" svgo "^2.7.0" +postcss-svgo@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.0.tgz#7b18742d38d4505a0455bbe70d52b49f00eaf69d" + integrity sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^3.0.2" + postcss-unique-selectors@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" @@ -15406,6 +15835,13 @@ postcss-unique-selectors@^5.1.1: dependencies: postcss-selector-parser "^6.0.5" +postcss-unique-selectors@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz#c94e9b0f7bffb1203894e42294b5a1b3fb34fbe1" + integrity sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw== + dependencies: + postcss-selector-parser "^6.0.5" + postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" @@ -17752,6 +18188,14 @@ stylehacks@^5.1.1: browserslist "^4.21.4" postcss-selector-parser "^6.0.4" +stylehacks@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.0.0.tgz#9fdd7c217660dae0f62e14d51c89f6c01b3cb738" + integrity sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw== + dependencies: + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + stylis@^4.0.6: version "4.3.0" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.0.tgz#abe305a669fc3d8777e10eefcfc73ad861c5588c" @@ -17851,6 +18295,18 @@ svgo@^2.7.0: picocolors "^1.0.0" stable "^0.1.8" +svgo@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.0.2.tgz#5e99eeea42c68ee0dc46aa16da093838c262fe0a" + integrity sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.2.1" + csso "^5.0.5" + picocolors "^1.0.0" + swc-loader@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d"