diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml new file mode 100644 index 0000000..7e405ac --- /dev/null +++ b/.github/workflows/storybook.yml @@ -0,0 +1,74 @@ +name: Chromatic Deployment + +on: + pull_request: + branches: + - develop + +jobs: + chromatic-deployment: + name: Chromatic + runs-on: ubuntu-latest + outputs: + statis: ${{ job.status }} + storybook_url: ${{ steps.chromatic.outputs.storybookUrl }} + currnent_time: ${{ steps.current-time.outputs.formattedTime }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "yarn" + + - name: Set yarn version + id: set-version + run: | + yarn set version 4.1.1 + echo "YARN_VERSION=$(yarn -v)" >> $GITHUB_OUTPUT + + - name: Yarn cache - PnP + uses: actions/cache@v4 + with: + path: | + .yarn/cache + .pnp.* + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}-${{ steps.set-version.outputs.YARN_VERSION }} + restore-keys: | + ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}- + + - name: Install dependencies + run: yarn + + - name: Publish to Chromatic + id: chromatic + uses: chromaui/action@latest + with: + exitZeroOnChanges: true + autoAcceptChanges: true + projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} + + - name: Get current time + uses: josStorer/get-current-time@v2 + id: current-time + with: + format: "YYYY년 MM월 DD일 HH시 mm분" + utcOffset: "+09:00" + + github-storybook-comment: + runs-on: ubuntu-latest + needs: [chromatic-deployment] + steps: + - name: Comment PR + uses: thollander/actions-comment-pull-request@v3 + with: + comment-tag: ${{ github.event.number }}-storybook + message: | + + 🧷 Storybook: ${{ needs.chromatic-deployment.outputs.storybook_url }} + + ⏰ Update: ${{ needs.chromatic-deployment.outputs.currnent_time }} diff --git a/.pnp.cjs b/.pnp.cjs index 66d59df..38e202f 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -47,6 +47,7 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/eslint-plugin", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.20.0"],\ ["@typescript-eslint/parser", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.20.0"],\ ["@vitejs/plugin-react", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:4.3.4"],\ + ["chromatic", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:11.25.1"],\ ["classnames", "npm:2.5.1"],\ ["cypress", "npm:14.0.0"],\ ["eslint", "npm:8.57.1"],\ @@ -70,6 +71,7 @@ const RAW_RUNTIME_STATE = ["typescript", "patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c"],\ ["typescript-plugin-css-modules", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:5.1.0"],\ ["vite", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:6.0.7"],\ + ["vite-plugin-svgr", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:4.3.0"],\ ["vite-tsconfig-paths", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:5.1.4"]\ ],\ "linkType": "SOFT"\ @@ -145,6 +147,28 @@ const RAW_RUNTIME_STATE = ["semver", "npm:6.3.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.26.7", {\ + "packageLocation": "./.yarn/cache/@babel-core-npm-7.26.7-7cf6c69e74-fbd2cd9fc2.zip/node_modules/@babel/core/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.26.7"],\ + ["@ampproject/remapping", "npm:2.3.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/generator", "npm:7.26.5"],\ + ["@babel/helper-compilation-targets", "npm:7.26.5"],\ + ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ + ["@babel/helpers", "npm:7.26.7"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.4.0"],\ + ["gensync", "npm:1.0.0-beta.2"],\ + ["json5", "npm:2.2.3"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/generator", [\ @@ -209,6 +233,22 @@ const RAW_RUNTIME_STATE = "@types/babel__core"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-66ed0daf54/0/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-ee111b68a5.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "virtual:7cf6c69e744fb4105aafff4bc9f6522c4ebecda78a90b5736c20680dedf78a90f4baf3abf7f2edd8f5313cfed0d5b735a5996749f10769e23a0a696097aa49bd#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/helper-plugin-utils", [\ @@ -256,6 +296,15 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.26.5"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.26.7", {\ + "packageLocation": "./.yarn/cache/@babel-helpers-npm-7.26.7-284c12b13e-37fec398e5.zip/node_modules/@babel/helpers/",\ + "packageDependencies": [\ + ["@babel/helpers", "npm:7.26.7"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/parser", [\ @@ -266,6 +315,14 @@ const RAW_RUNTIME_STATE = ["@babel/types", "npm:7.26.5"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.26.7", {\ + "packageLocation": "./.yarn/cache/@babel-parser-npm-7.26.7-ef2912fba4-dcb08a4f28.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/types", "npm:7.26.7"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/plugin-syntax-async-generators", [\ @@ -951,6 +1008,20 @@ const RAW_RUNTIME_STATE = ["globals", "npm:11.12.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.26.7", {\ + "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.26.7-18316b804e-b23a36ce40.zip/node_modules/@babel/traverse/",\ + "packageDependencies": [\ + ["@babel/traverse", "npm:7.26.7"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/generator", "npm:7.26.5"],\ + ["@babel/parser", "npm:7.26.7"],\ + ["@babel/template", "npm:7.25.9"],\ + ["@babel/types", "npm:7.26.7"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.4.0"],\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@babel/types", [\ @@ -962,6 +1033,15 @@ const RAW_RUNTIME_STATE = ["@babel/helper-validator-identifier", "npm:7.25.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.26.7", {\ + "packageLocation": "./.yarn/cache/@babel-types-npm-7.26.7-0a324aa562-7810a2bca9.zip/node_modules/@babel/types/",\ + "packageDependencies": [\ + ["@babel/types", "npm:7.26.7"],\ + ["@babel/helper-string-parser", "npm:7.25.9"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@bcoe/v8-coverage", [\ @@ -3245,6 +3325,263 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["@svgr/babel-plugin-add-jsx-attribute", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-add-jsx-attribute-npm-8.0.0-026be9c2be-a50bd0baa3.zip/node_modules/@svgr/babel-plugin-add-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-add-jsx-attribute", "npm:8.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-add-jsx-attribute-virtual-ce5fab05b1/0/cache/@svgr-babel-plugin-add-jsx-attribute-npm-8.0.0-026be9c2be-a50bd0baa3.zip/node_modules/@svgr/babel-plugin-add-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-add-jsx-attribute", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-remove-jsx-attribute", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-remove-jsx-attribute-npm-8.0.0-c98774fd19-8a98e59bd9.zip/node_modules/@svgr/babel-plugin-remove-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-attribute", "npm:8.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-remove-jsx-attribute-virtual-8600816815/0/cache/@svgr-babel-plugin-remove-jsx-attribute-npm-8.0.0-c98774fd19-8a98e59bd9.zip/node_modules/@svgr/babel-plugin-remove-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-attribute", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-remove-jsx-empty-expression-npm-8.0.0-bee2c7d451-517dcca752.zip/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", "npm:8.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-remove-jsx-empty-expression-virtual-862d1cad70/0/cache/@svgr-babel-plugin-remove-jsx-empty-expression-npm-8.0.0-bee2c7d451-517dcca752.zip/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-replace-jsx-attribute-value-npm-8.0.0-bf8ed25593-004bd18920.zip/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", "npm:8.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-replace-jsx-attribute-value-virtual-6aae4123a1/0/cache/@svgr-babel-plugin-replace-jsx-attribute-value-npm-8.0.0-bf8ed25593-004bd18920.zip/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-svg-dynamic-title", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-svg-dynamic-title-npm-8.0.0-c534fda2ad-80e0a7fcf9.zip/node_modules/@svgr/babel-plugin-svg-dynamic-title/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-dynamic-title", "npm:8.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-svg-dynamic-title-virtual-ed55d26991/0/cache/@svgr-babel-plugin-svg-dynamic-title-npm-8.0.0-c534fda2ad-80e0a7fcf9.zip/node_modules/@svgr/babel-plugin-svg-dynamic-title/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-dynamic-title", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-svg-em-dimensions", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-svg-em-dimensions-npm-8.0.0-de7e3b5c02-73e92c8277.zip/node_modules/@svgr/babel-plugin-svg-em-dimensions/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-em-dimensions", "npm:8.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-svg-em-dimensions-virtual-e0c181b549/0/cache/@svgr-babel-plugin-svg-em-dimensions-npm-8.0.0-de7e3b5c02-73e92c8277.zip/node_modules/@svgr/babel-plugin-svg-em-dimensions/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-em-dimensions", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-transform-react-native-svg", [\ + ["npm:8.1.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-transform-react-native-svg-npm-8.1.0-9f7491cf96-655ed6bc7a.zip/node_modules/@svgr/babel-plugin-transform-react-native-svg/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-react-native-svg", "npm:8.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-transform-react-native-svg-virtual-a217f741dc/0/cache/@svgr-babel-plugin-transform-react-native-svg-npm-8.1.0-9f7491cf96-655ed6bc7a.zip/node_modules/@svgr/babel-plugin-transform-react-native-svg/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-react-native-svg", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.1.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-transform-svg-component", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-transform-svg-component-npm-8.0.0-2e9be9c6ad-4ac00bb99a.zip/node_modules/@svgr/babel-plugin-transform-svg-component/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-svg-component", "npm:8.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-transform-svg-component-virtual-0a98827934/0/cache/@svgr-babel-plugin-transform-svg-component-npm-8.0.0-2e9be9c6ad-4ac00bb99a.zip/node_modules/@svgr/babel-plugin-transform-svg-component/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-svg-component", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-preset", [\ + ["npm:8.1.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-preset-npm-8.1.0-0dca9b0e1b-49367d3ad0.zip/node_modules/@svgr/babel-preset/",\ + "packageDependencies": [\ + ["@svgr/babel-preset", "npm:8.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:77cc138b8f03e76bc81b53d7c536b91810383e8b8e9f294aac9f969daaf6fd5a72e29c2099e3025b537aac701c45d44c7e6af1647a2799c9f61d4f4f9312b7a3#npm:8.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-preset-virtual-787cd2a900/0/cache/@svgr-babel-preset-npm-8.1.0-0dca9b0e1b-49367d3ad0.zip/node_modules/@svgr/babel-preset/",\ + "packageDependencies": [\ + ["@svgr/babel-preset", "virtual:77cc138b8f03e76bc81b53d7c536b91810383e8b8e9f294aac9f969daaf6fd5a72e29c2099e3025b537aac701c45d44c7e6af1647a2799c9f61d4f4f9312b7a3#npm:8.1.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@svgr/babel-plugin-add-jsx-attribute", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@svgr/babel-plugin-remove-jsx-attribute", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@svgr/babel-plugin-svg-dynamic-title", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@svgr/babel-plugin-svg-em-dimensions", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@svgr/babel-plugin-transform-react-native-svg", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.1.0"],\ + ["@svgr/babel-plugin-transform-svg-component", "virtual:787cd2a900f2b2d924f7d452399919c1af4f5649aa818911805226763b5e1524125869f29ff2317db51a4d4c91a383aa06e6b77fba937d1a8da46a2d8a0ed437#npm:8.0.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/core", [\ + ["npm:8.1.0", {\ + "packageLocation": "./.yarn/cache/@svgr-core-npm-8.1.0-77cc138b8f-6a2f6b1bc7.zip/node_modules/@svgr/core/",\ + "packageDependencies": [\ + ["@svgr/core", "npm:8.1.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@svgr/babel-preset", "virtual:77cc138b8f03e76bc81b53d7c536b91810383e8b8e9f294aac9f969daaf6fd5a72e29c2099e3025b537aac701c45d44c7e6af1647a2799c9f61d4f4f9312b7a3#npm:8.1.0"],\ + ["camelcase", "npm:6.3.0"],\ + ["cosmiconfig", "virtual:77cc138b8f03e76bc81b53d7c536b91810383e8b8e9f294aac9f969daaf6fd5a72e29c2099e3025b537aac701c45d44c7e6af1647a2799c9f61d4f4f9312b7a3#npm:8.3.6"],\ + ["snake-case", "npm:3.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/hast-util-to-babel-ast", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@svgr-hast-util-to-babel-ast-npm-8.0.0-5d74d59e64-f4165b583b.zip/node_modules/@svgr/hast-util-to-babel-ast/",\ + "packageDependencies": [\ + ["@svgr/hast-util-to-babel-ast", "npm:8.0.0"],\ + ["@babel/types", "npm:7.26.7"],\ + ["entities", "npm:4.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/plugin-jsx", [\ + ["npm:8.1.0", {\ + "packageLocation": "./.yarn/cache/@svgr-plugin-jsx-npm-8.1.0-e2710753df-07b4d9e00d.zip/node_modules/@svgr/plugin-jsx/",\ + "packageDependencies": [\ + ["@svgr/plugin-jsx", "npm:8.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a5c98c0366a9a99ad44efbbcc5d313d5b6260cc3fa8378aabdbbf8ca60f50b4b9c82597085443be540e0e28037e89a93d695b87d4abc53ac78efae8b2ff7f858#npm:8.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-plugin-jsx-virtual-4dc18bc1b2/0/cache/@svgr-plugin-jsx-npm-8.1.0-e2710753df-07b4d9e00d.zip/node_modules/@svgr/plugin-jsx/",\ + "packageDependencies": [\ + ["@svgr/plugin-jsx", "virtual:a5c98c0366a9a99ad44efbbcc5d313d5b6260cc3fa8378aabdbbf8ca60f50b4b9c82597085443be540e0e28037e89a93d695b87d4abc53ac78efae8b2ff7f858#npm:8.1.0"],\ + ["@babel/core", "npm:7.26.7"],\ + ["@svgr/babel-preset", "virtual:77cc138b8f03e76bc81b53d7c536b91810383e8b8e9f294aac9f969daaf6fd5a72e29c2099e3025b537aac701c45d44c7e6af1647a2799c9f61d4f4f9312b7a3#npm:8.1.0"],\ + ["@svgr/core", "npm:8.1.0"],\ + ["@svgr/hast-util-to-babel-ast", "npm:8.0.0"],\ + ["@types/svgr__core", null],\ + ["svg-parser", "npm:2.0.4"]\ + ],\ + "packagePeers": [\ + "@svgr/core",\ + "@types/svgr__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@tanstack/query-core", [\ ["npm:5.64.2", {\ "packageLocation": "./.yarn/cache/@tanstack-query-core-npm-5.64.2-ba62fd1449-96dfaa334d.zip/node_modules/@tanstack/query-core/",\ @@ -5039,6 +5376,32 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["chromatic", [\ + ["npm:11.25.1", {\ + "packageLocation": "./.yarn/cache/chromatic-npm-11.25.1-1866a739e4-869939cf65.zip/node_modules/chromatic/",\ + "packageDependencies": [\ + ["chromatic", "npm:11.25.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:11.25.1", {\ + "packageLocation": "./.yarn/__virtual__/chromatic-virtual-48fe2c5adf/0/cache/chromatic-npm-11.25.1-1866a739e4-869939cf65.zip/node_modules/chromatic/",\ + "packageDependencies": [\ + ["chromatic", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:11.25.1"],\ + ["@chromatic-com/cypress", null],\ + ["@chromatic-com/playwright", null],\ + ["@types/chromatic-com__cypress", null],\ + ["@types/chromatic-com__playwright", null]\ + ],\ + "packagePeers": [\ + "@chromatic-com/cypress",\ + "@chromatic-com/playwright",\ + "@types/chromatic-com__cypress",\ + "@types/chromatic-com__playwright"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["ci-info", [\ ["npm:3.9.0", {\ "packageLocation": "./.yarn/cache/ci-info-npm-3.9.0-646784ca0e-6f0109e36e.zip/node_modules/ci-info/",\ @@ -5306,6 +5669,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["cosmiconfig", [\ + ["npm:8.3.6", {\ + "packageLocation": "./.yarn/cache/cosmiconfig-npm-8.3.6-a5566e2779-0382a9ed13.zip/node_modules/cosmiconfig/",\ + "packageDependencies": [\ + ["cosmiconfig", "npm:8.3.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["npm:9.0.0", {\ "packageLocation": "./.yarn/cache/cosmiconfig-npm-9.0.0-47d78cf275-1c1703be4f.zip/node_modules/cosmiconfig/",\ "packageDependencies": [\ @@ -5329,6 +5699,23 @@ const RAW_RUNTIME_STATE = "typescript"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:77cc138b8f03e76bc81b53d7c536b91810383e8b8e9f294aac9f969daaf6fd5a72e29c2099e3025b537aac701c45d44c7e6af1647a2799c9f61d4f4f9312b7a3#npm:8.3.6", {\ + "packageLocation": "./.yarn/__virtual__/cosmiconfig-virtual-0b1fbf1e24/0/cache/cosmiconfig-npm-8.3.6-a5566e2779-0382a9ed13.zip/node_modules/cosmiconfig/",\ + "packageDependencies": [\ + ["cosmiconfig", "virtual:77cc138b8f03e76bc81b53d7c536b91810383e8b8e9f294aac9f969daaf6fd5a72e29c2099e3025b537aac701c45d44c7e6af1647a2799c9f61d4f4f9312b7a3#npm:8.3.6"],\ + ["@types/typescript", null],\ + ["import-fresh", "npm:3.3.0"],\ + ["js-yaml", "npm:4.1.0"],\ + ["parse-json", "npm:5.2.0"],\ + ["path-type", "npm:4.0.0"],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["cosmiconfig-typescript-loader", [\ @@ -5825,6 +6212,17 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["dot-case", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/dot-case-npm-3.0.4-09675b5521-5b859ea650.zip/node_modules/dot-case/",\ + "packageDependencies": [\ + ["dot-case", "npm:3.0.4"],\ + ["no-case", "npm:3.0.4"],\ + ["tslib", "npm:2.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["dot-prop", [\ ["npm:5.3.0", {\ "packageLocation": "./.yarn/cache/dot-prop-npm-5.3.0-7bf6ee1eb8-93f0d343ef.zip/node_modules/dot-prop/",\ @@ -9325,6 +9723,16 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["lower-case", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/lower-case-npm-2.0.2-151055f1c2-3d925e0903.zip/node_modules/lower-case/",\ + "packageDependencies": [\ + ["lower-case", "npm:2.0.2"],\ + ["tslib", "npm:2.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["lru-cache", [\ ["npm:10.4.3", {\ "packageLocation": "./.yarn/cache/lru-cache-npm-10.4.3-30c10b861a-ebd04fbca9.zip/node_modules/lru-cache/",\ @@ -9697,6 +10105,7 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/eslint-plugin", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.20.0"],\ ["@typescript-eslint/parser", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:8.20.0"],\ ["@vitejs/plugin-react", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:4.3.4"],\ + ["chromatic", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:11.25.1"],\ ["classnames", "npm:2.5.1"],\ ["cypress", "npm:14.0.0"],\ ["eslint", "npm:8.57.1"],\ @@ -9720,6 +10129,7 @@ const RAW_RUNTIME_STATE = ["typescript", "patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c"],\ ["typescript-plugin-css-modules", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:5.1.0"],\ ["vite", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:6.0.7"],\ + ["vite-plugin-svgr", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:4.3.0"],\ ["vite-tsconfig-paths", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:5.1.4"]\ ],\ "linkType": "SOFT"\ @@ -9790,6 +10200,17 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["no-case", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/no-case-npm-3.0.4-12884c3d98-8ef545f0b3.zip/node_modules/no-case/",\ + "packageDependencies": [\ + ["no-case", "npm:3.0.4"],\ + ["lower-case", "npm:2.0.2"],\ + ["tslib", "npm:2.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["node-addon-api", [\ ["npm:7.1.1", {\ "packageLocation": "./.yarn/unplugged/node-addon-api-npm-7.1.1-bfb302df19/node_modules/node-addon-api/",\ @@ -10228,6 +10649,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["path-type", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/path-type-npm-4.0.0-10d47fc86a-666f6973f3.zip/node_modules/path-type/",\ + "packageDependencies": [\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["pathval", [\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/pathval-npm-2.0.0-e9fc9a6282-602e4ee347.zip/node_modules/pathval/",\ @@ -11414,6 +11844,17 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["snake-case", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/snake-case-npm-3.0.4-67f447c30d-ab19a91396.zip/node_modules/snake-case/",\ + "packageDependencies": [\ + ["snake-case", "npm:3.0.4"],\ + ["dot-case", "npm:3.0.4"],\ + ["tslib", "npm:2.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["socks", [\ ["npm:2.8.3", {\ "packageLocation": "./.yarn/cache/socks-npm-2.8.3-3532b59899-d54a52bf93.zip/node_modules/socks/",\ @@ -11779,6 +12220,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["svg-parser", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/svg-parser-npm-2.0.4-1b0b6afbe9-02f6cb155d.zip/node_modules/svg-parser/",\ + "packageDependencies": [\ + ["svg-parser", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["symbol-tree", [\ ["npm:3.2.4", {\ "packageLocation": "./.yarn/cache/symbol-tree-npm-3.2.4-fe70cdb75b-dfbe201ae0.zip/node_modules/symbol-tree/",\ @@ -12601,6 +13051,31 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["vite-plugin-svgr", [\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/vite-plugin-svgr-npm-4.3.0-ded8bb690b-a73f10d319.zip/node_modules/vite-plugin-svgr/",\ + "packageDependencies": [\ + ["vite-plugin-svgr", "npm:4.3.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:4.3.0", {\ + "packageLocation": "./.yarn/__virtual__/vite-plugin-svgr-virtual-a5c98c0366/0/cache/vite-plugin-svgr-npm-4.3.0-ded8bb690b-a73f10d319.zip/node_modules/vite-plugin-svgr/",\ + "packageDependencies": [\ + ["vite-plugin-svgr", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:4.3.0"],\ + ["@rollup/pluginutils", "virtual:3a530af47fc57862bd102581e91cd795d8ff43e6ea76f696f2eb213e91000a01e963784b0bf158a27f93ec0d6c1cd18531fc49c0a9136dea9f7ebaea4ecff282#npm:5.1.4"],\ + ["@svgr/core", "npm:8.1.0"],\ + ["@svgr/plugin-jsx", "virtual:a5c98c0366a9a99ad44efbbcc5d313d5b6260cc3fa8378aabdbbf8ca60f50b4b9c82597085443be540e0e28037e89a93d695b87d4abc53ac78efae8b2ff7f858#npm:8.1.0"],\ + ["@types/vite", null],\ + ["vite", "virtual:bf4b7fdd92a9723d0b8b3c0ad1d9b3bf177b06bda2d8d90eee6bb9b559bcf7f6a4e86d3e1e4088168d00f3b758fa58c40c57bffe4a3e68627cd86f7a3c1c2191#npm:6.0.7"]\ + ],\ + "packagePeers": [\ + "@types/vite",\ + "vite"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["vite-tsconfig-paths", [\ ["npm:5.1.4", {\ "packageLocation": "./.yarn/cache/vite-tsconfig-paths-npm-5.1.4-7b9978a4d1-6228f23155.zip/node_modules/vite-tsconfig-paths/",\ diff --git a/.storybook/preview.module.scss b/.storybook/preview.module.scss new file mode 100644 index 0000000..a776076 --- /dev/null +++ b/.storybook/preview.module.scss @@ -0,0 +1,14 @@ +.Wrapper { + display: flex; + flex-flow: row wrap; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; +} + +.Story { + height: 100%; + padding: 2.5rem; + background-color: gray; +} diff --git a/.storybook/preview.ts b/.storybook/preview.ts deleted file mode 100644 index ff58bbd..0000000 --- a/.storybook/preview.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { Preview } from "@storybook/react"; - -const preview: Preview = { - parameters: { - actions: { argTypesRegex: "^on[A-Z].*" }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/i, - }, - }, - }, -}; - -export default preview; diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx new file mode 100644 index 0000000..1c9de14 --- /dev/null +++ b/.storybook/preview.tsx @@ -0,0 +1,26 @@ +import type { Preview } from "@storybook/react"; + +import styles from "./preview.module.scss"; + +const preview: Preview = { + parameters: { + layout: "centered", + options: { + storySort: { + order: ["ReadMe", "Changelog", "*", "components"], + }, + }, + }, + + decorators: [ + (Story) => ( +
+
+ +
+
+ ), + ], +}; + +export default preview; diff --git a/.yarn/cache/@babel-core-npm-7.26.7-7cf6c69e74-fbd2cd9fc2.zip b/.yarn/cache/@babel-core-npm-7.26.7-7cf6c69e74-fbd2cd9fc2.zip new file mode 100644 index 0000000..c9ba1e5 Binary files /dev/null and b/.yarn/cache/@babel-core-npm-7.26.7-7cf6c69e74-fbd2cd9fc2.zip differ diff --git a/.yarn/cache/@babel-helpers-npm-7.26.7-284c12b13e-37fec398e5.zip b/.yarn/cache/@babel-helpers-npm-7.26.7-284c12b13e-37fec398e5.zip new file mode 100644 index 0000000..d4d5bd8 Binary files /dev/null and b/.yarn/cache/@babel-helpers-npm-7.26.7-284c12b13e-37fec398e5.zip differ diff --git a/.yarn/cache/@babel-parser-npm-7.26.7-ef2912fba4-dcb08a4f28.zip b/.yarn/cache/@babel-parser-npm-7.26.7-ef2912fba4-dcb08a4f28.zip new file mode 100644 index 0000000..554c9a0 Binary files /dev/null and b/.yarn/cache/@babel-parser-npm-7.26.7-ef2912fba4-dcb08a4f28.zip differ diff --git a/.yarn/cache/@babel-traverse-npm-7.26.7-18316b804e-b23a36ce40.zip b/.yarn/cache/@babel-traverse-npm-7.26.7-18316b804e-b23a36ce40.zip new file mode 100644 index 0000000..589a9fa Binary files /dev/null and b/.yarn/cache/@babel-traverse-npm-7.26.7-18316b804e-b23a36ce40.zip differ diff --git a/.yarn/cache/@babel-types-npm-7.26.7-0a324aa562-7810a2bca9.zip b/.yarn/cache/@babel-types-npm-7.26.7-0a324aa562-7810a2bca9.zip new file mode 100644 index 0000000..7df158f Binary files /dev/null and b/.yarn/cache/@babel-types-npm-7.26.7-0a324aa562-7810a2bca9.zip differ diff --git a/.yarn/cache/@svgr-babel-plugin-add-jsx-attribute-npm-8.0.0-026be9c2be-a50bd0baa3.zip b/.yarn/cache/@svgr-babel-plugin-add-jsx-attribute-npm-8.0.0-026be9c2be-a50bd0baa3.zip new file mode 100644 index 0000000..22ace1d Binary files /dev/null and b/.yarn/cache/@svgr-babel-plugin-add-jsx-attribute-npm-8.0.0-026be9c2be-a50bd0baa3.zip differ diff --git a/.yarn/cache/@svgr-babel-plugin-remove-jsx-attribute-npm-8.0.0-c98774fd19-8a98e59bd9.zip b/.yarn/cache/@svgr-babel-plugin-remove-jsx-attribute-npm-8.0.0-c98774fd19-8a98e59bd9.zip new file mode 100644 index 0000000..653c6f6 Binary files /dev/null and b/.yarn/cache/@svgr-babel-plugin-remove-jsx-attribute-npm-8.0.0-c98774fd19-8a98e59bd9.zip differ diff --git a/.yarn/cache/@svgr-babel-plugin-remove-jsx-empty-expression-npm-8.0.0-bee2c7d451-517dcca752.zip b/.yarn/cache/@svgr-babel-plugin-remove-jsx-empty-expression-npm-8.0.0-bee2c7d451-517dcca752.zip new file mode 100644 index 0000000..bf7dda7 Binary files /dev/null and b/.yarn/cache/@svgr-babel-plugin-remove-jsx-empty-expression-npm-8.0.0-bee2c7d451-517dcca752.zip differ diff --git a/.yarn/cache/@svgr-babel-plugin-replace-jsx-attribute-value-npm-8.0.0-bf8ed25593-004bd18920.zip b/.yarn/cache/@svgr-babel-plugin-replace-jsx-attribute-value-npm-8.0.0-bf8ed25593-004bd18920.zip new file mode 100644 index 0000000..24f5215 Binary files /dev/null and b/.yarn/cache/@svgr-babel-plugin-replace-jsx-attribute-value-npm-8.0.0-bf8ed25593-004bd18920.zip differ diff --git a/.yarn/cache/@svgr-babel-plugin-svg-dynamic-title-npm-8.0.0-c534fda2ad-80e0a7fcf9.zip b/.yarn/cache/@svgr-babel-plugin-svg-dynamic-title-npm-8.0.0-c534fda2ad-80e0a7fcf9.zip new file mode 100644 index 0000000..a7f2450 Binary files /dev/null and b/.yarn/cache/@svgr-babel-plugin-svg-dynamic-title-npm-8.0.0-c534fda2ad-80e0a7fcf9.zip differ diff --git a/.yarn/cache/@svgr-babel-plugin-svg-em-dimensions-npm-8.0.0-de7e3b5c02-73e92c8277.zip b/.yarn/cache/@svgr-babel-plugin-svg-em-dimensions-npm-8.0.0-de7e3b5c02-73e92c8277.zip new file mode 100644 index 0000000..b4c77c2 Binary files /dev/null and b/.yarn/cache/@svgr-babel-plugin-svg-em-dimensions-npm-8.0.0-de7e3b5c02-73e92c8277.zip differ diff --git a/.yarn/cache/@svgr-babel-plugin-transform-react-native-svg-npm-8.1.0-9f7491cf96-655ed6bc7a.zip b/.yarn/cache/@svgr-babel-plugin-transform-react-native-svg-npm-8.1.0-9f7491cf96-655ed6bc7a.zip new file mode 100644 index 0000000..43d50b7 Binary files /dev/null and b/.yarn/cache/@svgr-babel-plugin-transform-react-native-svg-npm-8.1.0-9f7491cf96-655ed6bc7a.zip differ diff --git a/.yarn/cache/@svgr-babel-plugin-transform-svg-component-npm-8.0.0-2e9be9c6ad-4ac00bb99a.zip b/.yarn/cache/@svgr-babel-plugin-transform-svg-component-npm-8.0.0-2e9be9c6ad-4ac00bb99a.zip new file mode 100644 index 0000000..cc956ff Binary files /dev/null and b/.yarn/cache/@svgr-babel-plugin-transform-svg-component-npm-8.0.0-2e9be9c6ad-4ac00bb99a.zip differ diff --git a/.yarn/cache/@svgr-babel-preset-npm-8.1.0-0dca9b0e1b-49367d3ad0.zip b/.yarn/cache/@svgr-babel-preset-npm-8.1.0-0dca9b0e1b-49367d3ad0.zip new file mode 100644 index 0000000..965fef0 Binary files /dev/null and b/.yarn/cache/@svgr-babel-preset-npm-8.1.0-0dca9b0e1b-49367d3ad0.zip differ diff --git a/.yarn/cache/@svgr-core-npm-8.1.0-77cc138b8f-6a2f6b1bc7.zip b/.yarn/cache/@svgr-core-npm-8.1.0-77cc138b8f-6a2f6b1bc7.zip new file mode 100644 index 0000000..d24b188 Binary files /dev/null and b/.yarn/cache/@svgr-core-npm-8.1.0-77cc138b8f-6a2f6b1bc7.zip differ diff --git a/.yarn/cache/@svgr-hast-util-to-babel-ast-npm-8.0.0-5d74d59e64-f4165b583b.zip b/.yarn/cache/@svgr-hast-util-to-babel-ast-npm-8.0.0-5d74d59e64-f4165b583b.zip new file mode 100644 index 0000000..030c9dd Binary files /dev/null and b/.yarn/cache/@svgr-hast-util-to-babel-ast-npm-8.0.0-5d74d59e64-f4165b583b.zip differ diff --git a/.yarn/cache/@svgr-plugin-jsx-npm-8.1.0-e2710753df-07b4d9e00d.zip b/.yarn/cache/@svgr-plugin-jsx-npm-8.1.0-e2710753df-07b4d9e00d.zip new file mode 100644 index 0000000..d1b9406 Binary files /dev/null and b/.yarn/cache/@svgr-plugin-jsx-npm-8.1.0-e2710753df-07b4d9e00d.zip differ diff --git a/.yarn/cache/chromatic-npm-11.25.1-1866a739e4-869939cf65.zip b/.yarn/cache/chromatic-npm-11.25.1-1866a739e4-869939cf65.zip new file mode 100644 index 0000000..00b859d Binary files /dev/null and b/.yarn/cache/chromatic-npm-11.25.1-1866a739e4-869939cf65.zip differ diff --git a/.yarn/cache/cosmiconfig-npm-8.3.6-a5566e2779-0382a9ed13.zip b/.yarn/cache/cosmiconfig-npm-8.3.6-a5566e2779-0382a9ed13.zip new file mode 100644 index 0000000..2582fc8 Binary files /dev/null and b/.yarn/cache/cosmiconfig-npm-8.3.6-a5566e2779-0382a9ed13.zip differ diff --git a/.yarn/cache/dot-case-npm-3.0.4-09675b5521-5b859ea650.zip b/.yarn/cache/dot-case-npm-3.0.4-09675b5521-5b859ea650.zip new file mode 100644 index 0000000..16c94fa Binary files /dev/null and b/.yarn/cache/dot-case-npm-3.0.4-09675b5521-5b859ea650.zip differ diff --git a/.yarn/cache/lower-case-npm-2.0.2-151055f1c2-3d925e0903.zip b/.yarn/cache/lower-case-npm-2.0.2-151055f1c2-3d925e0903.zip new file mode 100644 index 0000000..6b88f69 Binary files /dev/null and b/.yarn/cache/lower-case-npm-2.0.2-151055f1c2-3d925e0903.zip differ diff --git a/.yarn/cache/no-case-npm-3.0.4-12884c3d98-8ef545f0b3.zip b/.yarn/cache/no-case-npm-3.0.4-12884c3d98-8ef545f0b3.zip new file mode 100644 index 0000000..365d252 Binary files /dev/null and b/.yarn/cache/no-case-npm-3.0.4-12884c3d98-8ef545f0b3.zip differ diff --git a/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-666f6973f3.zip b/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-666f6973f3.zip new file mode 100644 index 0000000..32cf7b0 Binary files /dev/null and b/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-666f6973f3.zip differ diff --git a/.yarn/cache/snake-case-npm-3.0.4-67f447c30d-ab19a91396.zip b/.yarn/cache/snake-case-npm-3.0.4-67f447c30d-ab19a91396.zip new file mode 100644 index 0000000..6a8d8f3 Binary files /dev/null and b/.yarn/cache/snake-case-npm-3.0.4-67f447c30d-ab19a91396.zip differ diff --git a/.yarn/cache/svg-parser-npm-2.0.4-1b0b6afbe9-02f6cb155d.zip b/.yarn/cache/svg-parser-npm-2.0.4-1b0b6afbe9-02f6cb155d.zip new file mode 100644 index 0000000..ed1eb47 Binary files /dev/null and b/.yarn/cache/svg-parser-npm-2.0.4-1b0b6afbe9-02f6cb155d.zip differ diff --git a/.yarn/cache/vite-plugin-svgr-npm-4.3.0-ded8bb690b-a73f10d319.zip b/.yarn/cache/vite-plugin-svgr-npm-4.3.0-ded8bb690b-a73f10d319.zip new file mode 100644 index 0000000..c6532e7 Binary files /dev/null and b/.yarn/cache/vite-plugin-svgr-npm-4.3.0-ded8bb690b-a73f10d319.zip differ diff --git a/index.html b/index.html index a3bad61..be6dbad 100644 --- a/index.html +++ b/index.html @@ -1,8 +1,7 @@ - + - misik diff --git a/package.json b/package.json index 897a9ad..8224b1b 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "lint:fix": "eslint --fix './src/**/*.{ts,tsx,js,jsx}'", "format": "prettier --write src/**/*.{ts,tsx,js,jsx}", "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build", "test": "jest", "cypress": "cypress open" }, @@ -41,6 +42,7 @@ "@typescript-eslint/eslint-plugin": "^8.20.0", "@typescript-eslint/parser": "^8.20.0", "@vitejs/plugin-react": "^4.3.4", + "chromatic": "^11.25.1", "cypress": "^14.0.0", "eslint": "^8.57.0", "eslint-config-prettier": "^10.0.1", @@ -61,6 +63,7 @@ "typescript": "5.4.5", "typescript-plugin-css-modules": "^5.1.0", "vite": "^6.0.5", + "vite-plugin-svgr": "^4.3.0", "vite-tsconfig-paths": "^5.1.4" }, "packageManager": "yarn@4.1.1" diff --git a/src/App.tsx b/src/App.tsx index 91f9108..729b1ea 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,7 +1,5 @@ -import Button from "@/components/Button"; - const App = () => { - return ; -}; - -export default Button; diff --git a/src/components/ui/Icon/Icon.stories.tsx b/src/components/ui/Icon/Icon.stories.tsx new file mode 100644 index 0000000..1e1ccbe --- /dev/null +++ b/src/components/ui/Icon/Icon.stories.tsx @@ -0,0 +1,48 @@ +import Icon from "@/components/ui/Icon/Icon"; +import { ICONS } from "@/components/ui/Icon/Icon"; +import type { IconNameType } from "@/components/ui/Icon/Icon"; + +import type { Meta, StoryObj } from "@storybook/react"; + +const meta: Meta = { + title: "Example/Icon", + component: Icon, + parameters: { + layout: "centered", + }, + argTypes: { + name: { + control: { + type: "select", + options: ["camera", "close", "gallery", "leftArrow", "paste", "plus"], + }, + }, + }, +}; + +export default meta; + +export const AllIcons: StoryObj = { + render: () => ( +
+ {(Object.keys(ICONS) as IconNameType[]).map((iconName) => ( +
+
+ +
+

{iconName}

+
+ ))} +
+ ), +}; diff --git a/src/components/ui/Icon/Icon.tsx b/src/components/ui/Icon/Icon.tsx new file mode 100644 index 0000000..c23ff85 --- /dev/null +++ b/src/components/ui/Icon/Icon.tsx @@ -0,0 +1,26 @@ +import CameraIcon from "@/assets/svg/ic-camera.svg?react"; +import CloseIcon from "@/assets/svg/ic-close.svg?react"; +import GalleryIcon from "@/assets/svg/ic-gallery.svg?react"; +import LeftArrowIcon from "@/assets/svg/ic-left-arrow.svg?react"; +import PasteIcon from "@/assets/svg/ic-paste.svg?react"; +import PlusIcon from "@/assets/svg/ic-plus.svg?react"; + +export type IconNameType = "camera" | "close" | "gallery" | "leftArrow" | "paste" | "plus"; + +export const ICONS = { + camera: CameraIcon, + close: CloseIcon, + gallery: GalleryIcon, + leftArrow: LeftArrowIcon, + paste: PasteIcon, + plus: PlusIcon, +}; + +// 추후 사이즈, 컬러등 추가 가능 +const Icon = ({ name }: { name: IconNameType }) => { + const SvgIcon = ICONS[name]; + + return ; +}; + +export default Icon; diff --git a/tsconfig.json b/tsconfig.json index 919a53b..ed6beba 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,7 +25,7 @@ "@/*": ["./src/*"] }, "plugins": [{ "name": "typescript-plugin-css-modules" }], - "types": ["@testing-library/jest-dom", "vite/client"] + "types": ["@testing-library/jest-dom", "vite-plugin-svgr/client", "vite/client"] }, "include": ["src", "src/types"] } diff --git a/vite.config.ts b/vite.config.ts index 80c562e..efc2bd5 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -3,10 +3,11 @@ import path from "path"; import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; +import vitePluginSvgr from "vite-plugin-svgr"; import tsconfigPaths from "vite-tsconfig-paths"; export default defineConfig({ - plugins: [react(), tsconfigPaths()], + plugins: [react(), tsconfigPaths(), vitePluginSvgr()], base: "/", resolve: { alias: { diff --git a/yarn.lock b/yarn.lock index 7ed8c91..ddc152b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -70,6 +70,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.21.3": + version: 7.26.7 + resolution: "@babel/core@npm:7.26.7" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.5" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.7" + "@babel/parser": "npm:^7.26.7" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.7" + "@babel/types": "npm:^7.26.7" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/fbd2cd9fc23280bdcaca556e558f715c0a42d940b9913c52582e8e3d24e391d269cb8a9cd6589172593983569021c379e28bba6b19ea2ee08674f6068c210a9d + languageName: node + linkType: hard + "@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.5, @babel/generator@npm:^7.7.2": version: 7.26.5 resolution: "@babel/generator@npm:7.26.5" @@ -83,7 +106,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.9": +"@babel/helper-compilation-targets@npm:^7.25.9, @babel/helper-compilation-targets@npm:^7.26.5": version: 7.26.5 resolution: "@babel/helper-compilation-targets@npm:7.26.5" dependencies: @@ -157,6 +180,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/helpers@npm:7.26.7" + dependencies: + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.7" + checksum: 10c0/37fec398e53a2dbbf24bc2a025c4d571b2556cef18d8116d05d04b153f13ef659cdfbaab96c8eed875e629d39bdf9b3ea5d099ccf80544537de224e2d94f9b11 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.5": version: 7.26.5 resolution: "@babel/parser@npm:7.26.5" @@ -168,6 +201,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/parser@npm:7.26.7" + dependencies: + "@babel/types": "npm:^7.26.7" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/dcb08a4f2878ece33caffefe43b71488d753324bae7ca58d64bca3bc4af34dcfa1b58abdf9972516d76af760fceb25bb9294ca33461d56b31c5059ccfe32001f + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -412,6 +456,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/traverse@npm:7.26.7" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.5" + "@babel/parser": "npm:^7.26.7" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.7" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/b23a36ce40d2e4970741431c45d4f92e3f4c2895c0a421456516b2729bd9e17278846e01ee3d9039b0adf5fc5a071768061c17fcad040e74a5c3e39517449d5b + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5, @babel/types@npm:^7.3.3": version: 7.26.5 resolution: "@babel/types@npm:7.26.5" @@ -422,6 +481,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.21.3, @babel/types@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/types@npm:7.26.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/7810a2bca97b13c253f07a0863a628d33dbe76ee3c163367f24be93bfaf4c8c0a325f73208abaaa050a6b36059efc2950c2e4b71fb109c0f07fa62221d8473d4 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -1474,7 +1543,7 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.0.2": +"@rollup/pluginutils@npm:^5.0.2, @rollup/pluginutils@npm:^5.1.3": version: 5.1.4 resolution: "@rollup/pluginutils@npm:5.1.4" dependencies: @@ -2052,6 +2121,133 @@ __metadata: languageName: node linkType: hard +"@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a50bd0baa34faf16bcba712091f94c7f0e230431fe99a9dfc3401fa92823ad3f68495b86ab9bf9044b53839e8c416cfbb37eb3f246ff33f261e0fa9ee1779c5b + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8a98e59bd9971e066815b4129409932f7a4db4866834fe75677ea6d517972fb40b380a69a4413189f20e7947411f9ab1b0f029dd5e8068686a5a0188d3ccd4c7 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/517dcca75223bd05d3f056a8514dbba3031278bea4eadf0842c576d84f4651e7a4e0e7082d3ee4ef42456de0f9c4531d8a1917c04876ca64b014b859ca8f1bde + languageName: node + linkType: hard + +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/004bd1892053b7e9c1b0bb14acc44e77634ec393722b87b1e4fae53e2c35122a2dd0d5c15e9070dbeec274e22e7693a2b8b48506733a8009ee92b12946fcb10a + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/80e0a7fcf902f984c705051ca5c82ea6050ccbb70b651a8fea6d0eb5809e4dac274b49ea6be2d87f1eb9dfc0e2d6cdfffe1669ec2117f44b67a60a07d4c0b8b8 + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/73e92c8277a89279745c0c500f59f083279a8dc30cd552b22981fade2a77628fb2bd2819ee505725fcd2e93f923e3790b52efcff409a159e657b46604a0b9a21 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/655ed6bc7a208ceaa4ecff0a54ccc36008c3cb31efa90d11e171cab325ebbb21aa78f09c7b65f9b3ddeda3a85f348c0c862902c48be13c14b4de165c847974e3 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-svg-component@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4ac00bb99a3db4ef05e4362f116a3c608ee365a2d26cf7318d8d41a4a5b30a02c80455cce0e62c65b60ed815b5d632bedabac2ccd4b56f998fadef5286e3ded4 + languageName: node + linkType: hard + +"@svgr/babel-preset@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-preset@npm:8.1.0" + dependencies: + "@svgr/babel-plugin-add-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:8.0.0" + "@svgr/babel-plugin-svg-dynamic-title": "npm:8.0.0" + "@svgr/babel-plugin-svg-em-dimensions": "npm:8.0.0" + "@svgr/babel-plugin-transform-react-native-svg": "npm:8.1.0" + "@svgr/babel-plugin-transform-svg-component": "npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/49367d3ad0831f79b1056871b91766246f449d4d1168623af5e283fbaefce4a01d77ab00de6b045b55e956f9aae27895823198493cd232d88d3435ea4517ffc5 + languageName: node + linkType: hard + +"@svgr/core@npm:^8.1.0": + version: 8.1.0 + resolution: "@svgr/core@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + camelcase: "npm:^6.2.0" + cosmiconfig: "npm:^8.1.3" + snake-case: "npm:^3.0.4" + checksum: 10c0/6a2f6b1bc79bce39f66f088d468985d518005fc5147ebf4f108570a933818b5951c2cb7da230ddff4b7c8028b5a672b2d33aa2acce012b8b9770073aa5a2d041 + languageName: node + linkType: hard + +"@svgr/hast-util-to-babel-ast@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/hast-util-to-babel-ast@npm:8.0.0" + dependencies: + "@babel/types": "npm:^7.21.3" + entities: "npm:^4.4.0" + checksum: 10c0/f4165b583ba9eaf6719e598977a7b3ed182f177983e55f9eb55a6a73982d81277510e9eb7ab41f255151fb9ed4edd11ac4bef95dd872f04ed64966d8c85e0f79 + languageName: node + linkType: hard + +"@svgr/plugin-jsx@npm:^8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-jsx@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + "@svgr/hast-util-to-babel-ast": "npm:8.0.0" + svg-parser: "npm:^2.0.4" + peerDependencies: + "@svgr/core": "*" + checksum: 10c0/07b4d9e00de795540bf70556fa2cc258774d01e97a12a26234c6fdf42b309beb7c10f31ee24d1a71137239347b1547b8bb5587d3a6de10669f95dcfe99cddc56 + languageName: node + linkType: hard + "@tanstack/query-core@npm:5.64.2": version: 5.64.2 resolution: "@tanstack/query-core@npm:5.64.2" @@ -3452,6 +3648,25 @@ __metadata: languageName: node linkType: hard +"chromatic@npm:^11.25.1": + version: 11.25.1 + resolution: "chromatic@npm:11.25.1" + peerDependencies: + "@chromatic-com/cypress": ^0.*.* || ^1.0.0 + "@chromatic-com/playwright": ^0.*.* || ^1.0.0 + peerDependenciesMeta: + "@chromatic-com/cypress": + optional: true + "@chromatic-com/playwright": + optional: true + bin: + chroma: dist/bin.js + chromatic: dist/bin.js + chromatic-cli: dist/bin.js + checksum: 10c0/869939cf65ddc4c606ac982cbbaba63d3d6cbc8082e24f04f74ee6a5e3979cdec49e8fab2549f87e8cfa8127c15dbda1f86371306642bdabcb43ee9cff46ceae + languageName: node + linkType: hard + "ci-info@npm:^3.2.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" @@ -3701,6 +3916,23 @@ __metadata: languageName: node linkType: hard +"cosmiconfig@npm:^8.1.3": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + path-type: "npm:^4.0.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a + languageName: node + linkType: hard + "cosmiconfig@npm:^9.0.0": version: 9.0.0 resolution: "cosmiconfig@npm:9.0.0" @@ -4094,6 +4326,16 @@ __metadata: languageName: node linkType: hard +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 + languageName: node + linkType: hard + "dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" @@ -4222,7 +4464,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.5.0": +"entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 @@ -7206,6 +7448,15 @@ __metadata: languageName: node linkType: hard +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -7546,6 +7797,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^8.20.0" "@typescript-eslint/parser": "npm:^8.20.0" "@vitejs/plugin-react": "npm:^4.3.4" + chromatic: "npm:^11.25.1" classnames: "npm:^2.5.1" cypress: "npm:^14.0.0" eslint: "npm:^8.57.0" @@ -7569,6 +7821,7 @@ __metadata: typescript: "npm:5.4.5" typescript-plugin-css-modules: "npm:^5.1.0" vite: "npm:^6.0.5" + vite-plugin-svgr: "npm:^4.3.0" vite-tsconfig-paths: "npm:^5.1.4" languageName: unknown linkType: soft @@ -7631,6 +7884,16 @@ __metadata: languageName: node linkType: hard +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: "npm:^2.0.2" + tslib: "npm:^2.0.3" + checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 + languageName: node + linkType: hard + "node-addon-api@npm:^7.0.0": version: 7.1.1 resolution: "node-addon-api@npm:7.1.1" @@ -8032,6 +8295,13 @@ __metadata: languageName: node linkType: hard +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + "pathval@npm:^2.0.0": version: 2.0.0 resolution: "pathval@npm:2.0.0" @@ -9074,6 +9344,16 @@ __metadata: languageName: node linkType: hard +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd + languageName: node + linkType: hard + "socks-proxy-agent@npm:^8.0.3": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" @@ -9410,6 +9690,13 @@ __metadata: languageName: node linkType: hard +"svg-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "svg-parser@npm:2.0.4" + checksum: 10c0/02f6cb155dd7b63ebc2f44f36365bc294543bebb81b614b7628f1af3c54ab64f7e1cec20f06e252bf95bdde78441ae295a412c68ad1678f16a6907d924512b7a + languageName: node + linkType: hard + "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -9713,7 +10000,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.3.0": +"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -10047,6 +10334,19 @@ __metadata: languageName: node linkType: hard +"vite-plugin-svgr@npm:^4.3.0": + version: 4.3.0 + resolution: "vite-plugin-svgr@npm:4.3.0" + dependencies: + "@rollup/pluginutils": "npm:^5.1.3" + "@svgr/core": "npm:^8.1.0" + "@svgr/plugin-jsx": "npm:^8.1.0" + peerDependencies: + vite: ">=2.6.0" + checksum: 10c0/a73f10d319f72cd8c16bf9701cf18170f2300f98c72c6bf939565de0b1e93916bd70c6f5a446dc034b4405c72d382655c7c16be4bd1cbf35bbcde5febf7aeffc + languageName: node + linkType: hard + "vite-tsconfig-paths@npm:^5.1.4": version: 5.1.4 resolution: "vite-tsconfig-paths@npm:5.1.4"