diff --git a/.babelrc.json b/.babelrc.json
new file mode 100644
index 0000000..b382d79
--- /dev/null
+++ b/.babelrc.json
@@ -0,0 +1,14 @@
+{
+ "presets": [
+ [
+ "next/babel",
+ {
+ "preset-react": {
+ "runtime": "automatic",
+ "importSource": "@emotion/react"
+ }
+ }
+ ]
+ ],
+ "plugins": ["@emotion/babel-plugin"]
+}
\ No newline at end of file
diff --git a/components/ColorCard.tsx b/components/ColorCard.tsx
index 500c005..4070294 100644
--- a/components/ColorCard.tsx
+++ b/components/ColorCard.tsx
@@ -1,12 +1,32 @@
-import styled from "styled-components";
import { useState } from "react";
import { calcComplementaryColor } from "@nmsn/color-utils";
-const Card = ({ className, children }) => {
+const Card = ({
+ children,
+ width,
+ height,
+ color,
+ borderColor,
+}: {
+ children: any;
+ width: number;
+ height: number;
+ color: string;
+ borderColor?: string;
+}) => {
const [visible, setVisible] = useState(false);
return (
setVisible(true)}
onMouseLeave={() => setVisible(false)}
>
@@ -15,21 +35,9 @@ const Card = ({ className, children }) => {
);
};
-const StyledCard = styled(Card)`
- width: ${(props) => `${props?.width || 0}px` || "100%"};
- height: ${(props) => `${props?.height || 0}px` || "100%"};
- background-color: ${(props) => props.color};
- border: ${(props) =>
- `${props?.borderColor ? `1px solid ${props?.borderColor}` : ""}`};
- border-radius: 4px;
- display: flex;
- justify-content: center;
- align-items: center;
-`;
-
-const StyledCardText = styled.div`
- color: ${(props) => `${props?.color}`};
-`;
+const CardText = ({ children, color }: { children: any; color: string }) => (
+
{children}
+);
type ColorCardProps = {
color: string;
@@ -42,9 +50,9 @@ const ColorCard = ({ color, width, height }: ColorCardProps) => {
const complementaryColor = calcComplementaryColor(color, "rgb");
return (
-
- {color}
-
+
+ {color}
+
);
};
diff --git a/components/ColorPickerGroup.tsx b/components/ColorPickerGroup.tsx
index 0bace8c..dac31eb 100644
--- a/components/ColorPickerGroup.tsx
+++ b/components/ColorPickerGroup.tsx
@@ -1,18 +1,11 @@
import { useState } from "react";
-import styled from "styled-components";
-import ColorPicker, { DEFAULT_RGBA } from "./ColorPicker";
+import ColorPicker from "./ColorPicker";
import Space from "./Space";
type ColorPickerType = React.ComponentProps
;
type ColorValue = Parameters[0];
-const StyleColorPickerGroup = styled.div`
- display: flex;
- /* justify-content: space-between; */
- width: 100%;
-`;
-
const ColorPickerGroup = ({
sum = 2,
onChange,
@@ -32,7 +25,12 @@ const ColorPickerGroup = ({
};
return (
-
+
{Array(sum)
.fill(undefined)
@@ -43,7 +41,7 @@ const ColorPickerGroup = ({
/>
))}
-
+
);
};
diff --git a/components/Layout.tsx b/components/Layout.tsx
index 23b4356..fe86a02 100644
--- a/components/Layout.tsx
+++ b/components/Layout.tsx
@@ -1,14 +1,16 @@
-import styled from "styled-components";
-
-const StyledLayout = styled.div`
- width: 800px;
- margin: auto;
- display: flex;
- padding-top: 150px;
-`;
-
const Layout = ({ children }: { children: React.ReactNode }) => {
- return {children};
+ return (
+
+ {children}
+
+ );
};
export default Layout;
diff --git a/components/Space.tsx b/components/Space.tsx
index cfa9d94..3934e56 100644
--- a/components/Space.tsx
+++ b/components/Space.tsx
@@ -1,20 +1,3 @@
-import styled from "styled-components";
-
-const StyleSpace = styled.div`
- &:not(:last-of-type) {
- margin-bottom: ${(props) =>
- props.type === "vertical" ? `${props.distance}px` : 0};
- margin-right: ${(props) =>
- props.type === "horizontal" ? `${props.distance}px` : 0};
- }
-`;
-
-const StyledSpaceContainer = styled.div`
- display: flex;
- flex-direction: ${(props) =>
- props.type === "horizontal" ? "row" : "column"};
-`;
-
const Space = ({
children,
type = "horizontal",
@@ -24,22 +7,16 @@ const Space = ({
type?: "horizontal" | "vertical";
distance?: number;
}) => {
- if (Array.isArray(children)) {
- return (
-
- {children?.map((item, index) => (
-
- {item}
-
- ))}
-
- );
- }
-
return (
-
+
{children}
-
+
);
};
diff --git a/components/Tabs.tsx b/components/Tabs.tsx
index bedc83f..e746212 100644
--- a/components/Tabs.tsx
+++ b/components/Tabs.tsx
@@ -1,5 +1,4 @@
-import styled from "styled-components";
-import { useEffect, useState } from "react";
+import React, { useEffect, useState } from "react";
import Space from "./Space";
import { mix2Color } from "@nmsn/color-utils";
import { themeColor, themeColor2 } from "../utils/theme";
@@ -10,42 +9,34 @@ type TabType = { label: string; value: TabValue };
const hoverColor = mix2Color([themeColor2, "white"], "hex", [0.8, 0.2]);
-const StyledTab = styled.div`
- padding: 8px 10px;
- color: white;
- background-color: ${(props) => (props.isActive ? themeColor : themeColor2)};
- width: 150px;
- border-radius: 4px;
- text-align: right;
-
- ${(props) =>
- props.isActive
- ? ``
- : `:hover {
- background-color: ${hoverColor};
- }`}
-
- cursor: pointer;
-`;
-
const Tab = ({
+ children,
isActive,
- label,
value,
onChange,
}: {
+ children: React.ReactNode;
isActive: boolean;
- label: string;
value: TabValue;
onChange: (val: TabValue) => void;
}) => {
return (
- onChange(value) : null}
>
- {label}
-
+ {children}
+
);
};
@@ -75,11 +66,12 @@ const Tabs = ({
{tabs.map(({ label, value }) => (
+ >
+ {label}
+
))}
);
diff --git a/next.config.js b/next.config.js
index dffeebc..6ee2dad 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,6 +1,6 @@
module.exports = {
experimental: {
// Enables the styled-components SWC transform
- styledComponents: true,
+ // styledComponents: true,
},
};
diff --git a/package.json b/package.json
index e9e6dcf..f55361c 100644
--- a/package.json
+++ b/package.json
@@ -20,12 +20,14 @@
},
"homepage": "https://github.com/nmsn/color-utils-site#readme",
"dependencies": {
+ "@emotion/css": "^11.10.5",
+ "@emotion/react": "^11.10.5",
+ "@emotion/styled": "^11.10.5",
"@nmsn/color-utils": "0.1.0",
"next": "^12.2.5",
"react": "^18.2.0",
"react-color": "^2.19.3",
- "react-dom": "^18.2.0",
- "styled-components": "^5.3.5"
+ "react-dom": "^18.2.0"
},
"devDependencies": {
"@types/node": "^18.7.9",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6e583fd..95b530b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,6 +1,9 @@
lockfileVersion: 5.4
specifiers:
+ '@emotion/css': ^11.10.5
+ '@emotion/react': ^11.10.5
+ '@emotion/styled': ^11.10.5
'@nmsn/color-utils': 0.1.0
'@types/node': ^18.7.9
'@types/react': ^18.0.17
@@ -9,16 +12,17 @@ specifiers:
react: ^18.2.0
react-color: ^2.19.3
react-dom: ^18.2.0
- styled-components: ^5.3.5
typescript: ^4.7.4
dependencies:
+ '@emotion/css': 11.10.5
+ '@emotion/react': 11.10.5_ug65io7jkbhmo4fihdmbrh3ina
+ '@emotion/styled': 11.10.5_7py4gn4ux4okqk625yfk66ehlm
'@nmsn/color-utils': 0.1.0
next: 12.2.5_biqbaboplfbrettd7655fr4n2y
react: 18.2.0
react-color: 2.19.3_react@18.2.0
react-dom: 18.2.0_react@18.2.0
- styled-components: 5.3.5_biqbaboplfbrettd7655fr4n2y
devDependencies:
'@types/node': 18.7.9
@@ -35,42 +39,6 @@ packages:
'@babel/highlight': 7.18.6
dev: false
- /@babel/generator/7.18.13:
- resolution: {integrity: sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.18.13
- '@jridgewell/gen-mapping': 0.3.2
- jsesc: 2.5.2
- dev: false
-
- /@babel/helper-annotate-as-pure/7.18.6:
- resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.18.13
- dev: false
-
- /@babel/helper-environment-visitor/7.18.9:
- resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
- engines: {node: '>=6.9.0'}
- dev: false
-
- /@babel/helper-function-name/7.18.9:
- resolution: {integrity: sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.18.10
- '@babel/types': 7.18.13
- dev: false
-
- /@babel/helper-hoist-variables/7.18.6:
- resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.18.13
- dev: false
-
/@babel/helper-module-imports/7.18.6:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
@@ -78,11 +46,9 @@ packages:
'@babel/types': 7.18.13
dev: false
- /@babel/helper-split-export-declaration/7.18.6:
- resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
+ /@babel/helper-plugin-utils/7.20.2:
+ resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.18.13
dev: false
/@babel/helper-string-parser/7.18.10:
@@ -104,39 +70,20 @@ packages:
js-tokens: 4.0.0
dev: false
- /@babel/parser/7.18.13:
- resolution: {integrity: sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.18.13
- dev: false
-
- /@babel/template/7.18.10:
- resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==}
+ /@babel/plugin-syntax-jsx/7.18.6:
+ resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/parser': 7.18.13
- '@babel/types': 7.18.13
+ '@babel/helper-plugin-utils': 7.20.2
dev: false
- /@babel/traverse/7.18.13_supports-color@5.5.0:
- resolution: {integrity: sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==}
+ /@babel/runtime/7.20.6:
+ resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.18.13
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-function-name': 7.18.9
- '@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.18.13
- '@babel/types': 7.18.13
- debug: 4.3.4_supports-color@5.5.0
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
+ regenerator-runtime: 0.13.11
dev: false
/@babel/types/7.18.13:
@@ -148,6 +95,54 @@ packages:
to-fast-properties: 2.0.0
dev: false
+ /@emotion/babel-plugin/11.10.5:
+ resolution: {integrity: sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/plugin-syntax-jsx': 7.18.6
+ '@babel/runtime': 7.20.6
+ '@emotion/hash': 0.9.0
+ '@emotion/memoize': 0.8.0
+ '@emotion/serialize': 1.1.1
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.1.3
+ dev: false
+
+ /@emotion/cache/11.10.5:
+ resolution: {integrity: sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==}
+ dependencies:
+ '@emotion/memoize': 0.8.0
+ '@emotion/sheet': 1.2.1
+ '@emotion/utils': 1.2.0
+ '@emotion/weak-memoize': 0.3.0
+ stylis: 4.1.3
+ dev: false
+
+ /@emotion/css/11.10.5:
+ resolution: {integrity: sha512-maJy0wG82hWsiwfJpc3WrYsyVwUbdu+sdIseKUB+/OLjB8zgc3tqkT6eO0Yt0AhIkJwGGnmMY/xmQwEAgQ4JHA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ dependencies:
+ '@emotion/babel-plugin': 11.10.5
+ '@emotion/cache': 11.10.5
+ '@emotion/serialize': 1.1.1
+ '@emotion/sheet': 1.2.1
+ '@emotion/utils': 1.2.0
+ dev: false
+
+ /@emotion/hash/0.9.0:
+ resolution: {integrity: sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==}
+ dev: false
+
/@emotion/is-prop-valid/1.2.0:
resolution: {integrity: sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==}
dependencies:
@@ -158,50 +153,94 @@ packages:
resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==}
dev: false
- /@emotion/stylis/0.8.5:
- resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==}
+ /@emotion/react/11.10.5_ug65io7jkbhmo4fihdmbrh3ina:
+ resolution: {integrity: sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.20.6
+ '@emotion/babel-plugin': 11.10.5
+ '@emotion/cache': 11.10.5
+ '@emotion/serialize': 1.1.1
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
+ '@emotion/utils': 1.2.0
+ '@emotion/weak-memoize': 0.3.0
+ '@types/react': 18.0.17
+ hoist-non-react-statics: 3.3.2
+ react: 18.2.0
dev: false
- /@emotion/unitless/0.7.5:
- resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==}
+ /@emotion/serialize/1.1.1:
+ resolution: {integrity: sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==}
+ dependencies:
+ '@emotion/hash': 0.9.0
+ '@emotion/memoize': 0.8.0
+ '@emotion/unitless': 0.8.0
+ '@emotion/utils': 1.2.0
+ csstype: 3.1.0
dev: false
- /@icons/material/0.2.4_react@18.2.0:
- resolution: {integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==}
+ /@emotion/sheet/1.2.1:
+ resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==}
+ dev: false
+
+ /@emotion/styled/11.10.5_7py4gn4ux4okqk625yfk66ehlm:
+ resolution: {integrity: sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==}
peerDependencies:
- react: '*'
+ '@babel/core': ^7.0.0
+ '@emotion/react': ^11.0.0-rc.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@types/react':
+ optional: true
dependencies:
+ '@babel/runtime': 7.20.6
+ '@emotion/babel-plugin': 11.10.5
+ '@emotion/is-prop-valid': 1.2.0
+ '@emotion/react': 11.10.5_ug65io7jkbhmo4fihdmbrh3ina
+ '@emotion/serialize': 1.1.1
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
+ '@emotion/utils': 1.2.0
+ '@types/react': 18.0.17
react: 18.2.0
dev: false
- /@jridgewell/gen-mapping/0.3.2:
- resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.14
- '@jridgewell/trace-mapping': 0.3.15
+ /@emotion/unitless/0.8.0:
+ resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==}
dev: false
- /@jridgewell/resolve-uri/3.1.0:
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
- engines: {node: '>=6.0.0'}
+ /@emotion/use-insertion-effect-with-fallbacks/1.0.0_react@18.2.0:
+ resolution: {integrity: sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ dependencies:
+ react: 18.2.0
dev: false
- /@jridgewell/set-array/1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
+ /@emotion/utils/1.2.0:
+ resolution: {integrity: sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==}
dev: false
- /@jridgewell/sourcemap-codec/1.4.14:
- resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+ /@emotion/weak-memoize/0.3.0:
+ resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==}
dev: false
- /@jridgewell/trace-mapping/0.3.15:
- resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==}
+ /@icons/material/0.2.4_react@18.2.0:
+ resolution: {integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==}
+ peerDependencies:
+ react: '*'
dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
+ react: 18.2.0
dev: false
/@next/env/12.2.5:
@@ -341,9 +380,12 @@ packages:
resolution: {integrity: sha512-0N5Y1XAdcl865nDdjbO0m3T6FdmQ4ijE89/urOHLREyTXbpMWbSafx9y7XIsgWGtwUP2iYTinLyyW3FatAxBLQ==}
dev: true
+ /@types/parse-json/4.0.0:
+ resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
+ dev: false
+
/@types/prop-types/15.7.5:
resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
- dev: true
/@types/react-color/3.0.6:
resolution: {integrity: sha512-OzPIO5AyRmLA7PlOyISlgabpYUa3En74LP8mTMa0veCA719SvYQov4WLMsHvCgXP+L+KI9yGhYnqZafVGG0P4w==}
@@ -358,7 +400,6 @@ packages:
'@types/prop-types': 15.7.5
'@types/scheduler': 0.16.2
csstype: 3.1.0
- dev: true
/@types/reactcss/1.2.6:
resolution: {integrity: sha512-qaIzpCuXNWomGR1Xq8SCFTtF4v8V27Y6f+b9+bzHiv087MylI/nTCqqdChNeWS7tslgROmYB7yeiruWX7WnqNg==}
@@ -368,7 +409,6 @@ packages:
/@types/scheduler/0.16.2:
resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
- dev: true
/ansi-styles/3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
@@ -377,25 +417,18 @@ packages:
color-convert: 1.9.3
dev: false
- /babel-plugin-styled-components/2.0.7_styled-components@5.3.5:
- resolution: {integrity: sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==}
- peerDependencies:
- styled-components: '>= 2'
+ /babel-plugin-macros/3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
dependencies:
- '@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-module-imports': 7.18.6
- babel-plugin-syntax-jsx: 6.18.0
- lodash: 4.17.21
- picomatch: 2.3.1
- styled-components: 5.3.5_biqbaboplfbrettd7655fr4n2y
- dev: false
-
- /babel-plugin-syntax-jsx/6.18.0:
- resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==}
+ '@babel/runtime': 7.20.6
+ cosmiconfig: 7.1.0
+ resolve: 1.22.1
dev: false
- /camelize/1.0.0:
- resolution: {integrity: sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==}
+ /callsites/3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
dev: false
/caniuse-lite/1.0.30001378:
@@ -425,34 +458,28 @@ packages:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: false
- /css-color-keywords/1.0.0:
- resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
- engines: {node: '>=4'}
+ /convert-source-map/1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
dev: false
- /css-to-react-native/3.0.0:
- resolution: {integrity: sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==}
+ /cosmiconfig/7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
dependencies:
- camelize: 1.0.0
- css-color-keywords: 1.0.0
- postcss-value-parser: 4.2.0
+ '@types/parse-json': 4.0.0
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
dev: false
/csstype/3.1.0:
resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==}
- dev: true
- /debug/4.3.4_supports-color@5.5.0:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ /error-ex/1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
dependencies:
- ms: 2.1.2
- supports-color: 5.5.0
+ is-arrayish: 0.2.1
dev: false
/escape-string-regexp/1.0.5:
@@ -460,9 +487,17 @@ packages:
engines: {node: '>=0.8.0'}
dev: false
- /globals/11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
+ /escape-string-regexp/4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /find-root/1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ dev: false
+
+ /function-bind/1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
dev: false
/has-flag/3.0.0:
@@ -470,20 +505,47 @@ packages:
engines: {node: '>=4'}
dev: false
+ /has/1.0.3:
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+ engines: {node: '>= 0.4.0'}
+ dependencies:
+ function-bind: 1.1.1
+ dev: false
+
/hoist-non-react-statics/3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
dependencies:
react-is: 16.13.1
dev: false
+ /import-fresh/3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: false
+
+ /is-arrayish/0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: false
+
+ /is-core-module/2.11.0:
+ resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
+ dependencies:
+ has: 1.0.3
+ dev: false
+
/js-tokens/4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
dev: false
- /jsesc/2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
+ /json-parse-even-better-errors/2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ dev: false
+
+ /lines-and-columns/1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: false
/lodash-es/4.17.21:
@@ -505,10 +567,6 @@ packages:
resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==}
dev: false
- /ms/2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: false
-
/nanoid/3.3.4:
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -565,17 +623,34 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /picocolors/1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ /parent-module/1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
dev: false
- /picomatch/2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
+ /parse-json/5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: false
+
+ /path-parse/1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: false
- /postcss-value-parser/4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ /path-type/4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /picocolors/1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: false
/postcss/8.4.14:
@@ -640,42 +715,38 @@ packages:
react: 18.2.0
dev: false
+ /regenerator-runtime/0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+ dev: false
+
+ /resolve-from/4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /resolve/1.22.1:
+ resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.11.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: false
+
/scheduler/0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
dependencies:
loose-envify: 1.4.0
dev: false
- /shallowequal/1.1.0:
- resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
- dev: false
-
/source-map-js/1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
dev: false
- /styled-components/5.3.5_biqbaboplfbrettd7655fr4n2y:
- resolution: {integrity: sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg==}
- engines: {node: '>=10'}
- requiresBuild: true
- peerDependencies:
- react: '>= 16.8.0'
- react-dom: '>= 16.8.0'
- react-is: '>= 16.8.0'
- dependencies:
- '@babel/helper-module-imports': 7.18.6
- '@babel/traverse': 7.18.13_supports-color@5.5.0
- '@emotion/is-prop-valid': 1.2.0
- '@emotion/stylis': 0.8.5
- '@emotion/unitless': 0.7.5
- babel-plugin-styled-components: 2.0.7_styled-components@5.3.5
- css-to-react-native: 3.0.0
- hoist-non-react-statics: 3.3.2
- react: 18.2.0
- react-dom: 18.2.0_react@18.2.0
- shallowequal: 1.1.0
- supports-color: 5.5.0
+ /source-map/0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
dev: false
/styled-jsx/5.0.4_react@18.2.0:
@@ -694,6 +765,10 @@ packages:
react: 18.2.0
dev: false
+ /stylis/4.1.3:
+ resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==}
+ dev: false
+
/supports-color/5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -701,6 +776,11 @@ packages:
has-flag: 3.0.0
dev: false
+ /supports-preserve-symlinks-flag/1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
/tinycolor2/1.4.2:
resolution: {integrity: sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==}
dev: false
@@ -727,3 +807,8 @@ packages:
dependencies:
react: 18.2.0
dev: false
+
+ /yaml/1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+ dev: false
diff --git a/tsconfig.json b/tsconfig.json
index 573f5ae..5850129 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -13,7 +13,8 @@
"module": "esnext",
"resolveJsonModule": true,
"isolatedModules": true,
- "jsx": "preserve"
+ "jsx": "preserve",
+ "types": ["@emotion/react/types/css-prop"]
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]