diff --git a/.yarn/cache/@types-emoji-mart-npm-3.0.6-13390847c6-715db50362.zip b/.yarn/cache/@types-emoji-mart-npm-3.0.6-13390847c6-715db50362.zip
new file mode 100644
index 0000000..e087698
Binary files /dev/null and b/.yarn/cache/@types-emoji-mart-npm-3.0.6-13390847c6-715db50362.zip differ
diff --git a/.yarn/cache/css-loader-npm-6.3.0-7679f43f29-af23ad314c.zip b/.yarn/cache/css-loader-npm-6.3.0-7679f43f29-af23ad314c.zip
new file mode 100644
index 0000000..f82d1ee
Binary files /dev/null and b/.yarn/cache/css-loader-npm-6.3.0-7679f43f29-af23ad314c.zip differ
diff --git a/.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-f8c4ababff.zip b/.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-f8c4ababff.zip
new file mode 100644
index 0000000..ba053ed
Binary files /dev/null and b/.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-f8c4ababff.zip differ
diff --git a/.yarn/cache/emoji-mart-npm-3.0.1-6e92eda8de-6282c6bfea.zip b/.yarn/cache/emoji-mart-npm-3.0.1-6e92eda8de-6282c6bfea.zip
new file mode 100644
index 0000000..886b936
Binary files /dev/null and b/.yarn/cache/emoji-mart-npm-3.0.1-6e92eda8de-6282c6bfea.zip differ
diff --git a/.yarn/cache/icss-utils-npm-5.1.0-8d8c062d07-5c324d2835.zip b/.yarn/cache/icss-utils-npm-5.1.0-8d8c062d07-5c324d2835.zip
new file mode 100644
index 0000000..4cdd1bc
Binary files /dev/null and b/.yarn/cache/icss-utils-npm-5.1.0-8d8c062d07-5c324d2835.zip differ
diff --git a/.yarn/cache/nanocolors-npm-0.2.12-f605aa543e-a34a63dcca.zip b/.yarn/cache/nanocolors-npm-0.2.12-f605aa543e-a34a63dcca.zip
new file mode 100644
index 0000000..ef689f4
Binary files /dev/null and b/.yarn/cache/nanocolors-npm-0.2.12-f605aa543e-a34a63dcca.zip differ
diff --git a/.yarn/cache/nanoid-npm-3.1.28-3222196969-ae2fa9f3ce.zip b/.yarn/cache/nanoid-npm-3.1.28-3222196969-ae2fa9f3ce.zip
new file mode 100644
index 0000000..bd4eb77
Binary files /dev/null and b/.yarn/cache/nanoid-npm-3.1.28-3222196969-ae2fa9f3ce.zip differ
diff --git a/.yarn/cache/postcss-modules-extract-imports-npm-3.0.0-619311282d-4b65f2f138.zip b/.yarn/cache/postcss-modules-extract-imports-npm-3.0.0-619311282d-4b65f2f138.zip
new file mode 100644
index 0000000..ea8421f
Binary files /dev/null and b/.yarn/cache/postcss-modules-extract-imports-npm-3.0.0-619311282d-4b65f2f138.zip differ
diff --git a/.yarn/cache/postcss-modules-local-by-default-npm-4.0.0-794014f0a5-6cf570badc.zip b/.yarn/cache/postcss-modules-local-by-default-npm-4.0.0-794014f0a5-6cf570badc.zip
new file mode 100644
index 0000000..9817b61
Binary files /dev/null and b/.yarn/cache/postcss-modules-local-by-default-npm-4.0.0-794014f0a5-6cf570badc.zip differ
diff --git a/.yarn/cache/postcss-modules-scope-npm-3.0.0-0678040a26-330b9398db.zip b/.yarn/cache/postcss-modules-scope-npm-3.0.0-0678040a26-330b9398db.zip
new file mode 100644
index 0000000..b7c2fbf
Binary files /dev/null and b/.yarn/cache/postcss-modules-scope-npm-3.0.0-0678040a26-330b9398db.zip differ
diff --git a/.yarn/cache/postcss-modules-values-npm-4.0.0-63d7ec543a-f7f2cdf14a.zip b/.yarn/cache/postcss-modules-values-npm-4.0.0-63d7ec543a-f7f2cdf14a.zip
new file mode 100644
index 0000000..4c8516f
Binary files /dev/null and b/.yarn/cache/postcss-modules-values-npm-4.0.0-63d7ec543a-f7f2cdf14a.zip differ
diff --git a/.yarn/cache/postcss-npm-8.3.8-adce56afd5-20073f3f70.zip b/.yarn/cache/postcss-npm-8.3.8-adce56afd5-20073f3f70.zip
new file mode 100644
index 0000000..bb2e889
Binary files /dev/null and b/.yarn/cache/postcss-npm-8.3.8-adce56afd5-20073f3f70.zip differ
diff --git a/.yarn/cache/postcss-selector-parser-npm-6.0.6-4df491c1e3-3602758798.zip b/.yarn/cache/postcss-selector-parser-npm-6.0.6-4df491c1e3-3602758798.zip
new file mode 100644
index 0000000..02bc15f
Binary files /dev/null and b/.yarn/cache/postcss-selector-parser-npm-6.0.6-4df491c1e3-3602758798.zip differ
diff --git a/.yarn/cache/style-loader-npm-3.3.0-1314a3ca60-edad553a1a.zip b/.yarn/cache/style-loader-npm-3.3.0-1314a3ca60-edad553a1a.zip
new file mode 100644
index 0000000..1b20a46
Binary files /dev/null and b/.yarn/cache/style-loader-npm-3.3.0-1314a3ca60-edad553a1a.zip differ
diff --git a/packages/react-chat-example/package.json b/packages/react-chat-example/package.json
index 5e5004e..1a30bb6 100644
--- a/packages/react-chat-example/package.json
+++ b/packages/react-chat-example/package.json
@@ -41,6 +41,7 @@
"@typescript-eslint/eslint-plugin": "^4.29.0",
"@typescript-eslint/parser": "^4.29.0",
"chai": "^4.3.4",
+ "css-loader": "^6.3.0",
"esbuild-loader": "^2.15.1",
"eslint": "^7.32.0",
"eslint-plugin-hooks": "^0.2.0",
@@ -55,6 +56,7 @@
"prettier": "^2.3.2",
"rimraf": "^3.0.2",
"source-map-loader": "^3.0.0",
+ "style-loader": "^3.3.0",
"ts-loader": "^9.2.5",
"ts-node": "^10.1.0",
"typescript": "^4.3.5",
diff --git a/packages/react-chat-example/webpack.config.js b/packages/react-chat-example/webpack.config.js
index cc8a6a8..63eb166 100644
--- a/packages/react-chat-example/webpack.config.js
+++ b/packages/react-chat-example/webpack.config.js
@@ -1,82 +1,86 @@
-const path = require('path')
-const HtmlWebpackPlugin = require('html-webpack-plugin')
-const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin')
-const webpack = require('webpack')
-const { ESBuildMinifyPlugin } = require('esbuild-loader')
+const path = require('path');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
+const webpack = require('webpack');
+const { ESBuildMinifyPlugin } = require('esbuild-loader');
-module.exports = (env) => {
- let environment = 'development'
- if (env.ENV) {
- environment = env.ENV
- }
+module.exports = env => {
+ let environment = 'development';
+ if (env.ENV) {
+ environment = env.ENV;
+ }
- return {
- entry: './src/index.tsx',
- output: {
- filename: 'index.[fullhash].js',
- path: path.join(__dirname, 'dist'),
- publicPath: "/",
- },
- devtool: 'source-map',
- resolve: {
- extensions: ['.ts', '.tsx', '.js', '.json'],
- fallback: {
- "buffer": require.resolve("buffer/"),
- "crypto": require.resolve("crypto-browserify"),
- "stream": require.resolve("stream-browserify"),
- "assert": require.resolve("assert")
- }
- },
- module: {
- rules: [
- {
- test: /\.tsx?$/,
- loader: 'esbuild-loader',
- exclude: /node_modules/,
- options: {
- loader: 'tsx',
- target: 'es2018',
- },
- },
- {
- enforce: 'pre',
- test: /\.js$/,
- exclude: /node_modules/,
- loader: 'source-map-loader'
- },
- {
- test: /\.(png|svg|jpg|gif|woff|woff2|eot|ttf|otf|ico)$/,
- use: ['file-loader'],
- },
- ],
- },
- optimization: {
- minimizer: [
- new ESBuildMinifyPlugin({
- target: 'es2018',
- }),
- ],
+ return {
+ entry: './src/index.tsx',
+ output: {
+ filename: 'index.[fullhash].js',
+ path: path.join(__dirname, 'dist'),
+ publicPath: '/',
+ },
+ devtool: 'source-map',
+ resolve: {
+ extensions: ['.ts', '.tsx', '.js', '.json'],
+ fallback: {
+ buffer: require.resolve('buffer/'),
+ crypto: require.resolve('crypto-browserify'),
+ stream: require.resolve('stream-browserify'),
+ assert: require.resolve('assert'),
+ },
+ },
+ module: {
+ rules: [
+ {
+ test: /\.tsx?$/,
+ loader: 'esbuild-loader',
+ exclude: /node_modules/,
+ options: {
+ loader: 'tsx',
+ target: 'es2018',
},
- plugins: [
- new ForkTsCheckerWebpackPlugin(),
- new HtmlWebpackPlugin({
- template: 'src/index.html',
- }),
- new webpack.DefinePlugin({
- 'process.env.ENV': JSON.stringify(environment),
- }),
- new webpack.ProvidePlugin({
- process: 'process/browser.js',
- Buffer: ['buffer', 'Buffer'],
- }),
- ],
- devServer: {
- historyApiFallback: true,
- host: '0.0.0.0',
- stats: 'errors-only',
- overlay: true,
- hot: true,
},
- stats: 'minimal'
- }
-}
\ No newline at end of file
+ {
+ enforce: 'pre',
+ test: /\.js$/,
+ exclude: /node_modules/,
+ loader: 'source-map-loader',
+ },
+ {
+ test: /\.(png|svg|jpg|gif|woff|woff2|eot|ttf|otf|ico)$/,
+ use: ['file-loader'],
+ },
+ {
+ test: /\.css$/i,
+ use: ['style-loader', 'css-loader'],
+ },
+ ],
+ },
+ optimization: {
+ minimizer: [
+ new ESBuildMinifyPlugin({
+ target: 'es2018',
+ }),
+ ],
+ },
+ plugins: [
+ new ForkTsCheckerWebpackPlugin(),
+ new HtmlWebpackPlugin({
+ template: 'src/index.html',
+ }),
+ new webpack.DefinePlugin({
+ 'process.env.ENV': JSON.stringify(environment),
+ }),
+ new webpack.ProvidePlugin({
+ process: 'process/browser.js',
+ Buffer: ['buffer', 'Buffer'],
+ }),
+ ],
+ devServer: {
+ historyApiFallback: true,
+ host: '0.0.0.0',
+ stats: 'errors-only',
+ overlay: true,
+ hot: true,
+ },
+ stats: 'minimal',
+ };
+};
diff --git a/packages/react-chat/package.json b/packages/react-chat/package.json
index e97fa28..cf87c95 100644
--- a/packages/react-chat/package.json
+++ b/packages/react-chat/package.json
@@ -23,6 +23,7 @@
},
"devDependencies": {
"@types/chai": "^4.2.21",
+ "@types/emoji-mart": "^3.0.6",
"@types/mocha": "^9.0.0",
"@types/node": "^16.9.6",
"@types/react": "^17.0.16",
@@ -43,6 +44,7 @@
"typescript": "^4.3.5"
},
"dependencies": {
+ "emoji-mart": "^3.0.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-is": "^17.0.2",
diff --git a/packages/react-chat/src/components/Chat/ChatInput.tsx b/packages/react-chat/src/components/Chat/ChatInput.tsx
index 2355e0a..2ebfbde 100644
--- a/packages/react-chat/src/components/Chat/ChatInput.tsx
+++ b/packages/react-chat/src/components/Chat/ChatInput.tsx
@@ -1,7 +1,13 @@
+import { Picker } from "emoji-mart";
import React, { useState } from "react";
import styled from "styled-components";
-import { Theme } from "../../styles/themes";
+import { lightTheme, Theme } from "../../styles/themes";
+import { EmojiIcon } from "../Icons/EmojiIcon";
+import { GifIcon } from "../Icons/GifIcon";
+import { PictureIcon } from "../Icons/PictureIcon";
+import { StickerIcon } from "../Icons/StickerIcon";
+import "emoji-mart/css/emoji-mart.css";
type ChatInputProps = {
theme: Theme;
@@ -10,10 +16,49 @@ type ChatInputProps = {
export function ChatInput({ theme, addMessage }: ChatInputProps) {
const [content, setContent] = useState("");
+ const [showEmoji, setShowEmoji] = useState(false);
+
+ const addEmoji = (e: any) => {
+ const sym = e.unified.split("-");
+ const codesArray: any[] = [];
+ sym.forEach((el: string) => codesArray.push("0x" + el));
+ const emoji = String.fromCodePoint(...codesArray);
+ setContent(content + emoji);
+ };
return (
+ {showEmoji && (
+
+ )}
+
+
+
+
+
+ setShowEmoji(!showEmoji)}>
+
+
+
+
+
+
+
+
);
}
@@ -35,16 +89,21 @@ interface ThemeProps {
const InputWrapper = styled.div`
display: flex;
+ align-items: center;
padding: 6px 8px 6px 10px;
+ position: relative;
`;
+
const Input = styled.input`
width: 100%;
- margin-left: 10px;
height: 40px;
background: ${({ theme }) => theme.inputColor};
border-radius: 36px 16px 4px 36px;
border: 1px solid ${({ theme }) => theme.inputColor};
+ color: ${({ theme }) => theme.textPrimaryColor};
+ margin-left: 10px;
padding-left: 12px;
+ padding-right: 112px;
outline: none;
font-size: 15px;
line-height: 22px;
@@ -54,3 +113,37 @@ const Input = styled.input`
caret-color: ${({ theme }) => theme.notificationColor};
}
`;
+
+const AddPictureBtn = styled.label`
+ cursor: pointer;
+`;
+
+const AddPictureInput = styled.input`
+ opacity: 0;
+ position: absolute;
+ z-index: -1;
+`;
+
+const AddEmojiBtn = styled.label`
+ cursor: pointer;
+ position: absolute;
+ bottom: 10px;
+ right: 94px;
+ transform: translateX(-50%);
+`;
+
+const AddStickerBtn = styled.label`
+ cursor: pointer;
+ position: absolute;
+ bottom: 10px;
+ right: 58px;
+ transform: translateX(-50%);
+`;
+
+const AddGifBtn = styled.label`
+ cursor: pointer;
+ position: absolute;
+ bottom: 10px;
+ right: 20px;
+ transform: translateX(-50%);
+`;
diff --git a/packages/react-chat/src/components/Icons/EmojiIcon.tsx b/packages/react-chat/src/components/Icons/EmojiIcon.tsx
new file mode 100644
index 0000000..aea796e
--- /dev/null
+++ b/packages/react-chat/src/components/Icons/EmojiIcon.tsx
@@ -0,0 +1,50 @@
+import React from "react";
+import styled from "styled-components";
+
+import { Theme } from "../../styles/themes";
+
+interface ThemeProps {
+ theme: Theme;
+ isActive?: boolean;
+}
+
+export const EmojiIcon = ({ theme, isActive }: ThemeProps) => {
+ return (
+
+
+
+
+
+
+ );
+};
+
+const Icon = styled.svg`
+ & > path {
+ fill: ${({ theme }) => theme.textSecondaryColor};
+ }
+
+ & > path.active {
+ fill: ${({ theme }) => theme.memberNameColor};
+ }
+`;
diff --git a/packages/react-chat/src/components/Icons/GifIcon.tsx b/packages/react-chat/src/components/Icons/GifIcon.tsx
new file mode 100644
index 0000000..f13efa2
--- /dev/null
+++ b/packages/react-chat/src/components/Icons/GifIcon.tsx
@@ -0,0 +1,50 @@
+import React from "react";
+import styled from "styled-components";
+
+import { Theme } from "../../styles/themes";
+
+interface ThemeProps {
+ theme: Theme;
+ isActive?: boolean;
+}
+
+export const GifIcon = ({ theme, isActive }: ThemeProps) => {
+ return (
+
+
+
+
+
+
+ );
+};
+
+const Icon = styled.svg`
+ & > path {
+ fill: ${({ theme }) => theme.textSecondaryColor};
+ }
+
+ & > path.active {
+ fill: ${({ theme }) => theme.memberNameColor};
+ }
+`;
diff --git a/packages/react-chat/src/components/Icons/PictureIcon.tsx b/packages/react-chat/src/components/Icons/PictureIcon.tsx
new file mode 100644
index 0000000..bbd66da
--- /dev/null
+++ b/packages/react-chat/src/components/Icons/PictureIcon.tsx
@@ -0,0 +1,37 @@
+import React from "react";
+import styled from "styled-components";
+
+import { Theme } from "../../styles/themes";
+
+interface ThemeProps {
+ theme: Theme;
+}
+
+export const PictureIcon = ({ theme }: ThemeProps) => {
+ return (
+
+
+
+
+ );
+};
+
+const Icon = styled.svg`
+ & > path {
+ fill: ${({ theme }) => theme.textSecondaryColor};
+ }
+`;
diff --git a/packages/react-chat/src/components/Icons/StickerIcon.tsx b/packages/react-chat/src/components/Icons/StickerIcon.tsx
new file mode 100644
index 0000000..ef74e3e
--- /dev/null
+++ b/packages/react-chat/src/components/Icons/StickerIcon.tsx
@@ -0,0 +1,42 @@
+import React from "react";
+import styled from "styled-components";
+
+import { Theme } from "../../styles/themes";
+
+interface ThemeProps {
+ theme: Theme;
+ isActive?: boolean;
+}
+
+export const StickerIcon = ({ theme, isActive }: ThemeProps) => {
+ return (
+
+
+
+
+ );
+};
+
+const Icon = styled.svg`
+ & > path {
+ fill: ${({ theme }) => theme.textSecondaryColor};
+ }
+
+ & > path.active {
+ fill: ${({ theme }) => theme.memberNameColor};
+ }
+`;
diff --git a/yarn.lock b/yarn.lock
index 927488a..fe96c77 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -124,7 +124,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5":
+"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5":
version: 7.15.4
resolution: "@babel/runtime@npm:7.15.4"
dependencies:
@@ -229,6 +229,7 @@ __metadata:
buffer: ^6.0.3
chai: ^4.3.4
crypto-browserify: ^3.12.0
+ css-loader: ^6.3.0
esbuild-loader: ^2.15.1
eslint: ^7.32.0
eslint-plugin-hooks: ^0.2.0
@@ -248,6 +249,7 @@ __metadata:
rimraf: ^3.0.2
source-map-loader: ^3.0.0
stream-browserify: ^3.0.0
+ style-loader: ^3.3.0
ts-loader: ^9.2.5
ts-node: ^10.1.0
typescript: ^4.3.5
@@ -262,6 +264,7 @@ __metadata:
resolution: "@dappconnect/react-chat@workspace:packages/react-chat"
dependencies:
"@types/chai": ^4.2.21
+ "@types/emoji-mart": ^3.0.6
"@types/mocha": ^9.0.0
"@types/node": ^16.9.6
"@types/react": ^17.0.16
@@ -270,6 +273,7 @@ __metadata:
"@typescript-eslint/parser": ^4.29.0
chai: ^4.3.4
copyfiles: ^2.4.1
+ emoji-mart: ^3.0.1
eslint: ^7.32.0
jsdom: ^16.7.0
jsdom-global: ^3.0.2
@@ -749,6 +753,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/emoji-mart@npm:^3.0.6":
+ version: 3.0.6
+ resolution: "@types/emoji-mart@npm:3.0.6"
+ dependencies:
+ "@types/react": "*"
+ checksum: 715db503626f7af278ce4c62ffef8c393884649f474f5da0bafa3faef95bb5c47b65ec3c817535ebab4e3433db7c1b18e3d9dde26e2c0b91c00450ea1b252466
+ languageName: node
+ linkType: hard
+
"@types/eslint-scope@npm:^3.7.0":
version: 3.7.1
resolution: "@types/eslint-scope@npm:3.7.1"
@@ -3050,6 +3063,24 @@ __metadata:
languageName: node
linkType: hard
+"css-loader@npm:^6.3.0":
+ version: 6.3.0
+ resolution: "css-loader@npm:6.3.0"
+ dependencies:
+ icss-utils: ^5.1.0
+ postcss: ^8.2.15
+ postcss-modules-extract-imports: ^3.0.0
+ postcss-modules-local-by-default: ^4.0.0
+ postcss-modules-scope: ^3.0.0
+ postcss-modules-values: ^4.0.0
+ postcss-value-parser: ^4.1.0
+ semver: ^7.3.5
+ peerDependencies:
+ webpack: ^5.0.0
+ checksum: af23ad314c69b278da476a65b4912f11b2f9402496dad109b8fa7fe987666889c2f67f3996441d4fc485cae3b4349cdb4e0ec7c8b1d79344eac3d19664bb6a32
+ languageName: node
+ linkType: hard
+
"css-select@npm:^4.1.3":
version: 4.1.3
resolution: "css-select@npm:4.1.3"
@@ -3081,6 +3112,15 @@ __metadata:
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
+
"cssom@npm:^0.4.4":
version: 0.4.4
resolution: "cssom@npm:0.4.4"
@@ -3630,6 +3670,18 @@ __metadata:
languageName: node
linkType: hard
+"emoji-mart@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "emoji-mart@npm:3.0.1"
+ dependencies:
+ "@babel/runtime": ^7.0.0
+ prop-types: ^15.6.0
+ peerDependencies:
+ react: ^0.14.0 || ^15.0.0-0 || ^16.0.0 || ^17.0.0
+ checksum: 6282c6bfea0b183941c63bf20aee53a317503465266cf634819fd5aab84c42c867ee8b412dca8628dd8a74acdf5bd2006dbac6ac024f8f6a07596471f7bbd35d
+ languageName: node
+ linkType: hard
+
"emoji-regex@npm:^7.0.1":
version: 7.0.3
resolution: "emoji-regex@npm:7.0.3"
@@ -5435,6 +5487,15 @@ fsevents@~2.3.2:
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.2.1":
version: 1.2.1
resolution: "ieee754@npm:1.2.1"
@@ -7679,6 +7740,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"nanocolors@npm:^0.2.2":
+ version: 0.2.12
+ resolution: "nanocolors@npm:0.2.12"
+ checksum: a34a63dcca29eede3db41afd1421f130423fc99e73f6c89166f57815bbf0441f02a6112651b068acfd309707215f48eec15dd38e790a8225d6762503a7c175c6
+ languageName: node
+ linkType: hard
+
"nanoid@npm:3.1.23":
version: 3.1.23
resolution: "nanoid@npm:3.1.23"
@@ -7697,6 +7765,15 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"nanoid@npm:^3.1.25":
+ version: 3.1.28
+ resolution: "nanoid@npm:3.1.28"
+ bin:
+ nanoid: bin/nanoid.cjs
+ checksum: ae2fa9f3ce7a690ec62fc2fdf92345f023b20db760024f767c25ad392bde6414dc0b44a8e66dc1209426f36e4771e63b09ad2b49d8f1b04063b37e21b46af8d0
+ languageName: node
+ linkType: hard
+
"nanomatch@npm:^1.2.9":
version: 1.2.13
resolution: "nanomatch@npm:1.2.13"
@@ -8789,13 +8866,78 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
-"postcss-value-parser@npm:^4.0.2":
+"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.0":
+ version: 4.0.0
+ resolution: "postcss-modules-local-by-default@npm:4.0.0"
+ dependencies:
+ icss-utils: ^5.0.0
+ postcss-selector-parser: ^6.0.2
+ postcss-value-parser: ^4.1.0
+ peerDependencies:
+ postcss: ^8.1.0
+ checksum: 6cf570badc7bc26c265e073f3ff9596b69bb954bc6ac9c5c1b8cba2995b80834226b60e0a3cbb87d5f399dbb52e6466bba8aa1d244f6218f99d834aec431a69d
+ 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.6
+ resolution: "postcss-selector-parser@npm:6.0.6"
+ dependencies:
+ cssesc: ^3.0.0
+ util-deprecate: ^1.0.2
+ checksum: 3602758798048bffbd6a97d6f009b32a993d6fd2cc70775bb59593e803d7fa8738822ecffb2fafc745edf7fad297dad53c30d2cfe78446a7d3f4a4a258cb15b2
+ languageName: node
+ linkType: hard
+
+"postcss-value-parser@npm:^4.0.2, postcss-value-parser@npm:^4.1.0":
version: 4.1.0
resolution: "postcss-value-parser@npm:4.1.0"
checksum: 68a9ea27c780fa3cc350be37b47cc46385c61dd9627990909230e0e9c3debf6d5beb49006bd743a2e506cdd6fa7d07637f2d9504a394f67cc3011d1ff0134886
languageName: node
linkType: hard
+"postcss@npm:^8.2.15":
+ version: 8.3.8
+ resolution: "postcss@npm:8.3.8"
+ dependencies:
+ nanocolors: ^0.2.2
+ nanoid: ^3.1.25
+ source-map-js: ^0.6.2
+ checksum: 20073f3f70487e9fa8d40e930d02595c4d96b7db8b2142ee4efe8e0c9a54c844c720370e178aef57c12d2d5bf65592cfdd1d020a74bf2840bc58650590713a35
+ languageName: node
+ linkType: hard
+
"prelude-ls@npm:^1.2.1":
version: 1.2.1
resolution: "prelude-ls@npm:1.2.1"
@@ -8893,7 +9035,7 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
-"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2":
+"prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2":
version: 15.7.2
resolution: "prop-types@npm:15.7.2"
dependencies:
@@ -10566,6 +10708,15 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"style-loader@npm:^3.3.0":
+ version: 3.3.0
+ resolution: "style-loader@npm:3.3.0"
+ peerDependencies:
+ webpack: ^5.0.0
+ checksum: edad553a1ae74af9afb4dd582774d484e8e4e5f8c9593a921b0f3f0e2cdb3a58c4b44a3afb43021956804042eaffd68d5dc4f956d4c5f633e7e67eda6a750042
+ languageName: node
+ linkType: hard
+
"styled-components@npm:^5.3.1":
version: 5.3.1
resolution: "styled-components@npm:5.3.1"
@@ -11345,7 +11496,7 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
-"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1":
+"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1":
version: 1.0.2
resolution: "util-deprecate@npm:1.0.2"
checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2