diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 2de9027e..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,203 +0,0 @@ -module.exports = { - // `extends`를 생략해도 이 파일이 있는 위치까지만 부모 eslintrc를 찾도록 제한함 - env: { - es6: true, - node: true, - }, - parser: "@typescript-eslint/parser", - extends: [ - "eslint:recommended", - "plugin:@next/next/recommended", - "plugin:@typescript-eslint/recommended", - "eslint-config-prettier", - // "plugin:storybook/recommended", - ], - plugins: ["@typescript-eslint", "import", "prettier", "react", "react-hooks", "jsx-a11y"], - settings: { - "import/resolver": { - typescript: {}, - }, - }, - rules: { - "prettier/prettier": [ - "error", - { - endOfLine: "auto", - }, - ], - "react-hooks/exhaustive-deps": "error", - "no-implicit-coercion": "error", - // TypeScript에서 이미 잡고 있는 문제이기 때문에 + location, document 등의 global variable도 잡아서 - "no-undef": "off", - // 아래 3개의 경우, Prettier가 이미 잘 해 주고 있는 부분이기 때문에 - indent: "off", - "@typescript-eslint/indent": "off", - semi: "off", - // 이미 널리 쓰이고 있어 에러 수가 감당이 되지 않아 잠시 꺼둡니다. - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/no-explicit-any": "off", - // Strict-boolean-expression을 사용할지 아직 결론이 나지 않아서 - "no-extra-boolean-cast": "off", - // union type을 받는 함수에서 모든 경우의 수에 대해 return 해도 eslint가 추론하지 못하고 있어서 warn만 하고 있음 - "getter-return": "warn", - // 대부분의 경우 필요가 없어서 - "@typescript-eslint/explicit-function-return-type": "off", - // Hoisting을 전략적으로 사용한 경우가 많아서 - "@typescript-eslint/no-use-before-define": "off", - // 모델 정의 부분에서 class와 interface를 합치기 위해 사용하는 용법도 잡고 있어서 - "@typescript-eslint/no-empty-interface": "off", - // 모델 정의 부분에서 파라미터 프로퍼티를 잘 쓰고 있어서 - "@typescript-eslint/no-parameter-properties": "off", - // TypeScript에서 이미 잘 해주고 있어서 - "react/prop-types": "off", - // React.memo, React.forwardRef에서 사용하는 경우도 막고 있어서 - "react/display-name": "off", - // 탭내빙 어택 방지 - "react/jsx-no-target-blank": "error", - // 불필요한 Fragment 방지 - "react/jsx-no-useless-fragment": "warn", - "no-async-promise-executor": "warn", - "@typescript-eslint/prefer-as-const": "warn", - "@typescript-eslint/no-non-null-asserted-optional-chain": "warn", - "@typescript-eslint/ban-types": "warn", - "@typescript-eslint/no-inferrable-types": "warn", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/naming-convention": [ - "error", - { - format: ["camelCase", "UPPER_CASE", "PascalCase"], - selector: "variable", - leadingUnderscore: "allow", - }, - { - format: ["camelCase", "PascalCase"], - selector: "function", - filter: { - regex: "[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]", - match: false, - }, - }, - { - format: ["PascalCase"], - selector: "interface", - filter: { - regex: "[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]", - match: false, - }, - }, - { - format: ["PascalCase"], - selector: "typeAlias", - filter: { - regex: "[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]", - match: false, - }, - }, - ], - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/array-type": [ - "error", - { - default: "array-simple", - }, - ], - "@typescript-eslint/no-unused-vars": [ - "error", - { - ignoreRestSiblings: true, - }, - ], - "@typescript-eslint/member-ordering": [ - "error", - { - default: [ - "public-static-field", - "private-static-field", - "public-instance-field", - "private-instance-field", - "public-constructor", - "private-constructor", - "public-instance-method", - "private-instance-method", - ], - }, - ], - "object-shorthand": ["error", "always"], - "prefer-const": "error", - "no-var": "error", - curly: ["error", "all"], - eqeqeq: [ - "error", - "always", - { - null: "ignore", - }, - ], - "import/no-duplicates": "error", - "import/order": [ - "error", - { - groups: ["builtin", "external", "internal", ["index", "sibling", "parent"], "object"], - // Import 구문 순서 정하고 싶으면 추가 - pathGroups: [], - pathGroupsExcludedImportTypes: ["builtin"], - "newlines-between": "always", - alphabetize: { - order: "asc", - caseInsensitive: true, - }, - }, - ], - "sort-imports": [ - "error", - { - ignoreDeclarationSort: true, - ignoreMemberSort: false, - }, - ], - "import/newline-after-import": ["error"], - "react-hooks/rules-of-hooks": "error", - "react/jsx-uses-react": "off", - "react/react-in-jsx-scope": "off", - "react/jsx-key": "warn", - // 접근성, 충분히 잡히면 error로 올릴 예정 - "jsx-a11y/alt-text": [ - "warn", - { - img: ["Image", "Dialog.Image"], - }, - ], - "jsx-a11y/aria-props": "error", - // 제대로된 aria-* 이름인지 확인 - "jsx-a11y/aria-proptypes": "error", - // 제대로된 aria-*의 value 인지 검사 - /** - * 일부 속성은 aria 표준이 아니지만 사용중이기 때문에 warn 처리 - * eg. role="text" 같은 경우 aria 표준은 아니지만 널리 사용되고 있습니다. - * - * FIXME: 아래 이슈 해결후 error로 격상 하기 - * https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues/792 - */ - "jsx-a11y/aria-role": "warn", - // 표준 role 값인지 확인하는 룰 - "jsx-a11y/role-supports-aria-props": "warn", - // 서로 같이 쓰면 안되는 aria-* 가 있는지 확인하는룰 - "jsx-a11y/aria-unsupported-elements": "warn", - // 해당 element에서 미지원하는 aria가 들어있는지 확인하는 룰 - "jsx-a11y/img-redundant-alt": [ - "warn", - { - components: ["Image", "Dialog.Image"], - words: ["사진", "이미지"], - }, - ], - }, - overrides: [ - { - files: ["**/*.js", "scripts/**/*.ts"], - rules: { - "@typescript-eslint/no-var-requires": "warn", - }, - }, - ], -}; diff --git a/.pnp.cjs b/.pnp.cjs index d465ead4..a1e24324 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -4075,19 +4075,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/node", "npm:20.5.7"],\ ["@types/react", "npm:18.2.21"],\ ["axios", "npm:1.5.0"],\ - ["babel-plugin-styled-components", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:2.1.4"],\ + ["babel-plugin-styled-components", "virtual:181676522bcad7654c43a90fb30f8159f9163bd43d8c35fa31c9798550dff2151dbd52caa024cd2dacd66e5a091cc8337976a371d7c47691fcbc5c87bdb3bbb4#npm:2.1.4"],\ ["babel-preset-next", "npm:1.4.0"],\ ["css-loader", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:6.8.1"],\ ["next", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:13.4.19"],\ ["next-transpile-modules", "npm:10.0.1"],\ ["react", "npm:18.2.0"],\ ["react-device-detect", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:2.2.3"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["react-is", "npm:18.2.0"],\ ["react-slick", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:0.29.0"],\ ["slick-carousel", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:1.8.1"],\ ["style-loader", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:3.3.3"],\ - ["styled-components", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:5.3.11"],\ + ["styled-components", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:5.3.11"],\ ["typescript", "patch:typescript@npm%3A4.9.3#~builtin::version=4.9.3&hash=d73830"]\ ],\ "linkType": "SOFT"\ @@ -4098,6 +4098,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./packages/hooks/",\ "packageDependencies": [\ ["@monorepo/hooks", "workspace:packages/hooks"],\ + ["@types/node", "npm:20.5.7"],\ + ["@types/react", "npm:18.2.21"],\ ["react", "npm:18.2.0"],\ ["typescript", "patch:typescript@npm%3A4.9.3#~builtin::version=4.9.3&hash=d73830"]\ ],\ @@ -4111,21 +4113,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@monorepo/jurumarble", "workspace:apps/jurumarble"],\ ["@emotion/is-prop-valid", "npm:1.2.1"],\ ["@monorepo/hooks", "workspace:packages/hooks"],\ - ["@monorepo/ui", "workspace:packages/ui"],\ ["@svgr/cli", "npm:8.1.0"],\ ["@svgr/core", "npm:8.1.0"],\ ["@svgr/plugin-jsx", "virtual:f6fc21e1196a5e36ccf7110701b6043e0b913ea4ae1d1deb9368d1ebef4cb8924deb4e8e07aafc9678d844b070003814a4413e37134a210b07db139914fa76a4#npm:8.1.0"],\ ["@svgr/plugin-prettier", "virtual:f6fc21e1196a5e36ccf7110701b6043e0b913ea4ae1d1deb9368d1ebef4cb8924deb4e8e07aafc9678d844b070003814a4413e37134a210b07db139914fa76a4#npm:8.1.0"],\ - ["@tanstack/react-query", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:4.33.0"],\ - ["@tanstack/react-query-devtools", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:4.33.0"],\ + ["@tanstack/react-query", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.33.0"],\ + ["@tanstack/react-query-devtools", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.33.0"],\ ["@types/node", "npm:20.5.7"],\ ["@types/react", "npm:18.2.21"],\ + ["@types/react-dom", "npm:18.2.7"],\ ["@types/styled-components", "npm:5.1.26"],\ ["next", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:13.4.12"],\ ["react", "npm:18.2.0"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["react-is", "npm:18.2.0"],\ - ["styled-components", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:5.3.11"],\ + ["styled-components", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:5.3.11"],\ ["styled-reset", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.5.1"],\ ["typescript", "patch:typescript@npm%3A4.9.3#~builtin::version=4.9.3&hash=d73830"]\ ],\ @@ -4138,6 +4140,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["@monorepo/ui", "workspace:packages/ui"],\ ["@monorepo/hooks", "workspace:packages/hooks"],\ + ["@types/node", "npm:20.5.7"],\ + ["@types/react", "npm:18.2.21"],\ + ["@types/styled-components", "npm:5.1.26"],\ ["react", "npm:18.2.0"],\ ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["react-is", "npm:18.2.0"],\ @@ -5191,6 +5196,29 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ + ["virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.33.0", {\ + "packageLocation": "./.yarn/__virtual__/@tanstack-react-query-virtual-ce89afdc61/0/cache/@tanstack-react-query-npm-4.33.0-e64030efd4-b3cf4afa42.zip/node_modules/@tanstack/react-query/",\ + "packageDependencies": [\ + ["@tanstack/react-query", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.33.0"],\ + ["@tanstack/query-core", "npm:4.33.0"],\ + ["@types/react", "npm:18.2.21"],\ + ["@types/react-dom", "npm:18.2.7"],\ + ["@types/react-native", null],\ + ["react", "npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ + ["react-native", null],\ + ["use-sync-external-store", "virtual:287fccd9feb4edd5a3f2f35798ab7b2d62efb7b695baf588a4eab1df65d34a1efa49f762a59ad574264bfc913641f9cf46841c273f01492440d0ef17469b3b2d#npm:1.2.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react-native",\ + "@types/react",\ + "react-dom",\ + "react-native",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:4.33.0", {\ "packageLocation": "./.yarn/__virtual__/@tanstack-react-query-virtual-8277d80f12/0/cache/@tanstack-react-query-npm-4.33.0-e64030efd4-b3cf4afa42.zip/node_modules/@tanstack/react-query/",\ "packageDependencies": [\ @@ -5200,7 +5228,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/react-dom", null],\ ["@types/react-native", null],\ ["react", "npm:18.2.0"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["react-native", null],\ ["use-sync-external-store", "virtual:287fccd9feb4edd5a3f2f35798ab7b2d62efb7b695baf588a4eab1df65d34a1efa49f762a59ad574264bfc913641f9cf46841c273f01492440d0ef17469b3b2d#npm:1.2.0"]\ ],\ @@ -5223,6 +5251,30 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ + ["virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.33.0", {\ + "packageLocation": "./.yarn/__virtual__/@tanstack-react-query-devtools-virtual-6325c54cc8/0/cache/@tanstack-react-query-devtools-npm-4.33.0-a6a3309037-f8160f9536.zip/node_modules/@tanstack/react-query-devtools/",\ + "packageDependencies": [\ + ["@tanstack/react-query-devtools", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.33.0"],\ + ["@tanstack/match-sorter-utils", "npm:8.8.4"],\ + ["@tanstack/react-query", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.33.0"],\ + ["@types/react", "npm:18.2.21"],\ + ["@types/react-dom", "npm:18.2.7"],\ + ["@types/tanstack__react-query", null],\ + ["react", "npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ + ["superjson", "npm:1.13.1"],\ + ["use-sync-external-store", "virtual:287fccd9feb4edd5a3f2f35798ab7b2d62efb7b695baf588a4eab1df65d34a1efa49f762a59ad574264bfc913641f9cf46841c273f01492440d0ef17469b3b2d#npm:1.2.0"]\ + ],\ + "packagePeers": [\ + "@tanstack/react-query",\ + "@types/react-dom",\ + "@types/react",\ + "@types/tanstack__react-query",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:4.33.0", {\ "packageLocation": "./.yarn/__virtual__/@tanstack-react-query-devtools-virtual-287fccd9fe/0/cache/@tanstack-react-query-devtools-npm-4.33.0-a6a3309037-f8160f9536.zip/node_modules/@tanstack/react-query-devtools/",\ "packageDependencies": [\ @@ -5233,7 +5285,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/react-dom", null],\ ["@types/tanstack__react-query", null],\ ["react", "npm:18.2.0"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["superjson", "npm:1.13.1"],\ ["use-sync-external-store", "virtual:287fccd9feb4edd5a3f2f35798ab7b2d62efb7b695baf588a4eab1df65d34a1efa49f762a59ad574264bfc913641f9cf46841c273f01492440d0ef17469b3b2d#npm:1.2.0"]\ ],\ @@ -5307,6 +5359,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@types/react-dom", [\ + ["npm:18.2.7", {\ + "packageLocation": "./.yarn/cache/@types-react-dom-npm-18.2.7-a20ba684a5-e02ea90828.zip/node_modules/@types/react-dom/",\ + "packageDependencies": [\ + ["@types/react-dom", "npm:18.2.7"],\ + ["@types/react", "npm:18.2.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/scheduler", [\ ["npm:0.16.3", {\ "packageLocation": "./.yarn/cache/@types-scheduler-npm-0.16.3-887bfc0086-2b0aec39c2.zip/node_modules/@types/scheduler/",\ @@ -5528,17 +5590,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:2.1.4", {\ - "packageLocation": "./.yarn/__virtual__/babel-plugin-styled-components-virtual-6c38853caf/0/cache/babel-plugin-styled-components-npm-2.1.4-40cd8c2d2b-d791aed68d.zip/node_modules/babel-plugin-styled-components/",\ + ["virtual:61097bbc169fab4637705d09a1bd9318cc1161163d1ff4744210fb91daa0a0f3cecb38cc5fe3ba2de304e631ca8700c2c15004e37b2b5d69e0e5d170a0576161#npm:2.1.4", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-styled-components-virtual-a1798919fa/0/cache/babel-plugin-styled-components-npm-2.1.4-40cd8c2d2b-d791aed68d.zip/node_modules/babel-plugin-styled-components/",\ "packageDependencies": [\ - ["babel-plugin-styled-components", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:2.1.4"],\ + ["babel-plugin-styled-components", "virtual:61097bbc169fab4637705d09a1bd9318cc1161163d1ff4744210fb91daa0a0f3cecb38cc5fe3ba2de304e631ca8700c2c15004e37b2b5d69e0e5d170a0576161#npm:2.1.4"],\ ["@babel/helper-annotate-as-pure", "npm:7.22.5"],\ ["@babel/helper-module-imports", "npm:7.22.5"],\ ["@babel/plugin-syntax-jsx", "virtual:bdeeb3d8269592d017c69d49d98383e742ae5ce561bce18cf6f41ef57a9de89d093f4edd5d396157ce7f8c0e09d00ae5e547cbe55d2913482f981ed40cb3d4a3#npm:7.22.5"],\ ["@types/styled-components", null],\ ["lodash", "npm:4.17.21"],\ ["picomatch", "npm:2.3.1"],\ - ["styled-components", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:5.3.11"]\ + ["styled-components", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:5.3.11"]\ ],\ "packagePeers": [\ "@types/styled-components",\ @@ -6648,14 +6710,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/fibers", null],\ ["@types/opentelemetry__api", null],\ ["@types/react", "npm:18.2.21"],\ - ["@types/react-dom", null],\ + ["@types/react-dom", "npm:18.2.7"],\ ["@types/sass", null],\ ["busboy", "npm:1.6.0"],\ ["caniuse-lite", "npm:1.0.30001524"],\ ["fibers", null],\ ["postcss", "npm:8.4.14"],\ ["react", "npm:18.2.0"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["sass", null],\ ["styled-jsx", "virtual:e2c6a261950790bd3783a0504187c9c1137db68dd124b19ebbec858de182b629f0a3eca7569663c03fdc9ebf569042d983abda5d32214402ec561129d25dfad1#npm:5.1.1"],\ ["watchpack", "npm:2.4.0"],\ @@ -6699,7 +6761,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["caniuse-lite", "npm:1.0.30001524"],\ ["postcss", "npm:8.4.14"],\ ["react", "npm:18.2.0"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["sass", null],\ ["styled-jsx", "virtual:e2c6a261950790bd3783a0504187c9c1137db68dd124b19ebbec858de182b629f0a3eca7569663c03fdc9ebf569042d983abda5d32214402ec561129d25dfad1#npm:5.1.1"],\ ["watchpack", "npm:2.4.0"],\ @@ -7005,7 +7067,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/react", "npm:18.2.21"],\ ["@types/react-dom", null],\ ["react", "npm:18.2.0"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["ua-parser-js", "npm:1.0.35"]\ ],\ "packagePeers": [\ @@ -7029,21 +7091,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/__virtual__/react-dom-virtual-41ba996b32/0/cache/react-dom-npm-18.2.0-dd675bca1c-7d323310be.zip/node_modules/react-dom/",\ "packageDependencies": [\ ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ - ["@types/react", null],\ - ["loose-envify", "npm:1.4.0"],\ - ["react", "npm:18.2.0"],\ - ["scheduler", "npm:0.23.0"]\ - ],\ - "packagePeers": [\ - "@types/react",\ - "react"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0", {\ - "packageLocation": "./.yarn/__virtual__/react-dom-virtual-821b435e99/0/cache/react-dom-npm-18.2.0-dd675bca1c-7d323310be.zip/node_modules/react-dom/",\ - "packageDependencies": [\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ ["@types/react", "npm:18.2.21"],\ ["loose-envify", "npm:1.4.0"],\ ["react", "npm:18.2.0"],\ @@ -7091,7 +7138,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["json2mq", "npm:0.2.0"],\ ["lodash.debounce", "npm:4.0.8"],\ ["react", "npm:18.2.0"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["resize-observer-polyfill", "npm:1.5.1"]\ ],\ "packagePeers": [\ @@ -7358,7 +7405,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@emotion/is-prop-valid", "npm:1.2.1"],\ ["@emotion/stylis", "npm:0.8.5"],\ ["@emotion/unitless", "npm:0.7.5"],\ - ["@types/react", null],\ + ["@types/react", "npm:18.2.21"],\ ["@types/react-dom", null],\ ["@types/react-is", null],\ ["babel-plugin-styled-components", "virtual:181676522bcad7654c43a90fb30f8159f9163bd43d8c35fa31c9798550dff2151dbd52caa024cd2dacd66e5a091cc8337976a371d7c47691fcbc5c87bdb3bbb4#npm:2.1.4"],\ @@ -7411,23 +7458,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:5.3.11", {\ - "packageLocation": "./.yarn/__virtual__/styled-components-virtual-68a9a33632/0/cache/styled-components-npm-5.3.11-d45616b9af-10edd4dae3.zip/node_modules/styled-components/",\ + ["virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:5.3.11", {\ + "packageLocation": "./.yarn/__virtual__/styled-components-virtual-61097bbc16/0/cache/styled-components-npm-5.3.11-d45616b9af-10edd4dae3.zip/node_modules/styled-components/",\ "packageDependencies": [\ - ["styled-components", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:5.3.11"],\ + ["styled-components", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:5.3.11"],\ ["@babel/helper-module-imports", "npm:7.22.5"],\ ["@babel/traverse", "npm:7.22.11"],\ ["@emotion/is-prop-valid", "npm:1.2.1"],\ ["@emotion/stylis", "npm:0.8.5"],\ ["@emotion/unitless", "npm:0.7.5"],\ ["@types/react", "npm:18.2.21"],\ - ["@types/react-dom", null],\ + ["@types/react-dom", "npm:18.2.7"],\ ["@types/react-is", null],\ - ["babel-plugin-styled-components", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:2.1.4"],\ + ["babel-plugin-styled-components", "virtual:61097bbc169fab4637705d09a1bd9318cc1161163d1ff4744210fb91daa0a0f3cecb38cc5fe3ba2de304e631ca8700c2c15004e37b2b5d69e0e5d170a0576161#npm:2.1.4"],\ ["css-to-react-native", "npm:3.2.0"],\ ["hoist-non-react-statics", "npm:3.3.2"],\ ["react", "npm:18.2.0"],\ - ["react-dom", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:18.2.0"],\ + ["react-dom", "virtual:040d27df013de8c2443d97cd34785bd6338b0d64a4a625937768b1a38353fca7b8404d53a1248b5c67570c2a031bc43d100149c15012f4485eb41e15d763240d#npm:18.2.0"],\ ["react-is", "npm:18.2.0"],\ ["shallowequal", "npm:1.1.0"],\ ["supports-color", "npm:5.5.0"]\ @@ -7487,7 +7534,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["styled-reset", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:4.5.1"],\ ["@types/styled-components", "npm:5.1.26"],\ - ["styled-components", "virtual:a9e685c95fc9c2c05e15b14465ecc20924383932b7a1aa62172e110ba174ebedc352c8daf5023eb54ef5f0a5595ca6cf8763ef2477e003ebd1850bfb16231d67#npm:5.3.11"]\ + ["styled-components", "virtual:8ec4233c825b2c709f2ff549456a05fb98060d621f5df14748cda36fdb51190eccc2e438466f7464c85557cdad97eb73aa6580e78bca957a1149bfc58c6ddf34#npm:5.3.11"]\ ],\ "packagePeers": [\ "@types/styled-components",\ diff --git a/apps/jurumarble/.eslintrc.json b/apps/jurumarble/.eslintrc.json deleted file mode 100644 index bffb357a..00000000 --- a/apps/jurumarble/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/apps/jurumarble/package.json b/apps/jurumarble/package.json index 3b896b20..df5994c5 100644 --- a/apps/jurumarble/package.json +++ b/apps/jurumarble/package.json @@ -14,7 +14,6 @@ "dependencies": { "@emotion/is-prop-valid": "^1.2.1", "@monorepo/hooks": "workspace:*", - "@monorepo/ui": "workspace:*", "@tanstack/react-query": "^4.33.0", "@tanstack/react-query-devtools": "^4.33.0", "next": "13.4.12", @@ -31,6 +30,7 @@ "@svgr/plugin-prettier": "^8.0.1", "@types/node": "20.5.7", "@types/react": "18.2.21", + "@types/react-dom": "^18.2.7", "@types/styled-components": "^5", "typescript": "4.9.3" } diff --git a/apps/jurumarble/src/app/page.tsx b/apps/jurumarble/src/app/page.tsx index 4f8caf77..d362f6e5 100644 --- a/apps/jurumarble/src/app/page.tsx +++ b/apps/jurumarble/src/app/page.tsx @@ -1,6 +1,5 @@ "use client"; -import { Input } from "@monorepo/ui"; import BottomBar from "components/BottomBar"; import Header from "components/Header"; import Image from "next/image"; @@ -66,11 +65,11 @@ const Banner = styled.div` aspect-ratio: 16 / 9; `; -// const Input = styled.input` -// width: 100%; -// height: 24px; -// margin-top: 28px; -// `; +const Input = styled.input` + width: 100%; + height: 24px; + margin-top: 28px; +`; const H2 = styled.h2` ${({ theme }) => diff --git a/apps/jurumarble/src/app/post/page.tsx b/apps/jurumarble/src/app/post/page.tsx index 6294b058..4c5f71ec 100644 --- a/apps/jurumarble/src/app/post/page.tsx +++ b/apps/jurumarble/src/app/post/page.tsx @@ -98,21 +98,21 @@ const ImageUploadButtonWrapper = styled.div` margin-top: 16px; `; -const VoteImageWrapper = styled.div` - gap: 12px; - overflow: hidden; - margin-top: 16px; - width: 100%; - background: ${({ theme }) => theme.palette.background.hard}; - border-radius: 8px; - display: flex; - align-items: center; - height: 290px; - position: relative; - background: ${({ theme }) => theme.palette.background.white}; - justify-content: space-between; - cursor: pointer; -`; +// const VoteImageWrapper = styled.div` +// gap: 12px; +// overflow: hidden; +// margin-top: 16px; +// width: 100%; +// background: ${({ theme }) => theme.palette.background.hard}; +// border-radius: 8px; +// display: flex; +// align-items: center; +// height: 290px; +// position: relative; +// background: ${({ theme }) => theme.palette.background.white}; +// justify-content: space-between; +// cursor: pointer; +// `; const VoteOptionText = styled.div` margin-top: 12px; diff --git a/apps/jurumarble/src/components/index.ts b/apps/jurumarble/src/components/index.ts index de3d00f9..d0c4ebad 100644 --- a/apps/jurumarble/src/components/index.ts +++ b/apps/jurumarble/src/components/index.ts @@ -5,4 +5,3 @@ export { default as Input } from "./input/Input"; export { default as FloatComponentTemplate } from "./modal/FloatComponentTemplate"; export { default as DivideLine } from "./divide/DivideLine"; export { default as ImageUploadButton } from "./ImageUploadButton"; -export * from "./selectBox"; diff --git a/apps/jurumarble/src/components/modal/FloatComponentTemplate.tsx b/apps/jurumarble/src/components/modal/FloatComponentTemplate.tsx index ac9a8d9b..574acdea 100644 --- a/apps/jurumarble/src/components/modal/FloatComponentTemplate.tsx +++ b/apps/jurumarble/src/components/modal/FloatComponentTemplate.tsx @@ -1,6 +1,6 @@ -import { Portal, transitions } from "@monorepo/ui"; import React from "react"; import styled from "styled-components"; +import Portal from "./Portal"; /** * @description diff --git a/apps/jurumarble/src/components/selectBox/Option.tsx b/apps/jurumarble/src/components/selectBox/Option.tsx deleted file mode 100644 index e34789f8..00000000 --- a/apps/jurumarble/src/components/selectBox/Option.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import styled from "styled-components"; - -interface Props { - label: string; - onChangeSelectedOption: () => void; -} - -function Option({ label, onChangeSelectedOption }: Props) { - return ( -
  • - {label} -
  • - ); -} - -const Li = styled.li` - padding: 14px 34px; - :hover { - background-color: ${({ theme }) => theme.palette.background.selectedSoft}; - } -`; - -export default Option; diff --git a/apps/jurumarble/src/components/selectBox/OptionList.tsx b/apps/jurumarble/src/components/selectBox/OptionList.tsx deleted file mode 100644 index 1331c0ec..00000000 --- a/apps/jurumarble/src/components/selectBox/OptionList.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import styled, { css } from "styled-components"; -import Option from "./Option"; - -interface Option { - value: string; - label: string; -} -interface Props { - options: Option[]; - // @todo 수정하기 - onChangeSelectedOption: (value: any) => void; - onToggleOpen: () => void; -} - -function OptionList({ options, onChangeSelectedOption, onToggleOpen }: Props) { - return ( - // @todo 고유한 id를 만들어야함 -
      - {options.map(({ value, label }) => ( -
    - ); -} - -const Ul = styled.ul` - position: absolute; - margin-top: 8px; - border-radius: 8px; - box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1); - z-index: 99; - ${({ theme }) => - css` - border: solid 1px ${theme.palette.border.base}; - background-color: ${theme.palette.background.white}; - `} -`; - -export default OptionList; diff --git a/apps/jurumarble/src/components/selectBox/Select.tsx b/apps/jurumarble/src/components/selectBox/Select.tsx deleted file mode 100644 index 01c006be..00000000 --- a/apps/jurumarble/src/components/selectBox/Select.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { useOutsideClick } from "@monorepo/hooks"; -import { Option, OptionList, SelectButton } from "@monorepo/ui"; - -interface Option { - value: string; - label: string; -} - -interface SelectProps extends React.HTMLAttributes { - defaultValue: string; - onChangeSelectedOption: (value: string) => void; - options: Option[]; - isOpen: boolean; - onToggleOpen: () => void; - children?: React.ReactNode; -} - -function Select({ - defaultValue, - onChangeSelectedOption, - options, - isOpen, - onToggleOpen, - children, -}: SelectProps) { - const { targetEl } = useOutsideClick(isOpen, onToggleOpen); - - return ( -
    - - {options.find(({ value }) => value === defaultValue)?.label} - {children} - - {isOpen ? ( - - ) : null} -
    - ); -} - -export default Select; diff --git a/apps/jurumarble/src/components/selectBox/SelectButton.tsx b/apps/jurumarble/src/components/selectBox/SelectButton.tsx deleted file mode 100644 index 7600791e..00000000 --- a/apps/jurumarble/src/components/selectBox/SelectButton.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import styled from "styled-components"; - -interface SelectProps { - children: React.ReactNode; - onChangeOpen: () => void; -} - -function SelectButton({ children, onChangeOpen }: SelectProps) { - return ( - <> - - {children} - - - ); -} - -const StyledButton = styled.button` - display: contents; -`; - -const SelectedText = styled.div` - display: flex; - align-items: center; - justify-content: space-between; -`; - -export default SelectButton; diff --git a/apps/jurumarble/src/components/selectBox/index.ts b/apps/jurumarble/src/components/selectBox/index.ts deleted file mode 100644 index 66b3dd86..00000000 --- a/apps/jurumarble/src/components/selectBox/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { default as Option } from "./Option"; -export { default as OptionList } from "./OptionList"; -export { default as SelectButton } from "./SelectButton"; -export { default as Select } from "./Select"; diff --git a/apps/jurumarble/src/lib/styles/StyledComponents.tsx b/apps/jurumarble/src/lib/styles/StyledComponents.tsx index 51d3788f..589a428e 100644 --- a/apps/jurumarble/src/lib/styles/StyledComponents.tsx +++ b/apps/jurumarble/src/lib/styles/StyledComponents.tsx @@ -6,7 +6,6 @@ import { StyleSheetManager, ThemeProvider } from "styled-components"; import { jurumarbleTheme } from "./theme"; import isPropValid from "@emotion/is-prop-valid"; import GlobalStyles from "./globalStyles"; -import { theme } from "@monorepo/ui"; function StyledComponents({ children }: PropsWithChildren) { return ( @@ -20,7 +19,7 @@ function StyledComponents({ children }: PropsWithChildren) { return typeof elementToBeRendered === "string" ? isPropValid(propName) : true; }} > */} - + <> {children} diff --git a/packages/hooks/package.json b/packages/hooks/package.json index ed204786..ddb5eaac 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -10,6 +10,8 @@ "react": "^18.2.0" }, "devDependencies": { + "@types/node": "20.5.7", + "@types/react": "18.2.21", "typescript": "4.9.3" } } diff --git a/packages/ui/package.json b/packages/ui/package.json index 61632c99..527be9d3 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -14,6 +14,9 @@ "styled-components": "^5.3.6" }, "devDependencies": { + "@types/node": "20.5.7", + "@types/react": "18.2.21", + "@types/styled-components": "^5", "typescript": "4.9.3" } } diff --git a/yarn.lock b/yarn.lock index 97393405..5c4cdde1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1583,6 +1583,8 @@ __metadata: version: 0.0.0-use.local resolution: "@monorepo/hooks@workspace:packages/hooks" dependencies: + "@types/node": 20.5.7 + "@types/react": 18.2.21 react: ^18.2.0 typescript: 4.9.3 languageName: unknown @@ -1594,7 +1596,6 @@ __metadata: dependencies: "@emotion/is-prop-valid": ^1.2.1 "@monorepo/hooks": "workspace:*" - "@monorepo/ui": "workspace:*" "@svgr/cli": ^8.0.1 "@svgr/core": ^8.0.0 "@svgr/plugin-jsx": ^8.0.1 @@ -1603,6 +1604,7 @@ __metadata: "@tanstack/react-query-devtools": ^4.33.0 "@types/node": 20.5.7 "@types/react": 18.2.21 + "@types/react-dom": ^18.2.7 "@types/styled-components": ^5 next: 13.4.12 react: 18.2.0 @@ -1619,6 +1621,9 @@ __metadata: resolution: "@monorepo/ui@workspace:packages/ui" dependencies: "@monorepo/hooks": "workspace:*" + "@types/node": 20.5.7 + "@types/react": 18.2.21 + "@types/styled-components": ^5 react: ^18.2.0 react-dom: ^18.2.0 react-is: ^18.2.0 @@ -2349,6 +2354,15 @@ __metadata: languageName: node linkType: hard +"@types/react-dom@npm:^18.2.7": + version: 18.2.7 + resolution: "@types/react-dom@npm:18.2.7" + dependencies: + "@types/react": "*" + checksum: e02ea908289a7ad26053308248d2b87f6aeafd73d0e2de2a3d435947bcea0422599016ffd1c3e38ff36c42f5e1c87c7417f05b0a157e48649e4a02f21727d54f + languageName: node + linkType: hard + "@types/react@npm:*, @types/react@npm:18.2.21": version: 18.2.21 resolution: "@types/react@npm:18.2.21"