From f4bb39464c818431f3b02ebbb6dc097d8ccc2f73 Mon Sep 17 00:00:00 2001 From: Sandro Pereira <38382721+54nd10@users.noreply.github.com> Date: Thu, 4 Jan 2024 10:09:54 +0000 Subject: [PATCH 01/66] wip --- apps/www/.storybook/main.ts | 37 + apps/www/.storybook/preview.ts | 21 + apps/www/package.json | 19 +- .../ui/atoms/avatar/avatar.stories.tsx | 237 +++++ apps/www/tailwind.config.ts | 2 +- package.json | 4 +- pnpm-lock.yaml | 827 ++++++++++++++---- 7 files changed, 987 insertions(+), 160 deletions(-) create mode 100644 apps/www/.storybook/main.ts create mode 100644 apps/www/.storybook/preview.ts create mode 100644 apps/www/src/components/ui/atoms/avatar/avatar.stories.tsx diff --git a/apps/www/.storybook/main.ts b/apps/www/.storybook/main.ts new file mode 100644 index 00000000..a8d20747 --- /dev/null +++ b/apps/www/.storybook/main.ts @@ -0,0 +1,37 @@ +import type {StorybookConfig} from '@storybook/nextjs' + +import {join, dirname, resolve} from 'path' +import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin' +/** + * This function is used to resolve the absolute path of a package. + * It is needed in projects that use Yarn PnP or are set up within a monorepo. + */ +function getAbsolutePath(value: string): any { + return dirname(require.resolve(join(value, 'package.json'))) +} +const config: StorybookConfig = { + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], + addons: [ + getAbsolutePath('@storybook/addon-links'), + getAbsolutePath('@storybook/addon-essentials'), + getAbsolutePath('@storybook/addon-onboarding'), + getAbsolutePath('@storybook/addon-interactions') + ], + framework: { + name: getAbsolutePath('@storybook/nextjs'), + options: {} + }, + docs: { + autodocs: 'tag' + }, + webpackFinal: async (config) => { + config.resolve.plugins = config.resolve.plugins || [] + config.resolve.plugins.push( + new TsconfigPathsPlugin({ + configFile: resolve(__dirname, '../tsconfig.json') + }) + ) + return config + } +} +export default config diff --git a/apps/www/.storybook/preview.ts b/apps/www/.storybook/preview.ts new file mode 100644 index 00000000..137796a2 --- /dev/null +++ b/apps/www/.storybook/preview.ts @@ -0,0 +1,21 @@ +import type {Preview} from '@storybook/react' +import '../src/styles/global.css' +import config from '../tailwind.config' + +const preview: Preview = { + parameters: { + backgrounds: { + default: '56kcloud', + values: [{name: '56kcloud', value: config.theme.extend.colors.background}] + }, + actions: {argTypesRegex: '^on[A-Z].*'}, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i + } + } + } +} + +export default preview diff --git a/apps/www/package.json b/apps/www/package.json index de819bf7..11b36867 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -19,7 +19,6 @@ "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-slot": "^1.0.2", "@slack/web-api": "^6.11.0", - "@types/luxon": "^3.3.3", "child_process": "^1.0.2", "clsx": "^2.0.0", "date-fns": "^2.30.0", @@ -49,18 +48,21 @@ }, "devDependencies": { "@headlessui/react": "^1.7.17", - "@storybook/addon-essentials": "^7.5.2", - "@storybook/addon-interactions": "^7.5.2", - "@storybook/addon-links": "^7.5.2", + "@storybook/addon-essentials": "^7.6.7", + "@storybook/addon-interactions": "^7.6.7", + "@storybook/addon-links": "^7.6.7", + "@storybook/addon-onboarding": "^1.0.10", "@storybook/addon-styling": "^1.3.7", - "@storybook/blocks": "^7.5.2", - "@storybook/nextjs": "^7.5.2", - "@storybook/react": "^7.5.2", - "@storybook/react-webpack5": "^7.5.2", + "@storybook/blocks": "^7.6.7", + "@storybook/nextjs": "^7.6.7", + "@storybook/react": "^7.6.7", + "@storybook/react-webpack5": "^7.6.7", + "@storybook/test": "^7.6.7", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/forms": "^0.5.6", "@tailwindcss/typography": "^0.5.10", "@types/humanize-duration": "^3.27.2", + "@types/luxon": "^3.3.3", "@types/node": "^20.8.10", "@types/react": "^x", "@types/react-responsive-masonry": "^2.1.2", @@ -72,6 +74,7 @@ "postcss": "^8.4.31", "storybook": "^7.5.2", "tailwindcss": "^3.3.5", + "tsconfig-paths-webpack-plugin": "^4.1.0", "typescript": "^5.2.2" } } diff --git a/apps/www/src/components/ui/atoms/avatar/avatar.stories.tsx b/apps/www/src/components/ui/atoms/avatar/avatar.stories.tsx new file mode 100644 index 00000000..f78ca2f5 --- /dev/null +++ b/apps/www/src/components/ui/atoms/avatar/avatar.stories.tsx @@ -0,0 +1,237 @@ +import {ButtonPropsImpl, buttonAlignments, buttonShapes, buttonSizes, buttonTones, buttonVariants} from './button.model' +import Button from './index' +import type {Meta} from '@storybook/react' + +const meta = { + title: 'components/Atoms/Button', + component: Button, + tags: ['autodocs'], + argTypes: { + tone: { + options: buttonTones, + control: {type: 'select'} + }, + variant: { + options: buttonVariants, + control: {type: 'select'} + }, + size: { + options: buttonSizes, + control: {type: 'select'} + }, + shape: { + options: buttonShapes, + control: {type: 'select'} + }, + align: { + options: buttonAlignments, + control: {type: 'select'} + }, + disabled: { + control: {type: 'boolean'} + }, + loading: { + control: {type: 'boolean'} + } + }, + args: { + tone: 'primary', + variant: 'default', + size: 'medium', + shape: 'rounded', + align: 'center', + disabled: false, + loading: false + } +} satisfies Meta + +export default meta + +export const Default = { + name: 'Default', + render: (args: ButtonPropsImpl) => +} + +export const Variants = { + name: 'Variants', + render: (args: ButtonPropsImpl) => ( +
+ {buttonTones.map((tone) => ( + + ))} +
+ ) +} + +export const VariantsLinks = { + name: 'Variants - Link', + render: (args: ButtonPropsImpl) => ( +
+ {buttonTones.map((tone) => ( + + ))} +
+ ) +} + +export const VariantsGhosts = { + name: 'Variants - Ghost', + render: (args: ButtonPropsImpl) => ( +
+ {buttonTones.map((tone) => ( + + ))} +
+ ) +} + +export const Sizes = { + name: 'Sizes', + render: (args: ButtonPropsImpl) => ( +
+ {buttonSizes.map((size) => ( + + ))} +
+ ) +} + +export const Shapes = { + name: 'Shapes', + render: (args: ButtonPropsImpl) => ( +
+ {buttonShapes.map((shape) => ( + + ))} +
+ ) +} + +export const Alignments = { + name: 'Alignments', + render: (args: ButtonPropsImpl) => ( +
+ {buttonAlignments.map((alignment, i) => { + return ( +
+ + + +
+ ) + })} +
+ ) +} + +export const leading = { + name: 'With leading', + render: (args: ButtonPropsImpl) => ( + + ) +} + +export const trailing = { + name: 'With trailing', + render: (args: ButtonPropsImpl) => ( + + ) +} + +export const Loading = { + name: 'Loading', + render: (args: ButtonPropsImpl) => ( +
+ {buttonTones.map((tone) => ( + + ))} +
+ ) +} + +export const Disabled = { + name: 'Disabled', + render: (args: ButtonPropsImpl) => ( +
+ {buttonTones.map((tone) => ( + + ))} +
+ ) +} diff --git a/apps/www/tailwind.config.ts b/apps/www/tailwind.config.ts index 4e0e9ae3..1d9f5e39 100644 --- a/apps/www/tailwind.config.ts +++ b/apps/www/tailwind.config.ts @@ -1,6 +1,6 @@ import colors from 'tailwindcss/colors' -module.exports = { +export default { content: ['./src/**/*.{js,ts,jsx,tsx}', './node_modules/notion-to-tailwind/**/*.{js,ts,jsx,tsx}'], theme: { extend: { diff --git a/package.json b/package.json index 8d45fee1..f4f8f4ed 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,6 @@ "start": "cd apps/cms && npm run start" }, "dependencies": { - "@types/react": "^18.2.33", - "@types/react-dom": "^18.2.18", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^5.2.0" @@ -32,6 +30,8 @@ "devDependencies": { "@faker-js/faker": "^8.2.0", "@types/node": "20.8.7", + "@types/react": "^18.2.33", + "@types/react-dom": "^18.2.18", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", "eslint": "^8.44.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b40fdcf3..991caa0f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,12 +8,6 @@ importers: .: dependencies: - '@types/react': - specifier: ^18.2.33 - version: 18.2.45 - '@types/react-dom': - specifier: ^18.2.18 - version: 18.2.18 react: specifier: ^18.2.0 version: 18.2.0 @@ -30,6 +24,12 @@ importers: '@types/node': specifier: 20.8.7 version: 20.8.7 + '@types/react': + specifier: ^18.2.33 + version: 18.2.45 + '@types/react-dom': + specifier: ^18.2.18 + version: 18.2.18 '@typescript-eslint/eslint-plugin': specifier: ^6.8.0 version: 6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.3.3) @@ -206,9 +206,6 @@ importers: '@slack/web-api': specifier: ^6.11.0 version: 6.11.0 - '@types/luxon': - specifier: ^3.3.3 - version: 3.3.7 child_process: specifier: ^1.0.2 version: 1.0.2 @@ -292,29 +289,35 @@ importers: specifier: ^1.7.17 version: 1.7.17(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-essentials': - specifier: ^7.5.2 - version: 7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.6.7 + version: 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-interactions': - specifier: ^7.5.2 - version: 7.6.6 + specifier: ^7.6.7 + version: 7.6.7 '@storybook/addon-links': - specifier: ^7.5.2 - version: 7.6.6(react@18.2.0) + specifier: ^7.6.7 + version: 7.6.7(react@18.2.0) + '@storybook/addon-onboarding': + specifier: ^1.0.10 + version: 1.0.10(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-styling': specifier: ^1.3.7 version: 1.3.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(less@4.2.0)(postcss@8.4.32)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.89.0) '@storybook/blocks': - specifier: ^7.5.2 - version: 7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.6.7 + version: 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@storybook/nextjs': - specifier: ^7.5.2 - version: 7.6.6(@swc/core@1.3.101)(esbuild@0.18.20)(next@14.0.4)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.89.0) + specifier: ^7.6.7 + version: 7.6.7(@swc/core@1.3.101)(esbuild@0.18.20)(next@14.0.4)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.89.0) '@storybook/react': - specifier: ^7.5.2 - version: 7.6.6(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + specifier: ^7.6.7 + version: 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@storybook/react-webpack5': - specifier: ^7.5.2 - version: 7.6.6(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + specifier: ^7.6.7 + version: 7.6.7(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@storybook/test': + specifier: ^7.6.7 + version: 7.6.7 '@tailwindcss/aspect-ratio': specifier: ^0.4.2 version: 0.4.2(tailwindcss@3.3.7) @@ -327,6 +330,9 @@ importers: '@types/humanize-duration': specifier: ^3.27.2 version: 3.27.3 + '@types/luxon': + specifier: ^3.3.3 + version: 3.3.7 '@types/node': specifier: ^20.8.10 version: 20.10.5 @@ -360,6 +366,9 @@ importers: tailwindcss: specifier: ^3.3.5 version: 3.3.7(ts-node@10.9.2) + tsconfig-paths-webpack-plugin: + specifier: ^4.1.0 + version: 4.1.0 typescript: specifier: ^5.2.2 version: 5.3.3 @@ -371,6 +380,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /@adobe/css-tools@4.3.2: + resolution: {integrity: sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==} + dev: true + /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -2625,6 +2638,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: false optional: true /@esbuild/android-arm@0.16.17: @@ -2659,6 +2673,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: false optional: true /@esbuild/android-x64@0.16.17: @@ -2693,6 +2708,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: false optional: true /@esbuild/darwin-arm64@0.16.17: @@ -2727,6 +2743,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: false optional: true /@esbuild/darwin-x64@0.16.17: @@ -2761,6 +2778,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: false optional: true /@esbuild/freebsd-arm64@0.16.17: @@ -2795,6 +2813,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: false optional: true /@esbuild/freebsd-x64@0.16.17: @@ -2829,6 +2848,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: false optional: true /@esbuild/linux-arm64@0.16.17: @@ -2863,6 +2883,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/linux-arm@0.16.17: @@ -2897,6 +2918,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/linux-ia32@0.16.17: @@ -2931,6 +2953,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/linux-loong64@0.16.17: @@ -2965,6 +2988,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/linux-mips64el@0.16.17: @@ -2999,6 +3023,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/linux-ppc64@0.16.17: @@ -3033,6 +3058,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/linux-riscv64@0.16.17: @@ -3067,6 +3093,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/linux-s390x@0.16.17: @@ -3101,6 +3128,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/linux-x64@0.16.17: @@ -3135,6 +3163,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true /@esbuild/netbsd-x64@0.16.17: @@ -3169,6 +3198,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: false optional: true /@esbuild/openbsd-x64@0.16.17: @@ -3203,6 +3233,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: false optional: true /@esbuild/sunos-x64@0.16.17: @@ -3237,6 +3268,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: false optional: true /@esbuild/win32-arm64@0.16.17: @@ -3271,6 +3303,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: false optional: true /@esbuild/win32-ia32@0.16.17: @@ -3305,6 +3338,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: false optional: true /@esbuild/win32-x64@0.16.17: @@ -3339,6 +3373,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: false optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): @@ -5608,10 +5643,10 @@ packages: tslib: 2.6.2 dev: false - /@storybook/addon-actions@7.6.6: - resolution: {integrity: sha512-mLJip9Evb2Chj7ymKbpaybe5NgDy3Du7oSWeURPy/0qXJ2cBqHWnhZ8CTK2DasrstsUhQSJaZVXHhaENT+fn+g==} + /@storybook/addon-actions@7.6.7: + resolution: {integrity: sha512-+6EZvhIeKEqG/RNsU3R5DxOrd60BL5GEvmzE2w60s2eKaNNxtyilDjiO1g4z2s2zDNyr7JL/Ft03pJ0Jgo0lew==} dependencies: - '@storybook/core-events': 7.6.6 + '@storybook/core-events': 7.6.7 '@storybook/global': 5.0.0 '@types/uuid': 9.0.7 dequal: 2.0.3 @@ -5619,18 +5654,18 @@ packages: uuid: 9.0.1 dev: true - /@storybook/addon-backgrounds@7.6.6: - resolution: {integrity: sha512-w5dZ/0cOe55M2G/Lx9f+Ptk4txUPb+Ng+KqEvTaTNqHoh0Xw4QxEn/ciJwmh1u1g3aMZsOgOvwPwug7ykmLgsA==} + /@storybook/addon-backgrounds@7.6.7: + resolution: {integrity: sha512-55sBy1YUqponAVe+qL16qtWxdf63vHEnIoqFyHEwGpk7K9IhFA1BmdSpFr5VnWEwXeJXKj30db78frh2LUdk3Q==} dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 ts-dedent: 2.2.0 dev: true - /@storybook/addon-controls@7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-VAXXfPLi1M3RXhBf3uIBZ2hrD9UPDe7yvXHIlCzgj1HIJELODCFyUc+RtvN0mPc/nnlEfzhGfJtenZou5LYwIw==} + /@storybook/addon-controls@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-DJ3gfvcdCgqi7AQxu83vx0AEUKiuJrNcSATfWV3Jqi8dH6fYO2yqpemHEeWOEy+DAHxIOaqLKwb1QjIBj+vSRQ==} dependencies: - '@storybook/blocks': 7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@storybook/blocks': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) lodash: 4.17.21 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -5642,27 +5677,27 @@ packages: - supports-color dev: true - /@storybook/addon-docs@7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-l4gtoNTn1wHE11x44te1cDkqfm+/w+eNonHe56bwgSqETclS5z18wvM9bQZF32G6C9fpSefaJW3cxVvcuJL1fg==} + /@storybook/addon-docs@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2dfajNhweofJ3LxjGO83UE5sBMvKtJB0Agj7q8mMtK/9PUCUcbvsFSyZnO/s6X1zAjSn5ZrirbSoTXU4IqxwSA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@jest/transform': 29.7.0 '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.6.6 - '@storybook/components': 7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-plugin': 7.6.6 - '@storybook/csf-tools': 7.6.6 + '@storybook/blocks': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.6.7 + '@storybook/components': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@storybook/csf-plugin': 7.6.7 + '@storybook/csf-tools': 7.6.7 '@storybook/global': 5.0.0 '@storybook/mdx2-csf': 1.1.0 - '@storybook/node-logger': 7.6.6 - '@storybook/postinstall': 7.6.6 - '@storybook/preview-api': 7.6.6 - '@storybook/react-dom-shim': 7.6.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.6.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.6 + '@storybook/node-logger': 7.6.7 + '@storybook/postinstall': 7.6.7 + '@storybook/preview-api': 7.6.7 + '@storybook/react-dom-shim': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.7 fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5676,25 +5711,25 @@ packages: - supports-color dev: true - /@storybook/addon-essentials@7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-OQ8A6r06mg/HvyIk/j2Gt9DK5Qtqgtwq2Ydm5IgVW6gZsuRnv1FAeUG6okf8oXowAzpYoHdsDmCVwNOAGWGO7w==} + /@storybook/addon-essentials@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-nNLMrpIvc04z4XCA+kval/44eKAFJlUJeeL2pxwP7F/PSzjWe5BXv1bQHOiw8inRO5II0PzqwWnVCI9jsj7K5A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/addon-actions': 7.6.6 - '@storybook/addon-backgrounds': 7.6.6 - '@storybook/addon-controls': 7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-docs': 7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-highlight': 7.6.6 - '@storybook/addon-measure': 7.6.6 - '@storybook/addon-outline': 7.6.6 - '@storybook/addon-toolbars': 7.6.6 - '@storybook/addon-viewport': 7.6.6 - '@storybook/core-common': 7.6.6 - '@storybook/manager-api': 7.6.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 7.6.6 - '@storybook/preview-api': 7.6.6 + '@storybook/addon-actions': 7.6.7 + '@storybook/addon-backgrounds': 7.6.7 + '@storybook/addon-controls': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-docs': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-highlight': 7.6.7 + '@storybook/addon-measure': 7.6.7 + '@storybook/addon-outline': 7.6.7 + '@storybook/addon-toolbars': 7.6.7 + '@storybook/addon-viewport': 7.6.7 + '@storybook/core-common': 7.6.7 + '@storybook/manager-api': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 7.6.7 + '@storybook/preview-api': 7.6.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 @@ -5705,24 +5740,24 @@ packages: - supports-color dev: true - /@storybook/addon-highlight@7.6.6: - resolution: {integrity: sha512-B85UaCts2uMpa0yHBSnupzy2WCdW4vfB+lfaBug9beyOyZQdel07BumblE0KwSJftYgdCNPUZ5MRlqEDzMLTWQ==} + /@storybook/addon-highlight@7.6.7: + resolution: {integrity: sha512-2F/tJdn45d4zrvf/cmE1vsczl99wK8+I+kkj0G7jLsrJR0w1zTgbgjy6T9j86HBTBvWcnysNFNIRWPAOh5Wdbw==} dependencies: '@storybook/global': 5.0.0 dev: true - /@storybook/addon-interactions@7.6.6: - resolution: {integrity: sha512-EJWx6ciJPgv1c75tB/M4smWDpPDGM/L24v4DZxGpl1eV3oQOSQCKImG5btwoy6QcIi68ozroUHdUti/kzCKS1w==} + /@storybook/addon-interactions@7.6.7: + resolution: {integrity: sha512-iXE2m9i/1D2baYkRgoYe9zwcAjtBOxBfW4o2AS0pzBNPN7elpP9C6mIa0ScpSltawBfIjfe6iQRXAMXOsIIh3Q==} dependencies: '@storybook/global': 5.0.0 - '@storybook/types': 7.6.6 + '@storybook/types': 7.6.7 jest-mock: 27.5.1 polished: 4.2.2 ts-dedent: 2.2.0 dev: true - /@storybook/addon-links@7.6.6(react@18.2.0): - resolution: {integrity: sha512-NEcqOz6zZ1dJnCcVmYdaQTAMAGIb8NFAZGnr9DU0q+t4B1fTaWUgqLtBM5V6YqIrXGSC/oKLpjWUkS5UpswlHA==} + /@storybook/addon-links@7.6.7(react@18.2.0): + resolution: {integrity: sha512-O5LekPslkAIDtXC/TCIyg/3c0htBxDYwb/s+NrZUPTNWJsngxvTAwp6aIk6aVSeSCFUMWvBFcVsuV3hv+ndK6w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: @@ -5735,15 +5770,30 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-measure@7.6.6: - resolution: {integrity: sha512-b4hyCudlhsbYN1We8pfZHZJ0i0sfC8+GJvrqZQqdSqGicUmA00mggY1GE+gEoHziQ5/4auxFRS3HfUgaQWUNjg==} + /@storybook/addon-measure@7.6.7: + resolution: {integrity: sha512-t1RnnNO4Xzgnsxu63FlZwsCTF0+9jKxr44NiJAUOxW9ppbCvs/JfSDOOvcDRtPWyjgnyzexNUUctMfxvLrU01A==} dependencies: '@storybook/global': 5.0.0 tiny-invariant: 1.3.1 dev: true - /@storybook/addon-outline@7.6.6: - resolution: {integrity: sha512-BMjpjzNEnN8LC7JK92WCXyWgmJwAaEQjRDinr7eD4cBt4Uas5kbciw1g8PtTnh0GbYUsImKao0nzakSVObAdzg==} + /@storybook/addon-onboarding@1.0.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tK7JjJYIpOM4LowBoIM/8ymYQ70qVRmu7pGqSOQ82AW15ob5u36HJ753y0hVH/KPj6k7J1aSgAEgVGXLmgwvKw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/telemetry': 7.6.6 + react: 18.2.0 + react-confetti: 6.1.0(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /@storybook/addon-outline@7.6.7: + resolution: {integrity: sha512-gu2y46ijjMkXlxy1f8Cctgjw5b5y8vSIqNAYlrs5/Qy+hJAWyU6lj2PFGOCCUG4L+F45fAjwWAin6qz43+WnRQ==} dependencies: '@storybook/global': 5.0.0 ts-dedent: 2.2.0 @@ -5805,12 +5855,12 @@ packages: - typescript dev: true - /@storybook/addon-toolbars@7.6.6: - resolution: {integrity: sha512-sQm5+FcoSMSGn1ioXHoukO6OhUlcNZil0/fonAY50uvp6Z4DyI0FTU7BKIm/NoMqAExQk3sZRfAC/nZZ9Epb0Q==} + /@storybook/addon-toolbars@7.6.7: + resolution: {integrity: sha512-vT+YMzw8yVwndhJglI0XtELfXWq1M0HEy5ST3XPzbjmsJ54LgTf1b29UMkh0E/05qBQNFCcbT9B/tLxqWezxlg==} dev: true - /@storybook/addon-viewport@7.6.6: - resolution: {integrity: sha512-/ijbzDf1Iq30LvZW2NE8cO4TeHusw0N+jTDUK1+vhxGNMFo9DUIgRkAi6VpFEfS0aQ5d82523WSWzVso7b/Hmg==} + /@storybook/addon-viewport@7.6.7: + resolution: {integrity: sha512-Q/BKjJaKzl4RWxH45K2iIXwkicj4ReVAUIpIyd7dPBb/Bx+hEDYZxR5dDg82AMkZdA71x5ttMnuDSuVpmWAE6g==} dependencies: memoizerific: 1.11.3 dev: true @@ -5825,23 +5875,23 @@ packages: - react-dom dev: true - /@storybook/blocks@7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-QLqkiSNrtGnh8RK9ipD63jVAUenkRu+72xR31DViZWRV9V8G2hzky5E/RoZWPEx+DfmBIUJ7Tcef6cCRcxEj9A==} + /@storybook/blocks@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+QEvGQ0he/YvFS3lsZORJWxhQIyqcCDWsxbJxJiByePd+Z4my3q8xwtPhHW0TKRL0xUgNE/GnTfMMqJfevTuSw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/channels': 7.6.6 - '@storybook/client-logger': 7.6.6 - '@storybook/components': 7.6.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.6.6 + '@storybook/channels': 7.6.7 + '@storybook/client-logger': 7.6.7 + '@storybook/components': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.6.7 '@storybook/csf': 0.1.2 - '@storybook/docs-tools': 7.6.6 + '@storybook/docs-tools': 7.6.7 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.6.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.6.6 - '@storybook/theming': 7.6.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.6 + '@storybook/manager-api': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.6.7 + '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.7 '@types/lodash': 4.14.202 color-convert: 2.0.1 dequal: 2.0.3 @@ -5887,8 +5937,8 @@ packages: - supports-color dev: true - /@storybook/builder-webpack5@7.6.6(esbuild@0.18.20)(typescript@5.3.3): - resolution: {integrity: sha512-V3pVdhlhqBdVhrE1M3ip07X8Ma6FXBeTtcZsT+oFVX7A+wxMfA9fhGWVjL6yOB/E+87jF5SvlvYbo+18Xw6hqg==} + /@storybook/builder-webpack5@7.6.7(esbuild@0.18.20)(typescript@5.3.3): + resolution: {integrity: sha512-b5AaWXOHwIXl5Q1iRRl6eRhljId0Zsg0ANawDoubK1y1jsBoQtWal7c4TQPMeLAd2G30fc3sW5zCdb9rCo2Vrg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -5896,14 +5946,14 @@ packages: optional: true dependencies: '@babel/core': 7.23.6 - '@storybook/channels': 7.6.6 - '@storybook/client-logger': 7.6.6 - '@storybook/core-common': 7.6.6 - '@storybook/core-events': 7.6.6 - '@storybook/core-webpack': 7.6.6 - '@storybook/node-logger': 7.6.6 - '@storybook/preview': 7.6.6 - '@storybook/preview-api': 7.6.6 + '@storybook/channels': 7.6.7 + '@storybook/client-logger': 7.6.7 + '@storybook/core-common': 7.6.7 + '@storybook/core-events': 7.6.7 + '@storybook/core-webpack': 7.6.7 + '@storybook/node-logger': 7.6.7 + '@storybook/preview': 7.6.7 + '@storybook/preview-api': 7.6.7 '@swc/core': 1.3.101 '@types/node': 18.19.3 '@types/semver': 7.5.6 @@ -5954,6 +6004,17 @@ packages: tiny-invariant: 1.3.1 dev: true + /@storybook/channels@7.6.7: + resolution: {integrity: sha512-u1hURhfQHHtZyRIDUENRCp+CRRm7IQfcjQaoWI06XCevQPuhVEtFUfXHjG+J74aA/JuuTLFUtqwNm1zGqbXTAQ==} + dependencies: + '@storybook/client-logger': 7.6.7 + '@storybook/core-events': 7.6.7 + '@storybook/global': 5.0.0 + qs: 6.11.2 + telejson: 7.2.0 + tiny-invariant: 1.3.1 + dev: true + /@storybook/cli@7.6.6: resolution: {integrity: sha512-FLmWrbmGOqe1VYwqyIWxU2lJcYPssORmSbSVVPw6OqQIXx3NrNBrmZDLncMwbVCDQ8eU54J1zb+MyDmSqMbVFg==} hasBin: true @@ -6012,6 +6073,12 @@ packages: '@storybook/global': 5.0.0 dev: true + /@storybook/client-logger@7.6.7: + resolution: {integrity: sha512-A16zpWgsa0gSdXMR9P3bWVdC9u/1B1oG4H7Z1+JhNzgnL3CdyOYO0qFSiAtNBso4nOjIAJVb6/AoBzdRhmSVQg==} + dependencies: + '@storybook/global': 5.0.0 + dev: true + /@storybook/codemod@7.6.6: resolution: {integrity: sha512-6QwW6T6ZgwwbTkEoZ7CAoX7lUUob7Sy7bRkMHhSjJe2++wEVFOYLvzHcLUJCupK59+WhmsJU9PpUMlXEKi40TQ==} dependencies: @@ -6056,11 +6123,34 @@ packages: - '@types/react-dom' dev: true - /@storybook/core-client@7.6.6: - resolution: {integrity: sha512-P100aNf+WpvzlfULZp1NPd60/nxsppLmft2DdIyAx1j4QPMZvUJyJB+hdBMzTFiPEhIUncIMoIVf2R3UXC5DfA==} + /@storybook/components@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1HN4p+MCI4Tx9VGZayZyqbW7SB7mXQLnS5fUbTE1gXaMYHpzFvcrRNROeV1LZPClJX6qx1jgE5ngZojhxGuxMA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/client-logger': 7.6.6 - '@storybook/preview-api': 7.6.6 + '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.6.7 + '@storybook/csf': 0.1.2 + '@storybook/global': 5.0.0 + '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.7 + memoizerific: 1.11.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0) + util-deprecate: 1.0.2 + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + dev: true + + /@storybook/core-client@7.6.7: + resolution: {integrity: sha512-ZQivyEzYsZok8vRj5Qan7LbiMUnO89rueWzTnZs4IS6JIaQtjoPI1rGVq+h6qOCM6tki478hic8FS+zwGQ6q+w==} + dependencies: + '@storybook/client-logger': 7.6.7 + '@storybook/preview-api': 7.6.7 dev: true /@storybook/core-common@7.6.6: @@ -6094,12 +6184,49 @@ packages: - supports-color dev: true + /@storybook/core-common@7.6.7: + resolution: {integrity: sha512-F1fJnauVSPQtAlpicbN/O4XW38Ai8kf/IoU0Hgm9gEwurIk6MF5hiVLsaTI/5GUbrepMl9d9J+iIL4lHAT8IyA==} + dependencies: + '@storybook/core-events': 7.6.7 + '@storybook/node-logger': 7.6.7 + '@storybook/types': 7.6.7 + '@types/find-cache-dir': 3.2.1 + '@types/node': 18.19.3 + '@types/node-fetch': 2.6.9 + '@types/pretty-hrtime': 1.0.3 + chalk: 4.1.2 + esbuild: 0.18.20 + esbuild-register: 3.5.0(esbuild@0.18.20) + file-system-cache: 2.3.0 + find-cache-dir: 3.3.2 + find-up: 5.0.0 + fs-extra: 11.2.0 + glob: 10.3.10 + handlebars: 4.7.8 + lazy-universal-dotenv: 4.0.0 + node-fetch: 2.7.0 + picomatch: 2.3.1 + pkg-dir: 5.0.0 + pretty-hrtime: 1.0.3 + resolve-from: 5.0.0 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + /@storybook/core-events@7.6.6: resolution: {integrity: sha512-7+q9HiZiLxaQcwpaSLQrLdjHNHBoOoUY9ZcZXI9iNFSopOgb/ItDnzzlpv08NC7CbKae1hVKJM/t5aSTl7tCMw==} dependencies: ts-dedent: 2.2.0 dev: true + /@storybook/core-events@7.6.7: + resolution: {integrity: sha512-KZ5d03c47pnr5/kY26pJtWq7WpmCPXLbgyjJZDSc+TTY153BdZksvlBXRHtqM1yj2UM6QsSyIuiJaADJNAbP2w==} + dependencies: + ts-dedent: 2.2.0 + dev: true + /@storybook/core-server@7.6.6: resolution: {integrity: sha512-QFVahaExgGtq9swBXgQAMUiCqpCcyVXOiKTIy1j+1uAhPVqhpCxBkkFoXruih5hbIMZyohE4mLPCAr/ivicoDg==} dependencies: @@ -6151,12 +6278,12 @@ packages: - utf-8-validate dev: true - /@storybook/core-webpack@7.6.6: - resolution: {integrity: sha512-VQyA6nb7K5uAWp/bqntW9Dtv2mVQWOp99v52ilHI/aCR9gEIC2XKBB7PTs/l5L9PKTcES6UJTcFJmOp+s7kFOA==} + /@storybook/core-webpack@7.6.7: + resolution: {integrity: sha512-+UpjJc1fXs9KPIRbTzsBVDgsGQb+VlU3Z7w7XJM1M6ERQrvNAX3oj0iLdDK/AO1ks1qTg+meLFnVwpgKxcTTqg==} dependencies: - '@storybook/core-common': 7.6.6 - '@storybook/node-logger': 7.6.6 - '@storybook/types': 7.6.6 + '@storybook/core-common': 7.6.7 + '@storybook/node-logger': 7.6.7 + '@storybook/types': 7.6.7 '@types/node': 18.19.3 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -6164,10 +6291,10 @@ packages: - supports-color dev: true - /@storybook/csf-plugin@7.6.6: - resolution: {integrity: sha512-SqdffT14+XNpf+7vA29Elur28VArXtFv4cXMlsCbswbRuY+a0A8vYNwVIfCUy9u4WHTcQX1/tUkDAMh80lrVRQ==} + /@storybook/csf-plugin@7.6.7: + resolution: {integrity: sha512-YL7e6H4iVcsDI0UpgpdQX2IiGDrlbgaQMHQgDLWXmZyKxBcy0ONROAX5zoT1ml44EHkL60TMaG4f7SinviJCog==} dependencies: - '@storybook/csf-tools': 7.6.6 + '@storybook/csf-tools': 7.6.7 unplugin: 1.5.1 transitivePeerDependencies: - supports-color @@ -6189,6 +6316,22 @@ packages: - supports-color dev: true + /@storybook/csf-tools@7.6.7: + resolution: {integrity: sha512-hyRbUGa2Uxvz3U09BjcOfMNf/5IYgRum1L6XszqK2O8tK9DGte1r6hArCIAcqiEmFMC40d0kalPzqu6WMNn7sg==} + dependencies: + '@babel/generator': 7.23.6 + '@babel/parser': 7.23.6 + '@babel/traverse': 7.23.6(supports-color@5.5.0) + '@babel/types': 7.23.6 + '@storybook/csf': 0.1.2 + '@storybook/types': 7.6.7 + fs-extra: 11.2.0 + recast: 0.23.4 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /@storybook/csf@0.0.1: resolution: {integrity: sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==} dependencies: @@ -6205,12 +6348,12 @@ packages: resolution: {integrity: sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==} dev: true - /@storybook/docs-tools@7.6.6: - resolution: {integrity: sha512-nc5ZjN2s8SC2PtsZoFf9Wm6gD8TcSlkYbF/mjtyLCGN+Fi+k5B5iudqoa65H19hwiLlzBdcnpQ8C89AiK33J9Q==} + /@storybook/docs-tools@7.6.7: + resolution: {integrity: sha512-enTO/xVjBqwUraGCYTwdyjMvug3OSAM7TPPUEJ3KPieJNwAzcYkww/qNDMIAR4S39zPMrkAmtS3STvVadlJz7g==} dependencies: - '@storybook/core-common': 7.6.6 - '@storybook/preview-api': 7.6.6 - '@storybook/types': 7.6.6 + '@storybook/core-common': 7.6.7 + '@storybook/preview-api': 7.6.7 + '@storybook/types': 7.6.7 '@types/doctrine': 0.0.3 assert: 2.1.0 doctrine: 3.0.0 @@ -6224,6 +6367,18 @@ packages: resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} dev: true + /@storybook/instrumenter@7.6.7: + resolution: {integrity: sha512-Q4NstXZKCk62MkP7jgpg5CRFmhszg9QdoN8CwffuUGtjQRADhmeRHgP4usB87Sg6Tq9MLSopAEqUZxlKKYeeag==} + dependencies: + '@storybook/channels': 7.6.7 + '@storybook/client-logger': 7.6.7 + '@storybook/core-events': 7.6.7 + '@storybook/global': 5.0.0 + '@storybook/preview-api': 7.6.7 + '@vitest/utils': 0.34.7 + util: 0.12.5 + dev: true + /@storybook/manager-api@7.6.6(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-euRAbSZAUzHDt6z1Pq/g45N/RNqta9RaQAym18zt/oLWiYOIrkLmdf7kCuFYsmuA5XQBytiJqwkAD7uF1aLe0g==} dependencies: @@ -6247,6 +6402,28 @@ packages: - react-dom dev: true + /@storybook/manager-api@7.6.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-3Wk/BvuGUlw/X05s57zZO7gJbzfUeE9Xe+CSIvuH7RY5jx9PYnNwqNlTXPXhJ5LPvwMthae7WJVn3SuBpbptoQ==} + dependencies: + '@storybook/channels': 7.6.7 + '@storybook/client-logger': 7.6.7 + '@storybook/core-events': 7.6.7 + '@storybook/csf': 0.1.2 + '@storybook/global': 5.0.0 + '@storybook/router': 7.6.7 + '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.7 + dequal: 2.0.3 + lodash: 4.17.21 + memoizerific: 1.11.3 + store2: 2.14.2 + telejson: 7.2.0 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - react + - react-dom + dev: true + /@storybook/manager@7.6.6: resolution: {integrity: sha512-Ga3LcSu/xxSyg+cLlO9AS8QjW+D667V+c9qQPmsFyU6qfFc6m6mVqcRLSmFVD5e7P/o0FL7STOf9jAKkDcW8xw==} dev: true @@ -6255,8 +6432,8 @@ packages: resolution: {integrity: sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==} dev: true - /@storybook/nextjs@7.6.6(@swc/core@1.3.101)(esbuild@0.18.20)(next@14.0.4)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.89.0): - resolution: {integrity: sha512-evSTvIvrcuDJCFtiEgr4VVCW28JHY8Cz+8O9QR9Mytj+hRd2DaO67xtBRuKYtqSWsyrV9UpnteiKnuiUgiqGtw==} + /@storybook/nextjs@7.6.7(@swc/core@1.3.101)(esbuild@0.18.20)(next@14.0.4)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.89.0): + resolution: {integrity: sha512-oaqHsxKCaseCHRuLp9mNwYS9vSo4vlMfn3LJx9lHcgup1j143Z6jaQ9FSSQfDSBm6QqbSh/Otzh8Hqh1mOQmkw==} engines: {node: '>=16.0.0'} peerDependencies: '@next/font': ^13.0.0|| ^14.0.0 @@ -6286,15 +6463,16 @@ packages: '@babel/preset-react': 7.23.3(@babel/core@7.23.6) '@babel/preset-typescript': 7.23.3(@babel/core@7.23.6) '@babel/runtime': 7.23.6 - '@storybook/addon-actions': 7.6.6 - '@storybook/builder-webpack5': 7.6.6(esbuild@0.18.20)(typescript@5.3.3) - '@storybook/core-common': 7.6.6 - '@storybook/core-events': 7.6.6 - '@storybook/node-logger': 7.6.6 - '@storybook/preset-react-webpack': 7.6.6(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@storybook/preview-api': 7.6.6 - '@storybook/react': 7.6.6(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@storybook/addon-actions': 7.6.7 + '@storybook/builder-webpack5': 7.6.7(esbuild@0.18.20)(typescript@5.3.3) + '@storybook/core-common': 7.6.7 + '@storybook/core-events': 7.6.7 + '@storybook/node-logger': 7.6.7 + '@storybook/preset-react-webpack': 7.6.7(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@storybook/preview-api': 7.6.7 + '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@types/node': 18.19.3 + '@types/semver': 7.5.6 css-loader: 6.8.1(webpack@5.89.0) find-up: 5.0.0 fs-extra: 11.2.0 @@ -6344,12 +6522,16 @@ packages: resolution: {integrity: sha512-b2OF9GRNI01MlBlnDGS8S6/yOpBNl8eH/0ONafuMPzFEZs5PouHGsFflJvQwwcdVTknMjF5uVS2eSmnLZ8spvA==} dev: true - /@storybook/postinstall@7.6.6: - resolution: {integrity: sha512-jamn7QNTJPZiu22nu25LqfSTJohugFhCu4b48yqP+pdMdkQ3qVd3NdDYhBlgkH/Btar+kppiJP1gRtoiJF761w==} + /@storybook/node-logger@7.6.7: + resolution: {integrity: sha512-XLih8MxylkpZG9+8tgp8sPGc2tldlWF+DpuAkUv6J3Mc81mPyc3cQKQWZ7Hb+m1LpRGqKV4wyOQj1rC+leVMoQ==} dev: true - /@storybook/preset-react-webpack@7.6.6(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-spOEPePPiKJQIVFARVUPfJ3cT8mBWFMlb3iS54MO4IW55aQRPWw1HQYt7uZ3NwZVT49Npwn4D1x81rWMu9ikPg==} + /@storybook/postinstall@7.6.7: + resolution: {integrity: sha512-mrpRmcwFd9FcvtHPXA9x6vOrHLVCKScZX/Xx2QPWgAvB3W6uzP8G+8QNb1u834iToxrWeuszUMB9UXZK4Qj5yg==} + dev: true + + /@storybook/preset-react-webpack@7.6.7(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-olKTivJmbyuiPIa99/4Gx3zxbBplyXgbNso9ZAXHnSf7rBD0irV5oRqk+gFlEFJDHkK9vnpWMenly7vzX8QCXQ==} engines: {node: '>=16.0.0'} peerDependencies: '@babel/core': ^7.22.0 @@ -6366,10 +6548,10 @@ packages: '@babel/preset-flow': 7.23.3(@babel/core@7.23.6) '@babel/preset-react': 7.23.3(@babel/core@7.23.6) '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(webpack@5.89.0) - '@storybook/core-webpack': 7.6.6 - '@storybook/docs-tools': 7.6.6 - '@storybook/node-logger': 7.6.6 - '@storybook/react': 7.6.6(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@storybook/core-webpack': 7.6.7 + '@storybook/docs-tools': 7.6.7 + '@storybook/node-logger': 7.6.7 + '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.3.3)(webpack@5.89.0) '@types/node': 18.19.3 '@types/semver': 7.5.6 @@ -6417,8 +6599,27 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/preview@7.6.6: - resolution: {integrity: sha512-Rl+Pom2bNwzc0MdlbFALmvxsbCkbIwlpTZlRZZTh5Ah8JViV9htQgP9e8uwo3NZA2BhjbDLkmnZeloWxQnI5Ig==} + /@storybook/preview-api@7.6.7: + resolution: {integrity: sha512-ja85ItrT6q2TeBQ6n0CNoRi1R6L8yF2kkis9hVeTQHpwLdZyHUTRqqR5WmhtLqqQXcofyasBPOeJV06wuOhgRQ==} + dependencies: + '@storybook/channels': 7.6.7 + '@storybook/client-logger': 7.6.7 + '@storybook/core-events': 7.6.7 + '@storybook/csf': 0.1.2 + '@storybook/global': 5.0.0 + '@storybook/types': 7.6.7 + '@types/qs': 6.9.10 + dequal: 2.0.3 + lodash: 4.17.21 + memoizerific: 1.11.3 + qs: 6.11.2 + synchronous-promise: 2.0.17 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + + /@storybook/preview@7.6.7: + resolution: {integrity: sha512-/ddKIyT+6b8CKGJAma1wood4nwCAoi/E1olCqgpCmviMeUtAiMzgK0xzPwvq5Mxkz/cPeXVi8CQgaQZCa4yvNA==} dev: true /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.3.3)(webpack@5.89.0): @@ -6440,8 +6641,8 @@ packages: - supports-color dev: true - /@storybook/react-dom-shim@7.6.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-WWNlXtCVoBWXX/kLNulUeMgzmlAEHi2aBrdIv2jz0DScPf0YxeWAkWmgK7F0zMot9mdwYncr+pk1AILbTBJSyg==} + /@storybook/react-dom-shim@7.6.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-b/rmy/YzVrwP+ifyZG4yXVIdeFVdTbmziodHUlbrWiUNsqtTZZur9kqkKRUH/7ofji9MFe81nd0MRlcTNFomqg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6450,8 +6651,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-webpack5@7.6.6(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-YGzSf4rMjlMNU4/7pYtFGS1YxwlEtUOx6cyifKM8/Q7qMi6YJEpcwQpxw9V64YUpLU2aoOXSEc6Ox00AG0+5AA==} + /@storybook/react-webpack5@7.6.7(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-/HK+v8vmeApN4WI5RyaDdhPhjFuEQfMQmvZLl+ewpamhJNMRr4nvrdvxOSfBw46zFubKgieuxEcW+VxHwvZ1og==} engines: {node: '>=16.0.0'} peerDependencies: '@babel/core': ^7.22.0 @@ -6465,9 +6666,9 @@ packages: optional: true dependencies: '@babel/core': 7.23.6 - '@storybook/builder-webpack5': 7.6.6(esbuild@0.18.20)(typescript@5.3.3) - '@storybook/preset-react-webpack': 7.6.6(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@storybook/react': 7.6.6(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@storybook/builder-webpack5': 7.6.7(esbuild@0.18.20)(typescript@5.3.3) + '@storybook/preset-react-webpack': 7.6.7(@babel/core@7.23.6)(@swc/core@1.3.101)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@types/node': 18.19.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6489,8 +6690,8 @@ packages: - webpack-plugin-serve dev: true - /@storybook/react@7.6.6(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-pE6GJ4hPGJIsX6AREjW6HibshwZE6rFhWRtjeX5MV0eKMmQgoRWRgiRfg9/YB6Z0tRtuptI83Uaszimmif1BKg==} + /@storybook/react@7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-uT9IBPDM1SQg6FglWqb7IemOJ1Z8kYB5rehIDEDToi0u5INihSY8rHd003TxG4Wx4REp6J+rfbDJO2aVui/gxA==} engines: {node: '>=16.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6500,13 +6701,13 @@ packages: typescript: optional: true dependencies: - '@storybook/client-logger': 7.6.6 - '@storybook/core-client': 7.6.6 - '@storybook/docs-tools': 7.6.6 + '@storybook/client-logger': 7.6.7 + '@storybook/core-client': 7.6.7 + '@storybook/docs-tools': 7.6.7 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.6.6 - '@storybook/react-dom-shim': 7.6.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.6 + '@storybook/preview-api': 7.6.7 + '@storybook/react-dom-shim': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.7 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 '@types/node': 18.19.3 @@ -6537,6 +6738,14 @@ packages: qs: 6.11.2 dev: true + /@storybook/router@7.6.7: + resolution: {integrity: sha512-kkhNSdC3fXaQxILg8a26RKk4/ZbF/AUVrepUEyO8lwvbJ6LItTyWSE/4I9Ih4qV2Mjx33ncc8vLqM9p8r5qnMA==} + dependencies: + '@storybook/client-logger': 7.6.7 + memoizerific: 1.11.3 + qs: 6.11.2 + dev: true + /@storybook/telemetry@7.6.6: resolution: {integrity: sha512-2WdDcrMrt1bPVgdMVO0tFmVxT6YIjiPRfKbH/7wwYMOGmV75m4mJ9Ha2gzZc/oXTSK1M4/fiK12IgW+S3ErcMg==} dependencies: @@ -6553,6 +6762,28 @@ packages: - supports-color dev: true + /@storybook/test@7.6.7: + resolution: {integrity: sha512-6gyRIvtOSq/ODYjpUO8LgY1YlWoYINhhKtLKwZasbp8hQ0zkd2vRSWlVCwzsw28cZXo2UL92UNSgEVD1sf73Qg==} + dependencies: + '@storybook/client-logger': 7.6.7 + '@storybook/core-events': 7.6.7 + '@storybook/instrumenter': 7.6.7 + '@storybook/preview-api': 7.6.7 + '@testing-library/dom': 9.3.3 + '@testing-library/jest-dom': 6.2.0 + '@testing-library/user-event': 14.3.0(@testing-library/dom@9.3.3) + '@types/chai': 4.3.11 + '@vitest/expect': 0.34.7 + '@vitest/spy': 0.34.7 + chai: 4.3.10 + util: 0.12.5 + transitivePeerDependencies: + - '@jest/globals' + - '@types/jest' + - jest + - vitest + dev: true + /@storybook/theming@7.6.6(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-hNZOOxaF55iAGUEM0dvAIP6LfGMgPKCJQIk/qyotFk+SKkg3PBqzph89XfFl9yCD3KiX5cryqarULgVuNawLJg==} peerDependencies: @@ -6567,6 +6798,20 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true + /@storybook/theming@7.6.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+42rfC4rZtWVAXJ7JBUQKnQ6vWBXJVHZ9HtNUWzQLPR9sJSMmHnnSMV6y5tizGgZqmBnAIkuoYk+Tt6NfwUmSA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) + '@storybook/client-logger': 7.6.7 + '@storybook/global': 5.0.0 + memoizerific: 1.11.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + /@storybook/types@7.6.6: resolution: {integrity: sha512-77vbQp3GX93OD8UzFkY4a0fAmkZrqLe61XVo6yABrwbVDY0EcAwaCF5gcXRhOHldlH7KYbLfEQkDkkKTBjX7ow==} dependencies: @@ -6576,6 +6821,15 @@ packages: file-system-cache: 2.3.0 dev: true + /@storybook/types@7.6.7: + resolution: {integrity: sha512-VcGwrI4AkBENxkoAUJ+Z7SyMK73hpoY0TTtw2J7tc05/xdiXhkQTX15Qa12IBWIkoXCyNrtaU+q7KR8Tjzi+uw==} + dependencies: + '@storybook/channels': 7.6.7 + '@types/babel__core': 7.20.5 + '@types/express': 4.17.21 + file-system-cache: 2.3.0 + dev: true + /@strapi/admin@4.15.5(@babel/runtime@7.23.6)(@codemirror/autocomplete@6.11.1)(@codemirror/language@6.9.3)(@codemirror/lint@6.4.2)(@codemirror/search@6.5.5)(@codemirror/state@6.3.3)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.22.3)(@strapi/data-transfer@4.15.5)(@strapi/strapi@4.15.5)(@types/node@20.8.7)(@types/react-dom@18.2.18)(@types/react@18.2.45)(better-sqlite3@9.1.1)(codemirror@5.65.16)(debug@4.3.4)(pg@8.11.3)(react-dom@18.2.0)(react-router-dom@5.3.4)(react@18.2.0)(redux@4.2.1)(styled-components@5.3.3): resolution: {integrity: sha512-/ArYIp3WjhuChj4N90y8yiWxJ50MA0RfENIwbTThcg0SKaDV1VV6sqWfY4gYe+3SCDb4ET0Y6V/v3EkYN4jUKw==} engines: {node: '>=18.0.0 <=20.x.x', npm: '>=6.0.0'} @@ -7775,6 +8029,57 @@ packages: tailwindcss: 3.3.7(ts-node@10.9.2) dev: true + /@testing-library/dom@9.3.3: + resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} + engines: {node: '>=14'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/runtime': 7.23.6 + '@types/aria-query': 5.0.4 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true + + /@testing-library/jest-dom@6.2.0: + resolution: {integrity: sha512-+BVQlJ9cmEn5RDMUS8c2+TU6giLvzaHZ8sU/x0Jj7fk+6/46wPdwlgOPcpxS17CjcanBi/3VmGMqVr2rmbUmNw==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + peerDependencies: + '@jest/globals': '>= 28' + '@types/jest': '>= 28' + jest: '>= 28' + vitest: '>= 0.32' + peerDependenciesMeta: + '@jest/globals': + optional: true + '@types/jest': + optional: true + jest: + optional: true + vitest: + optional: true + dependencies: + '@adobe/css-tools': 4.3.2 + '@babel/runtime': 7.23.6 + aria-query: 5.3.0 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + dev: true + + /@testing-library/user-event@14.3.0(@testing-library/dom@9.3.3): + resolution: {integrity: sha512-P02xtBBa8yMaLhK8CzJCIns8rqwnF6FxhR9zs810flHOBXUYCFjLd8Io1rQrAkQRWEmW2PGdZIEdMxf/KLsqFA==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + dependencies: + '@testing-library/dom': 9.3.3 + dev: true + /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -7796,6 +8101,10 @@ packages: resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} dev: false + /@types/aria-query@5.0.4: + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + dev: true + /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: @@ -7837,6 +8146,10 @@ packages: '@types/responselike': 1.0.3 dev: false + /@types/chai@4.3.11: + resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} + dev: true + /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: @@ -8027,7 +8340,7 @@ packages: /@types/luxon@3.3.7: resolution: {integrity: sha512-gKc9P2d4g5uYwmy4s/MO/yOVPmvHyvzka1YH6i5dM03UrFofHSmgc0D0ymbDRStFWHusk6cwwF6nhLm/ckBbbQ==} - dev: false + dev: true /@types/mdx@2.0.10: resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} @@ -8537,6 +8850,28 @@ packages: - supports-color dev: false + /@vitest/expect@0.34.7: + resolution: {integrity: sha512-G9iEtwrD6ZQ4MVHZufif9Iqz3eLtuwBBNx971fNAGPaugM7ftAWjQN+ob2zWhtzURp8RK3zGXOxVb01mFo3zAQ==} + dependencies: + '@vitest/spy': 0.34.7 + '@vitest/utils': 0.34.7 + chai: 4.3.10 + dev: true + + /@vitest/spy@0.34.7: + resolution: {integrity: sha512-NMMSzOY2d8L0mcOt4XcliDOS1ISyGlAXuQtERWVOoVHnKwmG+kKhinAiGw3dTtMQWybfa89FG8Ucg9tiC/FhTQ==} + dependencies: + tinyspy: 2.2.0 + dev: true + + /@vitest/utils@0.34.7: + resolution: {integrity: sha512-ziAavQLpCYS9sLOorGrFFKmy2gnfiNU0ZJ15TsMz/K92NAPS/rp9K4z6AJQQk5Y8adCy4Iwpxy7pQumQ/psnRg==} + dependencies: + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + /@webassemblyjs/ast@1.11.6: resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: @@ -8870,6 +9205,11 @@ packages: dependencies: color-convert: 2.0.1 + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} @@ -8908,6 +9248,12 @@ packages: dependencies: tslib: 2.6.2 + /aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + dependencies: + deep-equal: 2.2.3 + dev: true + /aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} dependencies: @@ -9042,6 +9388,10 @@ packages: util: 0.12.5 dev: true + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + /assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} engines: {node: '>=0.10.0'} @@ -9702,6 +10052,19 @@ packages: engines: {node: '>=4'} dev: true + /chai@4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + /chalk@1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -9721,6 +10084,14 @@ packages: escape-string-regexp: 1.0.5 supports-color: 5.5.0 + /chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -9759,6 +10130,12 @@ packages: resolution: {integrity: sha512-xVgPpulCooDjY6zH4m9YW3jbkaBe3FKIAvF5sj5t7aBNsVl2ljIE+xwJ4iNgiDZHFQvNIpjdKdVOQvvk5ZfxbQ==} dev: false + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + /cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} dependencies: @@ -10431,6 +10808,10 @@ packages: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} + /css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + dev: true + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -10528,10 +10909,41 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + /deep-equal@1.0.1: resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} dev: false + /deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.2 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: true + /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -10751,6 +11163,11 @@ packages: /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -10805,6 +11222,14 @@ packages: esutils: 2.0.3 dev: true + /dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dev: true + + /dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + dev: true + /dom-converter@0.2.0: resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} dependencies: @@ -11087,6 +11512,20 @@ packages: which-typed-array: 1.1.13 dev: true + /es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + dev: true + /es-iterator-helpers@1.0.15: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} dependencies: @@ -11291,6 +11730,7 @@ packages: '@esbuild/win32-arm64': 0.19.2 '@esbuild/win32-ia32': 0.19.2 '@esbuild/win32-x64': 0.19.2 + dev: false /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -12400,6 +12840,10 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: false + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -14693,6 +15137,12 @@ packages: dependencies: js-tokens: 4.0.0 + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + /lower-case-first@1.0.2: resolution: {integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==} dependencies: @@ -14749,6 +15199,11 @@ packages: engines: {node: '>=12'} dev: false + /lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + dev: true + /magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} @@ -16136,6 +16591,10 @@ packages: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + /pause@0.0.1: resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==} dev: false @@ -16622,6 +17081,24 @@ packages: lodash: 4.17.21 renderkid: 3.0.0 + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + /pretty-hrtime@1.0.3: resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} engines: {node: '>= 0.8'} @@ -16891,6 +17368,16 @@ packages: react-jss: 10.10.0(react@18.2.0) dev: false + /react-confetti@6.1.0(react@18.2.0): + resolution: {integrity: sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw==} + engines: {node: '>=10.18'} + peerDependencies: + react: ^16.3.0 || ^17.0.1 || ^18.0.0 + dependencies: + react: 18.2.0 + tween-functions: 1.2.0 + dev: true + /react-copy-to-clipboard@5.1.0(react@18.2.0): resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==} peerDependencies: @@ -17105,6 +17592,10 @@ packages: /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + /react-is@18.1.0: resolution: {integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==} dev: true @@ -17462,6 +17953,14 @@ packages: resolve: 1.22.8 dev: false + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + /redux-thunk@2.4.2(redux@4.2.1): resolution: {integrity: sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==} peerDependencies: @@ -18472,6 +18971,13 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + /stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.6 + dev: true + /store2@2.14.2: resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==} dev: true @@ -18826,6 +19332,13 @@ packages: engines: {node: '>=12'} dev: false + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + /strip-indent@4.0.0: resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} engines: {node: '>=12'} @@ -19202,6 +19715,7 @@ packages: serialize-javascript: 6.0.1 terser: 5.26.0 webpack: 5.89.0(esbuild@0.19.2) + dev: false /terser@5.26.0: resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==} @@ -19286,6 +19800,11 @@ packages: /tiny-warning@1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} + dev: true + /title-case@2.1.1: resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} dependencies: @@ -19517,6 +20036,10 @@ packages: dependencies: safe-buffer: 5.2.1 + /tween-functions@1.2.0: + resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==} + dev: true + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -19524,6 +20047,11 @@ packages: prelude-ls: 1.2.1 dev: true + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + /type-fest@0.16.0: resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} engines: {node: '>=10'} @@ -20062,7 +20590,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.89.0(esbuild@0.19.2) + webpack: 5.89.0(@swc/core@1.3.101)(esbuild@0.18.20) /webpack-hot-middleware@2.25.4: resolution: {integrity: sha512-IRmTspuHM06aZh98OhBJtqLpeWFM8FXJS5UYpKYxCJzyFoyWj1w6VGFfomZU7OPA55dMLrQK0pRT1eQ3PACr4w==} @@ -20167,6 +20695,7 @@ packages: - '@swc/core' - esbuild - uglify-js + dev: false /whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} From 2d256bf5b76e34b972a5f6f3a7ba40625f407b79 Mon Sep 17 00:00:00 2001 From: Sandro Pereira <38382721+54nd10@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:04:01 +0000 Subject: [PATCH 02/66] avatar stories --- .../ui/atoms/avatar/avatar.stories.tsx | 222 +----------------- .../src/components/ui/atoms/avatar/index.tsx | 4 +- 2 files changed, 15 insertions(+), 211 deletions(-) diff --git a/apps/www/src/components/ui/atoms/avatar/avatar.stories.tsx b/apps/www/src/components/ui/atoms/avatar/avatar.stories.tsx index f78ca2f5..f56f41f3 100644 --- a/apps/www/src/components/ui/atoms/avatar/avatar.stories.tsx +++ b/apps/www/src/components/ui/atoms/avatar/avatar.stories.tsx @@ -1,236 +1,38 @@ -import {ButtonPropsImpl, buttonAlignments, buttonShapes, buttonSizes, buttonTones, buttonVariants} from './button.model' -import Button from './index' +import Avatar, {AvatarProps, avatarSizes} from './index' import type {Meta} from '@storybook/react' const meta = { - title: 'components/Atoms/Button', - component: Button, + title: 'components/Atoms/Avatar', + component: Avatar, tags: ['autodocs'], argTypes: { - tone: { - options: buttonTones, - control: {type: 'select'} - }, - variant: { - options: buttonVariants, - control: {type: 'select'} - }, size: { - options: buttonSizes, - control: {type: 'select'} - }, - shape: { - options: buttonShapes, - control: {type: 'select'} - }, - align: { - options: buttonAlignments, + options: avatarSizes, control: {type: 'select'} - }, - disabled: { - control: {type: 'boolean'} - }, - loading: { - control: {type: 'boolean'} } }, args: { - tone: 'primary', - variant: 'default', - size: 'medium', - shape: 'rounded', - align: 'center', - disabled: false, - loading: false + size: 'sm' } -} satisfies Meta +} satisfies Meta export default meta export const Default = { name: 'Default', - render: (args: ButtonPropsImpl) => -} - -export const Variants = { - name: 'Variants', - render: (args: ButtonPropsImpl) => ( -
- {buttonTones.map((tone) => ( - - ))} -
- ) -} - -export const VariantsLinks = { - name: 'Variants - Link', - render: (args: ButtonPropsImpl) => ( -
- {buttonTones.map((tone) => ( - - ))} -
- ) -} - -export const VariantsGhosts = { - name: 'Variants - Ghost', - render: (args: ButtonPropsImpl) => ( -
- {buttonTones.map((tone) => ( - - ))} -
- ) + render: (args: AvatarProps) => } export const Sizes = { name: 'Sizes', - render: (args: ButtonPropsImpl) => ( -
- {buttonSizes.map((size) => ( - - ))} -
- ) -} - -export const Shapes = { - name: 'Shapes', - render: (args: ButtonPropsImpl) => ( -
- {buttonShapes.map((shape) => ( - - ))} -
- ) -} - -export const Alignments = { - name: 'Alignments', - render: (args: ButtonPropsImpl) => ( -
- {buttonAlignments.map((alignment, i) => { - return ( -
- - - -
- ) - })} -
- ) -} - -export const leading = { - name: 'With leading', - render: (args: ButtonPropsImpl) => ( - - ) -} - -export const trailing = { - name: 'With trailing', - render: (args: ButtonPropsImpl) => ( - - ) -} - -export const Loading = { - name: 'Loading', - render: (args: ButtonPropsImpl) => ( -
- {buttonTones.map((tone) => ( - - ))} -
- ) -} - -export const Disabled = { - name: 'Disabled', - render: (args: ButtonPropsImpl) => ( -
- {buttonTones.map((tone) => ( - + /> ))}
) diff --git a/apps/www/src/components/ui/atoms/avatar/index.tsx b/apps/www/src/components/ui/atoms/avatar/index.tsx index 134d9430..179f5ad6 100644 --- a/apps/www/src/components/ui/atoms/avatar/index.tsx +++ b/apps/www/src/components/ui/atoms/avatar/index.tsx @@ -2,8 +2,10 @@ import {ImageProps} from '@/models/image.model' import {cn} from '@/utils/toolbox' import Image from 'next/image' +export const avatarSizes = ['sm', 'md', 'lg', 'xl'] as const + export type AvatarProps = { - size: 'sm' | 'md' | 'lg' | 'xl' + size: (typeof avatarSizes)[number] image: ImageProps } From 36b452de951bfcfe62b9e98675ec899084c225ef Mon Sep 17 00:00:00 2001 From: Sandro Pereira <38382721+54nd10@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:04:09 +0000 Subject: [PATCH 03/66] badge stories --- .../ui/atoms/badge/badge.stories.tsx | 46 +++++++++++++++++++ .../src/components/ui/atoms/badge/index.tsx | 7 ++- 2 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 apps/www/src/components/ui/atoms/badge/badge.stories.tsx diff --git a/apps/www/src/components/ui/atoms/badge/badge.stories.tsx b/apps/www/src/components/ui/atoms/badge/badge.stories.tsx new file mode 100644 index 00000000..06cc30de --- /dev/null +++ b/apps/www/src/components/ui/atoms/badge/badge.stories.tsx @@ -0,0 +1,46 @@ +import {BadgeProps, badgeColors} from './index' +import Badge from './index' +import type {Meta} from '@storybook/react' + +const meta = { + title: 'components/Atoms/Badge', + component: Badge, + tags: ['autodocs'], + argTypes: { + children: { + control: {type: 'string'} + }, + color: { + options: badgeColors, + control: {type: 'select'} + } + }, + args: { + children: 'Badge', + color: 'default' + } +} satisfies Meta + +export default meta + +export const Default = { + name: 'Default', + render: (args: BadgeProps) => +} + +export const Sizes = { + name: 'Sizes', + render: (args: BadgeProps) => ( +
+ {badgeColors.map((color) => ( + + {color} + + ))} +
+ ) +} diff --git a/apps/www/src/components/ui/atoms/badge/index.tsx b/apps/www/src/components/ui/atoms/badge/index.tsx index f658fde8..2c3af0a2 100644 --- a/apps/www/src/components/ui/atoms/badge/index.tsx +++ b/apps/www/src/components/ui/atoms/badge/index.tsx @@ -1,8 +1,11 @@ +import {ReactNode} from 'react' import {cn} from '@/utils/toolbox' +export const badgeColors = ['default', 'red', 'green', 'blue', 'yellow', 'brown', 'orange', 'purple', 'pink'] as const + export type BadgeProps = { - children: string - color?: 'default' | 'red' | 'green' | 'blue' | 'yellow' | 'brown' | 'orange' | 'purple' | 'pink' + children: ReactNode + color?: (typeof badgeColors)[number] className?: string } From 3a315dce6363ed9abd220e45480e03d2cf7d1b78 Mon Sep 17 00:00:00 2001 From: Sandro Pereira <38382721+54nd10@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:04:24 +0000 Subject: [PATCH 04/66] dynamic images stories --- .../dynamic-image/dynamic-image.stories.tsx | 28 +++++++++++++++++++ .../ui/atoms/dynamic-image/index.tsx | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 apps/www/src/components/ui/atoms/dynamic-image/dynamic-image.stories.tsx diff --git a/apps/www/src/components/ui/atoms/dynamic-image/dynamic-image.stories.tsx b/apps/www/src/components/ui/atoms/dynamic-image/dynamic-image.stories.tsx new file mode 100644 index 00000000..fe9af079 --- /dev/null +++ b/apps/www/src/components/ui/atoms/dynamic-image/dynamic-image.stories.tsx @@ -0,0 +1,28 @@ +import {faker} from '@faker-js/faker' +import DynamicImage, {DynamicImageProps} from './index' +import type {Meta} from '@storybook/react' + +const meta = { + title: 'components/Atoms/DynamicImage', + component: DynamicImage, + tags: ['autodocs'], + argTypes: { + src: { + control: 'text' + }, + maxHeight: { + control: 'number' + } + }, + args: { + src: faker.image.url(), + maxHeight: 418 + } +} satisfies Meta + +export default meta + +export const Default = { + name: 'Default', + render: (args: DynamicImageProps) => +} diff --git a/apps/www/src/components/ui/atoms/dynamic-image/index.tsx b/apps/www/src/components/ui/atoms/dynamic-image/index.tsx index c38ffe45..c530f4e3 100644 --- a/apps/www/src/components/ui/atoms/dynamic-image/index.tsx +++ b/apps/www/src/components/ui/atoms/dynamic-image/index.tsx @@ -9,7 +9,7 @@ export type DynamicImageProps = Partial & { maxHeight?: number } -export function DynamicImage(props: DynamicImageProps) { +export default function DynamicImage(props: DynamicImageProps) { const [dimensions, setDimensions] = React.useState({width: 0, height: 0}) useEffect(() => { From 51c13da1df517c189a56eb2c0b9d5b27c4a95fac Mon Sep 17 00:00:00 2001 From: Sandro Pereira <38382721+54nd10@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:04:33 +0000 Subject: [PATCH 05/66] icon stories --- .../components/ui/atoms/icon/icon.stories.tsx | 77 +++++++++++++++++++ .../src/components/ui/atoms/icon/index.tsx | 2 +- 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 apps/www/src/components/ui/atoms/icon/icon.stories.tsx diff --git a/apps/www/src/components/ui/atoms/icon/icon.stories.tsx b/apps/www/src/components/ui/atoms/icon/icon.stories.tsx new file mode 100644 index 00000000..a69eb427 --- /dev/null +++ b/apps/www/src/components/ui/atoms/icon/icon.stories.tsx @@ -0,0 +1,77 @@ +import {iconNames, iconTypes} from '@/models/icon.model' +import Icon, {IconProps} from './index' +import type {Meta} from '@storybook/react' + +const meta = { + title: 'components/Atoms/Icon', + component: Icon, + tags: ['autodocs'], + argTypes: { + type: { + options: iconTypes, + control: 'select' + }, + name: { + options: iconNames, + control: 'select' + } + }, + args: { + name: iconNames[0], + type: iconTypes[0] + } +} satisfies Meta + +export default meta + +export const Default = { + name: 'Default', + render: (args: IconProps) => ( + + ) +} + +export const OutlineIcons = { + name: 'Outline Icons', + render: () => ( +
+ {iconNames.map((name) => ( +
+ +

{name}

+
+ ))} +
+ ) +} + +export const SolidIcons = { + name: 'Solid Icons', + render: () => ( +
+ {iconNames.map((name) => ( +
+ +

{name}

+
+ ))} +
+ ) +} diff --git a/apps/www/src/components/ui/atoms/icon/index.tsx b/apps/www/src/components/ui/atoms/icon/index.tsx index cb879f33..3ab5adab 100644 --- a/apps/www/src/components/ui/atoms/icon/index.tsx +++ b/apps/www/src/components/ui/atoms/icon/index.tsx @@ -587,6 +587,7 @@ import { XMarkIcon as XMarkIconSolid } from '@heroicons/react/24/solid' import {IconType} from '@/models/icon.model' +import color from 'tailwindcss/colors' export type IconProps = IconType & React.ComponentPropsWithoutRef<'svg'> @@ -1176,7 +1177,6 @@ const icons = { XCircleIconSolid, XMarkIconSolid } -import color from 'tailwindcss/colors' export default function Icon({name, type, ...props}: IconProps) { const Comp = icons[`${name}${type === 'solid' ? 'Solid' : 'Outline'}` as keyof typeof icons] From dfbf2e6ba7152abaadac4910cffae6f6505c9e83 Mon Sep 17 00:00:00 2001 From: Sandro Pereira <38382721+54nd10@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:04:42 +0000 Subject: [PATCH 06/66] checkbox stories --- .../inputs/checkbox/checkbox.stories.tsx | 31 ++++++++++++ .../ui/atoms/inputs/checkbox/index.tsx | 47 ++++++++++--------- 2 files changed, 56 insertions(+), 22 deletions(-) create mode 100644 apps/www/src/components/ui/atoms/inputs/checkbox/checkbox.stories.tsx diff --git a/apps/www/src/components/ui/atoms/inputs/checkbox/checkbox.stories.tsx b/apps/www/src/components/ui/atoms/inputs/checkbox/checkbox.stories.tsx new file mode 100644 index 00000000..cb4b4558 --- /dev/null +++ b/apps/www/src/components/ui/atoms/inputs/checkbox/checkbox.stories.tsx @@ -0,0 +1,31 @@ +import {faker} from '@faker-js/faker' +import Checkbox, {CheckboxProps} from './index' +import type {Meta} from '@storybook/react' + +const meta = { + title: 'components/Atoms/inputs/Checkbox', + component: Checkbox, + tags: ['autodocs'], + argTypes: { + id: { + control: 'text' + }, + label: { + control: 'text' + }, + className: { + control: 'text' + } + }, + args: { + id: faker.lorem.word(), + label: faker.lorem.sentence() + } +} satisfies Meta + +export default meta + +export const Default = { + name: 'Default', + render: (args: CheckboxProps) => +} diff --git a/apps/www/src/components/ui/atoms/inputs/checkbox/index.tsx b/apps/www/src/components/ui/atoms/inputs/checkbox/index.tsx index 048f28d4..4e303ba5 100644 --- a/apps/www/src/components/ui/atoms/inputs/checkbox/index.tsx +++ b/apps/www/src/components/ui/atoms/inputs/checkbox/index.tsx @@ -1,30 +1,33 @@ -import {FieldValues, RegisterOptions, UseFormRegister} from 'react-hook-form' import {cn} from '@/utils/toolbox' +import {forwardRef} from 'react' export type CheckboxProps = { - register: UseFormRegister id: string - name: string label: string - options?: RegisterOptions className?: string } -export function Checkbox({register, id, name, label, options, className}: CheckboxProps) { - return ( -
- - -
- ) -} +const Checkbox = forwardRef>( + ({id, label, className, ...other}, ref) => { + return ( +
+ + +
+ ) + } +) +Checkbox.displayName = 'Checkbox' + +export default Checkbox From 906cccccf8bfc4f15eda6a96d5cd8f35ecd14b2a Mon Sep 17 00:00:00 2001 From: Sandro Pereira <38382721+54nd10@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:04:53 +0000 Subject: [PATCH 07/66] input stories --- .../ui/atoms/inputs/input/index.tsx | 77 ++++++++++--------- .../ui/atoms/inputs/input/input.stories.tsx | 41 ++++++++++ 2 files changed, 81 insertions(+), 37 deletions(-) create mode 100644 apps/www/src/components/ui/atoms/inputs/input/input.stories.tsx diff --git a/apps/www/src/components/ui/atoms/inputs/input/index.tsx b/apps/www/src/components/ui/atoms/inputs/input/index.tsx index b928ed6e..20e75ae5 100644 --- a/apps/www/src/components/ui/atoms/inputs/input/index.tsx +++ b/apps/www/src/components/ui/atoms/inputs/input/index.tsx @@ -1,47 +1,50 @@ -import {FieldError, FieldErrorsImpl, FieldValues, Merge, RegisterOptions, UseFormRegister} from 'react-hook-form' import {HTMLInputTypeAttribute} from 'react' import {cn} from '@/utils/toolbox' +import React, {forwardRef} from 'react' export type InputProps = { - register: UseFormRegister - name: string - options?: RegisterOptions + id: string label: string className?: string type?: HTMLInputTypeAttribute - // eslint-disable-next-line @typescript-eslint/no-explicit-any - error?: FieldError | Merge> | undefined + error?: string } -export function Input({register, name, options, label, className, type = 'text', error}: InputProps) { - return ( -
- -
- - {error ? ( -

- {error.message?.toString()} -

- ) : null} +const Input = forwardRef>( + ({id, label, className, type = 'text', error, ...other}, ref) => { + return ( +
+ +
+ + {error ? ( +

+ {error} +

+ ) : null} +
-
- ) -} + ) + } +) +Input.displayName = 'Input' + +export default Input diff --git a/apps/www/src/components/ui/atoms/inputs/input/input.stories.tsx b/apps/www/src/components/ui/atoms/inputs/input/input.stories.tsx new file mode 100644 index 00000000..acf0ac70 --- /dev/null +++ b/apps/www/src/components/ui/atoms/inputs/input/input.stories.tsx @@ -0,0 +1,41 @@ +import {faker} from '@faker-js/faker' +import Input, {InputProps} from './index' +import type {Meta} from '@storybook/react' + +const meta = { + title: 'components/Atoms/inputs/Input', + component: Input, + tags: ['autodocs'], + argTypes: { + id: { + control: 'text' + }, + label: { + control: 'text' + }, + className: { + control: 'text' + } + }, + args: { + id: faker.lorem.word(), + label: faker.lorem.sentence() + } +} satisfies Meta + +export default meta + +export const Default = { + name: 'Default', + render: (args: InputProps) => +} + +export const WithError = { + name: 'With error', + render: (args: InputProps) => ( + + ) +} From 072e4c142724bfab1bf0e3a4bc054d70df746652 Mon Sep 17 00:00:00 2001 From: Sandro Pereira <38382721+54nd10@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:05:05 +0000 Subject: [PATCH 08/66] textarea stories --- .../ui/atoms/inputs/textarea/index.tsx | 68 +++++++++++-------- .../atoms/inputs/textarea/input.stories.tsx | 41 +++++++++++ 2 files changed, 79 insertions(+), 30 deletions(-) create mode 100644 apps/www/src/components/ui/atoms/inputs/textarea/input.stories.tsx diff --git a/apps/www/src/components/ui/atoms/inputs/textarea/index.tsx b/apps/www/src/components/ui/atoms/inputs/textarea/index.tsx index 40cca385..ec3e7ea1 100644 --- a/apps/www/src/components/ui/atoms/inputs/textarea/index.tsx +++ b/apps/www/src/components/ui/atoms/inputs/textarea/index.tsx @@ -1,37 +1,45 @@ import {InputProps} from '../input' import {cn} from '@/utils/toolbox' +import {forwardRef} from 'react' export type TextAreaProps = InputProps -export function TextArea({register, name, options, label, className, error}: TextAreaProps) { - return ( -
- -
-