diff --git a/.eslintrc.cjs b/.eslintrc.cjs index b71ec49..c6ea23a 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -20,7 +20,9 @@ module.exports = { }, plugins: ['react', 'react-hooks', '@typescript-eslint', 'prettier'], rules: { + '@typescript-eslint/no-explicit-any': 'off', 'react/react-in-jsx-scope': 'off', + 'react/no-unknown-property': ['error', { ignore: ['css'] }], 'import/no-unresolved': 'off', 'import/order': [ 'warn', diff --git a/.storybook/main.ts b/.storybook/main.ts index 9d27306..e89da8b 100755 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -7,10 +7,6 @@ const config: StorybookConfig = { "@storybook/addon-essentials", "@storybook/addon-onboarding", "@storybook/addon-interactions", - { - name: "@storybook/addon-styling", - options: {}, - }, ], framework: { name: "@storybook/react-vite", diff --git a/package.json b/package.json index 303cee4..b0f991f 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "@emotion/babel-plugin": "^11.11.0", "@emotion/css": "^11.11.2", "@emotion/react": "^11.11.1", + "@emotion/styled": "^11.11.0", "jackspeak": "^2.3.3", "react": "^18.2.0", "react-dom": "^18.2.0" @@ -24,7 +25,6 @@ "@storybook/addon-interactions": "^7.4.1", "@storybook/addon-links": "^7.4.1", "@storybook/addon-onboarding": "^1.0.8", - "@storybook/addon-styling": "^1.3.7", "@storybook/blocks": "^7.4.1", "@storybook/builder-vite": "^7.4.1", "@storybook/react": "^7.4.1", diff --git a/src/components/Button/Button.stories.tsx b/src/components/Button/Button.stories.tsx new file mode 100644 index 0000000..1ed8b16 --- /dev/null +++ b/src/components/Button/Button.stories.tsx @@ -0,0 +1,25 @@ +import Button from './Button'; + +import type { Meta, StoryObj } from '@storybook/react'; + +const meta: Meta = { + component: Button, + decorators: [ + (Story) => ( +
+ +
+ ), + ], +}; + +export default meta; + +export const Primary: StoryObj = { + args: { + variant: 'filled', + size: 'medium', + children: 'Button', + disabled: false, + }, +}; diff --git a/src/components/Button/Button.styles.tsx b/src/components/Button/Button.styles.tsx new file mode 100644 index 0000000..6862e77 --- /dev/null +++ b/src/components/Button/Button.styles.tsx @@ -0,0 +1,114 @@ +import { IButton } from './Button.types'; + +import { css } from '@emotion/react'; +import styled from '@emotion/styled'; + +export const ButtonBase = styled.button` + display: inline-flex; + flex-direction: column; + justify-content: center; + align-items: center; + border-radius: 100px; + + text-align: center; + font-style: normal; + font-weight: 500; + letter-spacing: 0.1px; + line-height: 20px; + cursor: pointer; + + ${({ size }) => { + switch (size) { + case 'small': + return css` + font-size: 12px; + padding: 0.375rem 1.125rem; + `; + case 'medium': + return css` + font-size: 14px; + padding: 0.5rem 1.5rem; + `; + case 'large': + return css` + font-size: 16px; + padding: 0.625rem 1.875rem; + `; + default: + return css` + font-size: 14px; + padding: 0.5rem 1.5rem; + `; + } + }} + + &:disabled { + cursor: default; + } +`; + +export const filledButton = styled(ButtonBase)` + color: #ffffff; + background-color: #6750a4; + border: none; + outline: none; + + &:not(:disabled):hover { + background-color: #735eab; + box-shadow: + 0px 1px 3px 1px rgba(0, 0, 0, 0.15), + 0px 1px 2px 0px rgba(0, 0, 0, 0.3); + } + + &:not(:disabled):active { + background-color: #7965af; + } + + &:disabled { + background-color: #1d1b201e; + color: #a8a3aa; + } +`; + +export const elevatedButton = styled(ButtonBase)` + color: #6750a4; + background-color: #f7f2fa; + border: none; + outline: none; + box-shadow: + 0px 1px 3px 1px rgba(0, 0, 0, 0.15), + 0px 1px 2px 0px rgba(0, 0, 0, 0.3); + + &:not(:disabled):hover { + background-color: rgba(103, 80, 164, 0.08); + } + + &:not(:disabled):active { + background-color: rgba(103, 80, 164, 0.12); + } + + &:disabled { + background-color: #1d1b201e; + color: #a8a3aa; + } +`; + +export const outlinedButton = styled(ButtonBase)` + color: #6750a4; + background-color: #f7f2fa; + border: #79747e 1px solid; + + &:not(:disabled):hover { + background-color: rgba(103, 80, 164, 0.08); + } + + &:not(:disabled):active { + background-color: rgba(103, 80, 164, 0.12); + } + + &:disabled { + background-color: #fff; + color: #a8a3aa; + border: #1d1b201f 1px solid; + } +`; diff --git a/src/components/Button/Button.tsx b/src/components/Button/Button.tsx new file mode 100644 index 0000000..7a2a5d4 --- /dev/null +++ b/src/components/Button/Button.tsx @@ -0,0 +1,28 @@ +import { filledButton, elevatedButton, outlinedButton } from './Button.styles'; +import { IButton } from './Button.types'; + +function Button({ + children, + size = 'medium', + variant = 'filled', + disabled, + onClick, + onBlur, + ...rest +}: IButton) { + const VariantButton = { + filled: filledButton, + outlined: outlinedButton, + elevated: elevatedButton, + }; + + const StButton = VariantButton[variant]; + + return ( + + {children} + + ); +} + +export default Button; diff --git a/src/components/Button/Button.types.tsx b/src/components/Button/Button.types.tsx new file mode 100644 index 0000000..5b157cf --- /dev/null +++ b/src/components/Button/Button.types.tsx @@ -0,0 +1,8 @@ +export interface IButton extends React.ComponentPropsWithoutRef<'button'> { + children: React.ReactNode; + size?: 'small' | 'medium' | 'large'; + variant?: 'filled' | 'outlined' | 'elevated'; + disabled?: boolean; + onClick?: () => void; + onBlur?: () => void; +} diff --git a/src/components/Grid/Grid.styles.tsx b/src/components/Grid/Grid.styles.tsx new file mode 100644 index 0000000..9d01b00 --- /dev/null +++ b/src/components/Grid/Grid.styles.tsx @@ -0,0 +1,13 @@ +import styled from '@emotion/styled'; + +export const GridContainer = styled.table``; + +export const GridHeader = styled.thead``; + +export const GridBody = styled.tbody``; + +export const GridRow = styled.tr``; + +export const GridHeaderCell = styled.th``; + +export const GridCell = styled.td``; diff --git a/src/components/Grid/Grid.tsx b/src/components/Grid/Grid.tsx new file mode 100644 index 0000000..cc40967 --- /dev/null +++ b/src/components/Grid/Grid.tsx @@ -0,0 +1,34 @@ +import { + GridBody, + GridCell, + GridContainer, + GridHeader, + GridHeaderCell, + GridRow, +} from './Grid.styles'; +import { IGridProps } from './Grid.types'; + +function Grid({ columns, rows }: IGridProps) { + return ( + + + + {columns.map((column) => ( + {column.title} + ))} + + + + {rows.map((row, index) => ( + + {columns.map((column) => ( + {row[column.dataIndex]} + ))} + + ))} + + + ); +} + +export default Grid; diff --git a/src/components/Grid/Grid.types.tsx b/src/components/Grid/Grid.types.tsx new file mode 100644 index 0000000..6226375 --- /dev/null +++ b/src/components/Grid/Grid.types.tsx @@ -0,0 +1,14 @@ +export interface IGridProps { + columns: IGridColumn[]; + rows: IGridRow[]; +} + +export interface IGridColumn { + title: string; + dataIndex: string; + key: string; +} + +export interface IGridRow { + [key: IGridColumn['dataIndex']]: any; +} diff --git a/src/components/Grid/GridBase.tsx b/src/components/Grid/GridBase.tsx new file mode 100644 index 0000000..ff01601 --- /dev/null +++ b/src/components/Grid/GridBase.tsx @@ -0,0 +1,20 @@ +import { + GridBody, + GridCell, + GridContainer, + GridHeader, + GridHeaderCell, + GridRow, +} from './Grid.styles'; + +export const GridBase = Object.assign( + {}, + { + Root: GridContainer, + Header: GridHeader, + Body: GridBody, + Row: GridRow, + HeaderCell: GridHeaderCell, + Cell: GridCell, + } +); diff --git a/src/components/Grid/index.tsx b/src/components/Grid/index.tsx new file mode 100644 index 0000000..7755a33 --- /dev/null +++ b/src/components/Grid/index.tsx @@ -0,0 +1,2 @@ +export * from './GridBase'; +export * from './Grid'; diff --git a/src/main.tsx b/src/main.tsx index 9b1dba6..f8f68a8 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,8 +1,22 @@ +import Grid from './components/Grid/Grid'; + import React from 'react'; import ReactDOM from 'react-dom/client'; +const columns = [ + { key: 'name', title: 'Name', dataIndex: 'name' }, + { key: 'age', title: 'Age', dataIndex: 'age' }, + { key: 'address', title: 'Address', dataIndex: 'address' }, +]; + +const rows = [ + { name: 'John', age: 32, address: 'New York' }, + { name: 'Jane', age: 42, address: 'London' }, + { name: 'Joe', age: 52, address: 'Paris' }, +]; + ReactDOM.createRoot(document.getElementById('root')!).render( -
Metamon Components
+
); diff --git a/vite.config.ts b/vite.config.ts index 84a22eb..4e7b149 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,5 +1,5 @@ -import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ diff --git a/yarn.lock b/yarn.lock index 0d59eb9..7503bcb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1446,7 +1446,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5": +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" dependencies: @@ -1475,7 +1475,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.5, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.17, @babel/types@npm:^7.22.5, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.17, @babel/types@npm:^7.22.5, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.22.17 resolution: "@babel/types@npm:7.22.17" dependencies: @@ -1566,6 +1566,15 @@ __metadata: languageName: node linkType: hard +"@emotion/is-prop-valid@npm:^1.2.1": + version: 1.2.1 + resolution: "@emotion/is-prop-valid@npm:1.2.1" + dependencies: + "@emotion/memoize": ^0.8.1 + checksum: 8f42dc573a3fad79b021479becb639b8fe3b60bdd1081a775d32388bca418ee53074c7602a4c845c5f75fa6831eb1cbdc4d208cc0299f57014ed3a02abcad16a + languageName: node + linkType: hard + "@emotion/memoize@npm:^0.8.1": version: 0.8.1 resolution: "@emotion/memoize@npm:0.8.1" @@ -1614,6 +1623,26 @@ __metadata: languageName: node linkType: hard +"@emotion/styled@npm:^11.11.0": + version: 11.11.0 + resolution: "@emotion/styled@npm:11.11.0" + dependencies: + "@babel/runtime": ^7.18.3 + "@emotion/babel-plugin": ^11.11.0 + "@emotion/is-prop-valid": ^1.2.1 + "@emotion/serialize": ^1.1.2 + "@emotion/use-insertion-effect-with-fallbacks": ^1.0.1 + "@emotion/utils": ^1.2.1 + peerDependencies: + "@emotion/react": ^11.0.0-rc.0 + react: ">=16.8.0" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 904f641aad3892c65d7d6c0808b036dae1e6d6dad4861c1c7dc0baa59977047c6cad220691206eba7b4059f1a1c6e6c1ef4ebb8c829089e280fa0f2164a01e6b + languageName: node + linkType: hard + "@emotion/unitless@npm:^0.8.1": version: 0.8.1 resolution: "@emotion/unitless@npm:0.8.1" @@ -3009,51 +3038,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-styling@npm:^1.3.7": - version: 1.3.7 - resolution: "@storybook/addon-styling@npm:1.3.7" - dependencies: - "@babel/template": ^7.20.7 - "@babel/types": ^7.21.5 - "@storybook/api": ^7.0.12 - "@storybook/components": ^7.0.12 - "@storybook/core-common": ^7.0.12 - "@storybook/core-events": ^7.0.12 - "@storybook/manager-api": ^7.0.12 - "@storybook/node-logger": ^7.0.12 - "@storybook/preview-api": ^7.0.12 - "@storybook/theming": ^7.0.12 - "@storybook/types": ^7.0.12 - css-loader: ^6.7.3 - less-loader: ^11.1.0 - postcss-loader: ^7.2.4 - prettier: ^2.8.0 - resolve-url-loader: ^5.0.0 - sass-loader: ^13.2.2 - style-loader: ^3.3.2 - peerDependencies: - less: ^3.5.0 || ^4.0.0 - postcss: ^7.0.0 || ^8.0.1 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - webpack: ^5.0.0 - peerDependenciesMeta: - less: - optional: true - postcss: - optional: true - react: - optional: true - react-dom: - optional: true - webpack: - optional: true - bin: - addon-styling-setup: postinstall.js - checksum: 5bac1a4109d15a6371260270518b2eada77ab153ddd0b75bb3c4ae31ee8ea61b6acacbf258add5166ae8b8450654fffc6be105c08c2b0ebdc2540abf6dba15a1 - languageName: node - linkType: hard - "@storybook/addon-toolbars@npm:7.4.1": version: 7.4.1 resolution: "@storybook/addon-toolbars@npm:7.4.1" @@ -3100,24 +3084,6 @@ __metadata: languageName: node linkType: hard -"@storybook/api@npm:^7.0.12": - version: 7.4.1 - resolution: "@storybook/api@npm:7.4.1" - dependencies: - "@storybook/client-logger": 7.4.1 - "@storybook/manager-api": 7.4.1 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 71369369ef7f78cfe3742c8c598c3263a73476305224dd9bab4be743e365b857c11f25bd30d77e3034c41677a4b29835ce4fd8436ffc3d3a7e83a983d4679220 - languageName: node - linkType: hard - "@storybook/blocks@npm:7.4.1, @storybook/blocks@npm:^7.4.1": version: 7.4.1 resolution: "@storybook/blocks@npm:7.4.1" @@ -3312,7 +3278,7 @@ __metadata: languageName: node linkType: hard -"@storybook/components@npm:7.4.1, @storybook/components@npm:^7.0.12": +"@storybook/components@npm:7.4.1": version: 7.4.1 resolution: "@storybook/components@npm:7.4.1" dependencies: @@ -3343,7 +3309,7 @@ __metadata: languageName: node linkType: hard -"@storybook/core-common@npm:7.4.1, @storybook/core-common@npm:^7.0.12": +"@storybook/core-common@npm:7.4.1": version: 7.4.1 resolution: "@storybook/core-common@npm:7.4.1" dependencies: @@ -3374,7 +3340,7 @@ __metadata: languageName: node linkType: hard -"@storybook/core-events@npm:7.4.1, @storybook/core-events@npm:^7.0.12": +"@storybook/core-events@npm:7.4.1": version: 7.4.1 resolution: "@storybook/core-events@npm:7.4.1" dependencies: @@ -3519,7 +3485,7 @@ __metadata: languageName: node linkType: hard -"@storybook/manager-api@npm:7.4.1, @storybook/manager-api@npm:^7.0.12": +"@storybook/manager-api@npm:7.4.1": version: 7.4.1 resolution: "@storybook/manager-api@npm:7.4.1" dependencies: @@ -3559,7 +3525,7 @@ __metadata: languageName: node linkType: hard -"@storybook/node-logger@npm:7.4.1, @storybook/node-logger@npm:^7.0.12": +"@storybook/node-logger@npm:7.4.1": version: 7.4.1 resolution: "@storybook/node-logger@npm:7.4.1" checksum: 1d75f688c4183418b215d50c0c1e4b5eaf191e936cc08975a2a2970b1811fd34cc227100c6f57697997c920a6902c862a4a860ebcbecc7e9e28a3d7be10914be @@ -3573,7 +3539,7 @@ __metadata: languageName: node linkType: hard -"@storybook/preview-api@npm:7.4.1, @storybook/preview-api@npm:^7.0.12": +"@storybook/preview-api@npm:7.4.1": version: 7.4.1 resolution: "@storybook/preview-api@npm:7.4.1" dependencies: @@ -3709,7 +3675,7 @@ __metadata: languageName: node linkType: hard -"@storybook/theming@npm:7.4.1, @storybook/theming@npm:^7.0.12": +"@storybook/theming@npm:7.4.1": version: 7.4.1 resolution: "@storybook/theming@npm:7.4.1" dependencies: @@ -3724,7 +3690,7 @@ __metadata: languageName: node linkType: hard -"@storybook/types@npm:7.4.1, @storybook/types@npm:^7.0.12": +"@storybook/types@npm:7.4.1": version: 7.4.1 resolution: "@storybook/types@npm:7.4.1" dependencies: @@ -4487,16 +4453,6 @@ __metadata: languageName: node linkType: hard -"adjust-sourcemap-loader@npm:^4.0.0": - version: 4.0.0 - resolution: "adjust-sourcemap-loader@npm:4.0.0" - dependencies: - loader-utils: ^2.0.0 - regex-parser: ^2.2.11 - checksum: d524ae23582f41e2275af5d88faab7a9dc09770ed588244e0a76d3196d0d6a90bf02760c71bc6213dbfef3aef4a86232ac9521bfd629752c32b7af37bc74c660 - languageName: node - linkType: hard - "agent-base@npm:5": version: 5.1.1 resolution: "agent-base@npm:5.1.1" @@ -4936,13 +4892,6 @@ __metadata: languageName: node linkType: hard -"big.js@npm:^5.2.2": - version: 5.2.2 - resolution: "big.js@npm:5.2.2" - checksum: b89b6e8419b097a8fb4ed2399a1931a68c612bce3cfd5ca8c214b2d017531191070f990598de2fc6f3f993d91c0f08aa82697717f6b3b8732c9731866d233c9e - languageName: node - linkType: hard - "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -5504,23 +5453,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^8.2.0": - version: 8.3.5 - resolution: "cosmiconfig@npm:8.3.5" - dependencies: - import-fresh: ^3.3.0 - js-yaml: ^4.1.0 - parse-json: ^5.2.0 - path-type: ^4.0.0 - peerDependencies: - typescript: ">=4.9.5" - peerDependenciesMeta: - typescript: - optional: true - checksum: c6e44bb3cabf268b70049e7bd4ee8ecf00068854e53cbc32f9104794927ef406817f9e64e1c4949bd10776b604c01f7b50674336fcd2d5b9efc4cf8277fdf025 - languageName: node - linkType: hard - "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -5539,33 +5471,6 @@ __metadata: languageName: node linkType: hard -"css-loader@npm:^6.7.3": - version: 6.8.1 - resolution: "css-loader@npm:6.8.1" - dependencies: - icss-utils: ^5.1.0 - postcss: ^8.4.21 - postcss-modules-extract-imports: ^3.0.0 - postcss-modules-local-by-default: ^4.0.3 - postcss-modules-scope: ^3.0.0 - postcss-modules-values: ^4.0.0 - postcss-value-parser: ^4.2.0 - semver: ^7.3.8 - peerDependencies: - webpack: ^5.0.0 - checksum: 7c1784247bdbe76dc5c55fb1ac84f1d4177a74c47259942c9cfdb7a8e6baef11967a0bc85ac285f26bd26d5059decb848af8154a03fdb4f4894f41212f45eef3 - languageName: node - linkType: hard - -"cssesc@npm:^3.0.0": - version: 3.0.0 - resolution: "cssesc@npm:3.0.0" - bin: - cssesc: bin/cssesc - checksum: f8c4ababffbc5e2ddf2fa9957dda1ee4af6048e22aeda1869d0d00843223c1b13ad3f5d88b51caa46c994225eacb636b764eb807a8883e2fb6f99b4f4e8c48b2 - languageName: node - linkType: hard - "csstype@npm:^3.0.2": version: 3.1.2 resolution: "csstype@npm:3.1.2" @@ -5891,13 +5796,6 @@ __metadata: languageName: node linkType: hard -"emojis-list@npm:^3.0.0": - version: 3.0.0 - resolution: "emojis-list@npm:3.0.0" - checksum: ddaaa02542e1e9436c03970eeed445f4ed29a5337dfba0fe0c38dfdd2af5da2429c2a0821304e8a8d1cadf27fdd5b22ff793571fa803ae16852a6975c65e8e70 - languageName: node - linkType: hard - "encodeurl@npm:~1.0.2": version: 1.0.2 resolution: "encodeurl@npm:1.0.2" @@ -7470,15 +7368,6 @@ __metadata: languageName: node linkType: hard -"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": - version: 5.1.0 - resolution: "icss-utils@npm:5.1.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 5c324d283552b1269cfc13a503aaaa172a280f914e5b81544f3803bc6f06a3b585fb79f66f7c771a2c052db7982c18bf92d001e3b47282e3abbbb4c4cc488d68 - languageName: node - linkType: hard - "ieee754@npm:^1.1.13": version: 1.2.1 resolution: "ieee754@npm:1.2.1" @@ -7493,7 +7382,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": +"import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -8116,15 +8005,6 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.18.2": - version: 1.20.0 - resolution: "jiti@npm:1.20.0" - bin: - jiti: bin/jiti.js - checksum: 7924062b5675142e3e272a27735be84b7bfc0a0eb73217fc2dcafa034f37c4f7b4b9ffc07dd98bcff0f739a8811ce1544db205ae7e97b1c86f0df92c65ce3c72 - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -8243,7 +8123,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.2.3": +"json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -8311,16 +8191,6 @@ __metadata: languageName: node linkType: hard -"less-loader@npm:^11.1.0": - version: 11.1.3 - resolution: "less-loader@npm:11.1.3" - peerDependencies: - less: ^3.5.0 || ^4.0.0 - webpack: ^5.0.0 - checksum: fe0de6b5ab930a4521d04555d9bd77723164bfa0f71eb5724d91c45090af544000e2d7f598cd83ec4e1445e6b943cc0c0dd1445fb2e83fd7c12f4ad3a0db05c5 - languageName: node - linkType: hard - "leven@npm:^3.1.0": version: 3.1.0 resolution: "leven@npm:3.1.0" @@ -8345,17 +8215,6 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^2.0.0": - version: 2.0.4 - resolution: "loader-utils@npm:2.0.4" - dependencies: - big.js: ^5.2.2 - emojis-list: ^3.0.0 - json5: ^2.1.2 - checksum: a5281f5fff1eaa310ad5e1164095689443630f3411e927f95031ab4fb83b4a98f388185bb1fe949e8ab8d4247004336a625e9255c22122b815bb9a4c5d8fc3b7 - languageName: node - linkType: hard - "locate-path@npm:^3.0.0": version: 3.0.0 resolution: "locate-path@npm:3.0.0" @@ -8621,11 +8480,11 @@ __metadata: "@emotion/babel-plugin": ^11.11.0 "@emotion/css": ^11.11.2 "@emotion/react": ^11.11.1 + "@emotion/styled": ^11.11.0 "@storybook/addon-essentials": ^7.4.1 "@storybook/addon-interactions": ^7.4.1 "@storybook/addon-links": ^7.4.1 "@storybook/addon-onboarding": ^1.0.8 - "@storybook/addon-styling": ^1.3.7 "@storybook/blocks": ^7.4.1 "@storybook/builder-vite": ^7.4.1 "@storybook/react": ^7.4.1 @@ -9335,7 +9194,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": +"parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -9509,82 +9368,7 @@ __metadata: languageName: node linkType: hard -"postcss-loader@npm:^7.2.4": - version: 7.3.3 - resolution: "postcss-loader@npm:7.3.3" - dependencies: - cosmiconfig: ^8.2.0 - jiti: ^1.18.2 - semver: ^7.3.8 - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - checksum: c724044d6ae56334535c26bb4efc9c151431d44d60bc8300157c760747281a242757d8dab32db72738434531175b38a408cb0b270bb96207c07584dcfcd899ff - languageName: node - linkType: hard - -"postcss-modules-extract-imports@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-extract-imports@npm:3.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 4b65f2f1382d89c4bc3c0a1bdc5942f52f3cb19c110c57bd591ffab3a5fee03fcf831604168205b0c1b631a3dce2255c70b61aaae3ef39d69cd7eb450c2552d2 - languageName: node - linkType: hard - -"postcss-modules-local-by-default@npm:^4.0.3": - version: 4.0.3 - resolution: "postcss-modules-local-by-default@npm:4.0.3" - dependencies: - icss-utils: ^5.0.0 - postcss-selector-parser: ^6.0.2 - postcss-value-parser: ^4.1.0 - peerDependencies: - postcss: ^8.1.0 - checksum: 2f8083687f3d6067885f8863dd32dbbb4f779cfcc7e52c17abede9311d84faf6d3ed8760e7c54c6380281732ae1f78e5e56a28baf3c271b33f450a11c9e30485 - languageName: node - linkType: hard - -"postcss-modules-scope@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-scope@npm:3.0.0" - dependencies: - postcss-selector-parser: ^6.0.4 - peerDependencies: - postcss: ^8.1.0 - checksum: 330b9398dbd44c992c92b0dc612c0626135e2cc840fee41841eb61247a6cfed95af2bd6f67ead9dd9d0bb41f5b0367129d93c6e434fa3e9c58ade391d9a5a138 - languageName: node - linkType: hard - -"postcss-modules-values@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-modules-values@npm:4.0.0" - dependencies: - icss-utils: ^5.0.0 - peerDependencies: - postcss: ^8.1.0 - checksum: f7f2cdf14a575b60e919ad5ea52fed48da46fe80db2733318d71d523fc87db66c835814940d7d05b5746b0426e44661c707f09bdb83592c16aea06e859409db6 - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": - version: 6.0.13 - resolution: "postcss-selector-parser@npm:6.0.13" - dependencies: - cssesc: ^3.0.0 - util-deprecate: ^1.0.2 - checksum: f89163338a1ce3b8ece8e9055cd5a3165e79a15e1c408e18de5ad8f87796b61ec2d48a2902d179ae0c4b5de10fccd3a325a4e660596549b040bc5ad1b465f096 - languageName: node - linkType: hard - -"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": - version: 4.2.0 - resolution: "postcss-value-parser@npm:4.2.0" - checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f - languageName: node - linkType: hard - -"postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.27": +"postcss@npm:^8.4.27": version: 8.4.29 resolution: "postcss@npm:8.4.29" dependencies: @@ -10126,13 +9910,6 @@ __metadata: languageName: node linkType: hard -"regex-parser@npm:^2.2.11": - version: 2.2.11 - resolution: "regex-parser@npm:2.2.11" - checksum: 78200331ec0cc372302d287a4946c38681eb5fe435453fca572cb53cac0ba579e5eb3b9e25eac24c0c80a555fb3ea7a637814a35da1e9bc88e8819110ae5de24 - languageName: node - linkType: hard - "regexp.prototype.flags@npm:^1.5.0": version: 1.5.0 resolution: "regexp.prototype.flags@npm:1.5.0" @@ -10228,19 +10005,6 @@ __metadata: languageName: node linkType: hard -"resolve-url-loader@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-url-loader@npm:5.0.0" - dependencies: - adjust-sourcemap-loader: ^4.0.0 - convert-source-map: ^1.7.0 - loader-utils: ^2.0.0 - postcss: ^8.2.14 - source-map: 0.6.1 - checksum: 6d483733a4c26f75ce930a61943113bf730b5ba33a7186791cf1ae9c2ca02c3e94610bc6484ca008a372ee9e31750eccea74856a89daf1a29b8437ff564d27f2 - languageName: node - linkType: hard - "resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.22.4": version: 1.22.4 resolution: "resolve@npm:1.22.4" @@ -10433,30 +10197,6 @@ __metadata: languageName: node linkType: hard -"sass-loader@npm:^13.2.2": - version: 13.3.2 - resolution: "sass-loader@npm:13.3.2" - dependencies: - neo-async: ^2.6.2 - peerDependencies: - fibers: ">= 3.1.0" - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - sass: ^1.3.0 - sass-embedded: "*" - webpack: ^5.0.0 - peerDependenciesMeta: - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true - checksum: 7394a8d1b818a289b9caabd979543c907b83e28ae08bc80ccb836e0ccabc4ae574c077ab2fa520ba5fb8abb2ec3e7c9822a1cbd8c58a28ff30018be9d1dc6c27 - languageName: node - linkType: hard - "scheduler@npm:^0.23.0": version: 0.23.0 resolution: "scheduler@npm:0.23.0" @@ -10484,7 +10224,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4": +"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -10673,13 +10413,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:0.6.1, source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 - languageName: node - linkType: hard - "source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" @@ -10687,6 +10420,13 @@ __metadata: languageName: node linkType: hard +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 + languageName: node + linkType: hard + "space-separated-tokens@npm:^1.0.0": version: 1.1.5 resolution: "space-separated-tokens@npm:1.1.5" @@ -10930,15 +10670,6 @@ __metadata: languageName: node linkType: hard -"style-loader@npm:^3.3.2": - version: 3.3.3 - resolution: "style-loader@npm:3.3.3" - peerDependencies: - webpack: ^5.0.0 - checksum: f59c953f56f6a935bd6a1dfa409f1128fed2b66b48ce4a7a75b85862a7156e5e90ab163878962762f528ec4d510903d828da645e143fbffd26f055dc1c094078 - languageName: node - linkType: hard - "stylis@npm:4.2.0": version: 4.2.0 resolution: "stylis@npm:4.2.0"