├── .gitignore
├── .npmignore
├── .travis.yml
├── LICENSE.md
├── README.md
├── package-lock.json
├── package.json
├── rollup.config.js
├── src
├── ReactSimpleImageViewer.tsx
├── index.ts
└── styles.module.css
├── tsconfig.json
└── tslint.json
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /dist
3 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | /src
2 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "node"
4 | script: 'true'
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Alexander Tarasov
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React Simple Image Viewer
2 |
3 | [](https://badge.fury.io/js/react-simple-image-viewer)
4 | [](https://travis-ci.org/specter256/react-simple-image-viewer)
5 |
6 | Simple image viewer component for React.
7 |
8 | # Installation
9 |
10 | ```shell
11 | $ npm install react-simple-image-viewer
12 | ```
13 | or
14 | ```shell
15 | $ yarn add react-simple-image-viewer
16 | ```
17 |
18 | # Example
19 |
20 | ```jsx
21 | import React, { useState, useCallback } from 'react';
22 | import { render } from 'react-dom';
23 | import ImageViewer from 'react-simple-image-viewer';
24 |
25 | function App() {
26 | const [currentImage, setCurrentImage] = useState(0);
27 | const [isViewerOpen, setIsViewerOpen] = useState(false);
28 | const images = [
29 | 'http://placeimg.com/1200/800/nature',
30 | 'http://placeimg.com/800/1200/nature',
31 | 'http://placeimg.com/1920/1080/nature',
32 | 'http://placeimg.com/1500/500/nature',
33 | ];
34 |
35 | const openImageViewer = useCallback((index) => {
36 | setCurrentImage(index);
37 | setIsViewerOpen(true);
38 | }, []);
39 |
40 | const closeImageViewer = () => {
41 | setCurrentImage(0);
42 | setIsViewerOpen(false);
43 | };
44 |
45 | return (
46 |
47 | {images.map((src, index) => (
48 |

openImageViewer(index) }
51 | width="300"
52 | key={ index }
53 | style={{ margin: '2px' }}
54 | alt=""
55 | />
56 | ))}
57 |
58 | {isViewerOpen && (
59 |
66 | )}
67 |
68 | );
69 | }
70 |
71 | render(, document.getElementById('app'));
72 | ```
73 |
74 | # Demo
75 |
76 | [Try out demo on CodeSandbox](https://codesandbox.io/s/react-simple-image-viewer-demo-4itlr)
77 |
78 | # API
79 |
80 | | Property | Type | Description |
81 | | :-------------- | :-------- | :-------------------------------------------------------------------------------- |
82 | | src | string[] | Array of image URLs |
83 | | currentIndex | number | Index of image in `src` property which will be shown first when viewer is opened |
84 | | onClose | function | Callback which will be called when viewer will closed |
85 | | backgroundStyle | object | Custom styles for background of modal window |
86 | | disableScroll | boolean | Disable scrolling images by mouse wheel |
87 | | closeOnClickOutside | boolean | Whether viewer should be closed when clicking outside of image |
88 | | closeComponent | JSX.Element | Custom component for the close button |
89 | | leftArrowComponent | JSX.Element | Custom component for the left arrow |
90 | | rightArrowComponent | JSX.Element | Custom component for the right arrow |
91 |
92 | # Shortcuts
93 |
94 | | Shortcut | Description |
95 | | :-------------- | :------------------------------ |
96 | | Escape | Close the viewer |
97 | | Right Arrow / l | Next image |
98 | | Left Arrow / h | Previous image |
99 | | Mouse wheel | Scrolling previous / next image |
100 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-simple-image-viewer",
3 | "version": "1.2.2",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "react-simple-image-viewer",
9 | "version": "1.2.2",
10 | "license": "MIT",
11 | "devDependencies": {
12 | "@rollup/plugin-typescript": "^8.3.2",
13 | "@types/css-modules": "^1.0.2",
14 | "@types/react": "^18.0.12",
15 | "@types/react-dom": "^18.0.5",
16 | "postcss": "^8.4.14",
17 | "react": "^18.1.0",
18 | "react-dom": "^18.1.0",
19 | "rollup": "^2.75.5",
20 | "rollup-plugin-postcss": "^4.0.2",
21 | "tslib": "^2.4.0",
22 | "typescript": "^4.7.3"
23 | },
24 | "peerDependencies": {
25 | "react": "^18.1.0",
26 | "react-dom": "^18.1.0"
27 | }
28 | },
29 | "node_modules/@babel/code-frame": {
30 | "version": "7.10.4",
31 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
32 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
33 | "dev": true,
34 | "dependencies": {
35 | "@babel/highlight": "^7.10.4"
36 | }
37 | },
38 | "node_modules/@babel/helper-validator-identifier": {
39 | "version": "7.10.4",
40 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
41 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
42 | "dev": true
43 | },
44 | "node_modules/@babel/highlight": {
45 | "version": "7.10.4",
46 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
47 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
48 | "dev": true,
49 | "dependencies": {
50 | "@babel/helper-validator-identifier": "^7.10.4",
51 | "chalk": "^2.0.0",
52 | "js-tokens": "^4.0.0"
53 | }
54 | },
55 | "node_modules/@rollup/plugin-typescript": {
56 | "version": "8.3.2",
57 | "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.2.tgz",
58 | "integrity": "sha512-MtgyR5LNHZr3GyN0tM7gNO9D0CS+Y+vflS4v/PHmrX17JCkHUYKvQ5jN5o3cz1YKllM3duXUqu3yOHwMPUxhDg==",
59 | "dev": true,
60 | "dependencies": {
61 | "@rollup/pluginutils": "^3.1.0",
62 | "resolve": "^1.17.0"
63 | },
64 | "engines": {
65 | "node": ">=8.0.0"
66 | },
67 | "peerDependencies": {
68 | "rollup": "^2.14.0",
69 | "tslib": "*",
70 | "typescript": ">=3.7.0"
71 | }
72 | },
73 | "node_modules/@rollup/pluginutils": {
74 | "version": "3.1.0",
75 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
76 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
77 | "dev": true,
78 | "dependencies": {
79 | "@types/estree": "0.0.39",
80 | "estree-walker": "^1.0.1",
81 | "picomatch": "^2.2.2"
82 | },
83 | "engines": {
84 | "node": ">= 8.0.0"
85 | },
86 | "peerDependencies": {
87 | "rollup": "^1.20.0||^2.0.0"
88 | }
89 | },
90 | "node_modules/@trysound/sax": {
91 | "version": "0.2.0",
92 | "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
93 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
94 | "dev": true,
95 | "engines": {
96 | "node": ">=10.13.0"
97 | }
98 | },
99 | "node_modules/@types/css-modules": {
100 | "version": "1.0.2",
101 | "resolved": "https://registry.npmjs.org/@types/css-modules/-/css-modules-1.0.2.tgz",
102 | "integrity": "sha512-tyqlt2GtEBdsxJylh78zSxI/kOJK5Iz8Ta4Fxr8KLTP8mD/IgMa84D8EKPS/AWCp+MDoctgJyikrVWY28GKmcg==",
103 | "dev": true
104 | },
105 | "node_modules/@types/estree": {
106 | "version": "0.0.39",
107 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
108 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
109 | "dev": true
110 | },
111 | "node_modules/@types/parse-json": {
112 | "version": "4.0.0",
113 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
114 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
115 | "dev": true
116 | },
117 | "node_modules/@types/prop-types": {
118 | "version": "15.7.3",
119 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz",
120 | "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==",
121 | "dev": true
122 | },
123 | "node_modules/@types/react": {
124 | "version": "18.0.12",
125 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.12.tgz",
126 | "integrity": "sha512-duF1OTASSBQtcigUvhuiTB1Ya3OvSy+xORCiEf20H0P0lzx+/KeVsA99U5UjLXSbyo1DRJDlLKqTeM1ngosqtg==",
127 | "dev": true,
128 | "dependencies": {
129 | "@types/prop-types": "*",
130 | "@types/scheduler": "*",
131 | "csstype": "^3.0.2"
132 | }
133 | },
134 | "node_modules/@types/react-dom": {
135 | "version": "18.0.5",
136 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz",
137 | "integrity": "sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==",
138 | "dev": true,
139 | "dependencies": {
140 | "@types/react": "*"
141 | }
142 | },
143 | "node_modules/@types/scheduler": {
144 | "version": "0.16.1",
145 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz",
146 | "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==",
147 | "dev": true
148 | },
149 | "node_modules/ansi-styles": {
150 | "version": "3.2.1",
151 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
152 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
153 | "dev": true,
154 | "dependencies": {
155 | "color-convert": "^1.9.0"
156 | },
157 | "engines": {
158 | "node": ">=4"
159 | }
160 | },
161 | "node_modules/boolbase": {
162 | "version": "1.0.0",
163 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
164 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
165 | "dev": true
166 | },
167 | "node_modules/browserslist": {
168 | "version": "4.19.1",
169 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
170 | "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
171 | "dev": true,
172 | "dependencies": {
173 | "caniuse-lite": "^1.0.30001286",
174 | "electron-to-chromium": "^1.4.17",
175 | "escalade": "^3.1.1",
176 | "node-releases": "^2.0.1",
177 | "picocolors": "^1.0.0"
178 | },
179 | "bin": {
180 | "browserslist": "cli.js"
181 | },
182 | "engines": {
183 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
184 | },
185 | "funding": {
186 | "type": "opencollective",
187 | "url": "https://opencollective.com/browserslist"
188 | }
189 | },
190 | "node_modules/caniuse-api": {
191 | "version": "3.0.0",
192 | "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
193 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
194 | "dev": true,
195 | "dependencies": {
196 | "browserslist": "^4.0.0",
197 | "caniuse-lite": "^1.0.0",
198 | "lodash.memoize": "^4.1.2",
199 | "lodash.uniq": "^4.5.0"
200 | }
201 | },
202 | "node_modules/caniuse-lite": {
203 | "version": "1.0.30001312",
204 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz",
205 | "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==",
206 | "dev": true,
207 | "funding": {
208 | "type": "opencollective",
209 | "url": "https://opencollective.com/browserslist"
210 | }
211 | },
212 | "node_modules/chalk": {
213 | "version": "2.4.2",
214 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
215 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
216 | "dev": true,
217 | "dependencies": {
218 | "ansi-styles": "^3.2.1",
219 | "escape-string-regexp": "^1.0.5",
220 | "supports-color": "^5.3.0"
221 | },
222 | "engines": {
223 | "node": ">=4"
224 | }
225 | },
226 | "node_modules/color-convert": {
227 | "version": "1.9.3",
228 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
229 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
230 | "dev": true,
231 | "dependencies": {
232 | "color-name": "1.1.3"
233 | }
234 | },
235 | "node_modules/color-name": {
236 | "version": "1.1.3",
237 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
238 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
239 | "dev": true
240 | },
241 | "node_modules/colord": {
242 | "version": "2.9.2",
243 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
244 | "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
245 | "dev": true
246 | },
247 | "node_modules/commander": {
248 | "version": "7.2.0",
249 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
250 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
251 | "dev": true,
252 | "engines": {
253 | "node": ">= 10"
254 | }
255 | },
256 | "node_modules/concat-with-sourcemaps": {
257 | "version": "1.1.0",
258 | "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
259 | "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
260 | "dev": true,
261 | "dependencies": {
262 | "source-map": "^0.6.1"
263 | }
264 | },
265 | "node_modules/css-declaration-sorter": {
266 | "version": "6.1.4",
267 | "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz",
268 | "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==",
269 | "dev": true,
270 | "dependencies": {
271 | "timsort": "^0.3.0"
272 | },
273 | "engines": {
274 | "node": ">= 10"
275 | },
276 | "peerDependencies": {
277 | "postcss": "^8.0.9"
278 | }
279 | },
280 | "node_modules/css-select": {
281 | "version": "4.2.1",
282 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz",
283 | "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==",
284 | "dev": true,
285 | "dependencies": {
286 | "boolbase": "^1.0.0",
287 | "css-what": "^5.1.0",
288 | "domhandler": "^4.3.0",
289 | "domutils": "^2.8.0",
290 | "nth-check": "^2.0.1"
291 | },
292 | "funding": {
293 | "url": "https://github.com/sponsors/fb55"
294 | }
295 | },
296 | "node_modules/css-tree": {
297 | "version": "1.1.3",
298 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
299 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
300 | "dev": true,
301 | "dependencies": {
302 | "mdn-data": "2.0.14",
303 | "source-map": "^0.6.1"
304 | },
305 | "engines": {
306 | "node": ">=8.0.0"
307 | }
308 | },
309 | "node_modules/css-what": {
310 | "version": "5.1.0",
311 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz",
312 | "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==",
313 | "dev": true,
314 | "engines": {
315 | "node": ">= 6"
316 | },
317 | "funding": {
318 | "url": "https://github.com/sponsors/fb55"
319 | }
320 | },
321 | "node_modules/cssesc": {
322 | "version": "3.0.0",
323 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
324 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
325 | "dev": true,
326 | "bin": {
327 | "cssesc": "bin/cssesc"
328 | },
329 | "engines": {
330 | "node": ">=4"
331 | }
332 | },
333 | "node_modules/cssnano": {
334 | "version": "5.0.17",
335 | "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.17.tgz",
336 | "integrity": "sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw==",
337 | "dev": true,
338 | "dependencies": {
339 | "cssnano-preset-default": "^5.1.12",
340 | "lilconfig": "^2.0.3",
341 | "yaml": "^1.10.2"
342 | },
343 | "engines": {
344 | "node": "^10 || ^12 || >=14.0"
345 | },
346 | "funding": {
347 | "type": "opencollective",
348 | "url": "https://opencollective.com/cssnano"
349 | },
350 | "peerDependencies": {
351 | "postcss": "^8.2.15"
352 | }
353 | },
354 | "node_modules/cssnano-preset-default": {
355 | "version": "5.1.12",
356 | "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz",
357 | "integrity": "sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w==",
358 | "dev": true,
359 | "dependencies": {
360 | "css-declaration-sorter": "^6.0.3",
361 | "cssnano-utils": "^3.0.2",
362 | "postcss-calc": "^8.2.0",
363 | "postcss-colormin": "^5.2.5",
364 | "postcss-convert-values": "^5.0.4",
365 | "postcss-discard-comments": "^5.0.3",
366 | "postcss-discard-duplicates": "^5.0.3",
367 | "postcss-discard-empty": "^5.0.3",
368 | "postcss-discard-overridden": "^5.0.4",
369 | "postcss-merge-longhand": "^5.0.6",
370 | "postcss-merge-rules": "^5.0.6",
371 | "postcss-minify-font-values": "^5.0.4",
372 | "postcss-minify-gradients": "^5.0.6",
373 | "postcss-minify-params": "^5.0.5",
374 | "postcss-minify-selectors": "^5.1.3",
375 | "postcss-normalize-charset": "^5.0.3",
376 | "postcss-normalize-display-values": "^5.0.3",
377 | "postcss-normalize-positions": "^5.0.4",
378 | "postcss-normalize-repeat-style": "^5.0.4",
379 | "postcss-normalize-string": "^5.0.4",
380 | "postcss-normalize-timing-functions": "^5.0.3",
381 | "postcss-normalize-unicode": "^5.0.4",
382 | "postcss-normalize-url": "^5.0.5",
383 | "postcss-normalize-whitespace": "^5.0.4",
384 | "postcss-ordered-values": "^5.0.5",
385 | "postcss-reduce-initial": "^5.0.3",
386 | "postcss-reduce-transforms": "^5.0.4",
387 | "postcss-svgo": "^5.0.4",
388 | "postcss-unique-selectors": "^5.0.4"
389 | },
390 | "engines": {
391 | "node": "^10 || ^12 || >=14.0"
392 | },
393 | "peerDependencies": {
394 | "postcss": "^8.2.15"
395 | }
396 | },
397 | "node_modules/cssnano-utils": {
398 | "version": "3.0.2",
399 | "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.2.tgz",
400 | "integrity": "sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ==",
401 | "dev": true,
402 | "engines": {
403 | "node": "^10 || ^12 || >=14.0"
404 | },
405 | "peerDependencies": {
406 | "postcss": "^8.2.15"
407 | }
408 | },
409 | "node_modules/csso": {
410 | "version": "4.2.0",
411 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
412 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
413 | "dev": true,
414 | "dependencies": {
415 | "css-tree": "^1.1.2"
416 | },
417 | "engines": {
418 | "node": ">=8.0.0"
419 | }
420 | },
421 | "node_modules/csstype": {
422 | "version": "3.0.8",
423 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
424 | "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==",
425 | "dev": true
426 | },
427 | "node_modules/dom-serializer": {
428 | "version": "1.3.2",
429 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
430 | "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
431 | "dev": true,
432 | "dependencies": {
433 | "domelementtype": "^2.0.1",
434 | "domhandler": "^4.2.0",
435 | "entities": "^2.0.0"
436 | },
437 | "funding": {
438 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
439 | }
440 | },
441 | "node_modules/domelementtype": {
442 | "version": "2.2.0",
443 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
444 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
445 | "dev": true,
446 | "funding": [
447 | {
448 | "type": "github",
449 | "url": "https://github.com/sponsors/fb55"
450 | }
451 | ]
452 | },
453 | "node_modules/domhandler": {
454 | "version": "4.3.0",
455 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
456 | "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
457 | "dev": true,
458 | "dependencies": {
459 | "domelementtype": "^2.2.0"
460 | },
461 | "engines": {
462 | "node": ">= 4"
463 | },
464 | "funding": {
465 | "url": "https://github.com/fb55/domhandler?sponsor=1"
466 | }
467 | },
468 | "node_modules/domutils": {
469 | "version": "2.8.0",
470 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
471 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
472 | "dev": true,
473 | "dependencies": {
474 | "dom-serializer": "^1.0.1",
475 | "domelementtype": "^2.2.0",
476 | "domhandler": "^4.2.0"
477 | },
478 | "funding": {
479 | "url": "https://github.com/fb55/domutils?sponsor=1"
480 | }
481 | },
482 | "node_modules/electron-to-chromium": {
483 | "version": "1.4.68",
484 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.68.tgz",
485 | "integrity": "sha512-cId+QwWrV8R1UawO6b9BR1hnkJ4EJPCPAr4h315vliHUtVUJDk39Sg1PMNnaWKfj5x+93ssjeJ9LKL6r8LaMiA==",
486 | "dev": true
487 | },
488 | "node_modules/entities": {
489 | "version": "2.2.0",
490 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
491 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
492 | "dev": true,
493 | "funding": {
494 | "url": "https://github.com/fb55/entities?sponsor=1"
495 | }
496 | },
497 | "node_modules/error-ex": {
498 | "version": "1.3.2",
499 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
500 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
501 | "dev": true,
502 | "dependencies": {
503 | "is-arrayish": "^0.2.1"
504 | }
505 | },
506 | "node_modules/escalade": {
507 | "version": "3.1.1",
508 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
509 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
510 | "dev": true,
511 | "engines": {
512 | "node": ">=6"
513 | }
514 | },
515 | "node_modules/escape-string-regexp": {
516 | "version": "1.0.5",
517 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
518 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
519 | "dev": true,
520 | "engines": {
521 | "node": ">=0.8.0"
522 | }
523 | },
524 | "node_modules/estree-walker": {
525 | "version": "1.0.1",
526 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
527 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
528 | "dev": true
529 | },
530 | "node_modules/eventemitter3": {
531 | "version": "4.0.7",
532 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
533 | "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
534 | "dev": true
535 | },
536 | "node_modules/fsevents": {
537 | "version": "2.3.2",
538 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
539 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
540 | "dev": true,
541 | "hasInstallScript": true,
542 | "optional": true,
543 | "os": [
544 | "darwin"
545 | ],
546 | "engines": {
547 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
548 | }
549 | },
550 | "node_modules/function-bind": {
551 | "version": "1.1.1",
552 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
553 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
554 | "dev": true
555 | },
556 | "node_modules/generic-names": {
557 | "version": "4.0.0",
558 | "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz",
559 | "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==",
560 | "dev": true,
561 | "dependencies": {
562 | "loader-utils": "^3.2.0"
563 | }
564 | },
565 | "node_modules/has": {
566 | "version": "1.0.3",
567 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
568 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
569 | "dev": true,
570 | "dependencies": {
571 | "function-bind": "^1.1.1"
572 | },
573 | "engines": {
574 | "node": ">= 0.4.0"
575 | }
576 | },
577 | "node_modules/has-flag": {
578 | "version": "3.0.0",
579 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
580 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
581 | "dev": true,
582 | "engines": {
583 | "node": ">=4"
584 | }
585 | },
586 | "node_modules/icss-replace-symbols": {
587 | "version": "1.1.0",
588 | "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
589 | "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
590 | "dev": true
591 | },
592 | "node_modules/icss-utils": {
593 | "version": "5.1.0",
594 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
595 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
596 | "dev": true,
597 | "engines": {
598 | "node": "^10 || ^12 || >= 14"
599 | },
600 | "peerDependencies": {
601 | "postcss": "^8.1.0"
602 | }
603 | },
604 | "node_modules/import-cwd": {
605 | "version": "3.0.0",
606 | "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
607 | "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
608 | "dev": true,
609 | "dependencies": {
610 | "import-from": "^3.0.0"
611 | },
612 | "engines": {
613 | "node": ">=8"
614 | }
615 | },
616 | "node_modules/import-from": {
617 | "version": "3.0.0",
618 | "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
619 | "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
620 | "dev": true,
621 | "dependencies": {
622 | "resolve-from": "^5.0.0"
623 | },
624 | "engines": {
625 | "node": ">=8"
626 | }
627 | },
628 | "node_modules/import-from/node_modules/resolve-from": {
629 | "version": "5.0.0",
630 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
631 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
632 | "dev": true,
633 | "engines": {
634 | "node": ">=8"
635 | }
636 | },
637 | "node_modules/is-arrayish": {
638 | "version": "0.2.1",
639 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
640 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
641 | "dev": true
642 | },
643 | "node_modules/is-core-module": {
644 | "version": "2.4.0",
645 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
646 | "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
647 | "dev": true,
648 | "dependencies": {
649 | "has": "^1.0.3"
650 | },
651 | "funding": {
652 | "url": "https://github.com/sponsors/ljharb"
653 | }
654 | },
655 | "node_modules/js-tokens": {
656 | "version": "4.0.0",
657 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
658 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
659 | "dev": true
660 | },
661 | "node_modules/json-parse-even-better-errors": {
662 | "version": "2.3.1",
663 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
664 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
665 | "dev": true
666 | },
667 | "node_modules/lilconfig": {
668 | "version": "2.0.4",
669 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
670 | "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==",
671 | "dev": true,
672 | "engines": {
673 | "node": ">=10"
674 | }
675 | },
676 | "node_modules/lines-and-columns": {
677 | "version": "1.1.6",
678 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
679 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
680 | "dev": true
681 | },
682 | "node_modules/loader-utils": {
683 | "version": "3.2.1",
684 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz",
685 | "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==",
686 | "dev": true,
687 | "engines": {
688 | "node": ">= 12.13.0"
689 | }
690 | },
691 | "node_modules/lodash.camelcase": {
692 | "version": "4.3.0",
693 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
694 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
695 | "dev": true
696 | },
697 | "node_modules/lodash.memoize": {
698 | "version": "4.1.2",
699 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
700 | "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
701 | "dev": true
702 | },
703 | "node_modules/lodash.uniq": {
704 | "version": "4.5.0",
705 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
706 | "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
707 | "dev": true
708 | },
709 | "node_modules/loose-envify": {
710 | "version": "1.4.0",
711 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
712 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
713 | "dev": true,
714 | "dependencies": {
715 | "js-tokens": "^3.0.0 || ^4.0.0"
716 | },
717 | "bin": {
718 | "loose-envify": "cli.js"
719 | }
720 | },
721 | "node_modules/mdn-data": {
722 | "version": "2.0.14",
723 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
724 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
725 | "dev": true
726 | },
727 | "node_modules/nanoid": {
728 | "version": "3.3.7",
729 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
730 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
731 | "dev": true,
732 | "funding": [
733 | {
734 | "type": "github",
735 | "url": "https://github.com/sponsors/ai"
736 | }
737 | ],
738 | "bin": {
739 | "nanoid": "bin/nanoid.cjs"
740 | },
741 | "engines": {
742 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
743 | }
744 | },
745 | "node_modules/node-releases": {
746 | "version": "2.0.2",
747 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
748 | "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
749 | "dev": true
750 | },
751 | "node_modules/normalize-url": {
752 | "version": "6.1.0",
753 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
754 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
755 | "dev": true,
756 | "engines": {
757 | "node": ">=10"
758 | },
759 | "funding": {
760 | "url": "https://github.com/sponsors/sindresorhus"
761 | }
762 | },
763 | "node_modules/nth-check": {
764 | "version": "2.0.1",
765 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
766 | "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
767 | "dev": true,
768 | "dependencies": {
769 | "boolbase": "^1.0.0"
770 | },
771 | "funding": {
772 | "url": "https://github.com/fb55/nth-check?sponsor=1"
773 | }
774 | },
775 | "node_modules/p-finally": {
776 | "version": "1.0.0",
777 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
778 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
779 | "dev": true,
780 | "engines": {
781 | "node": ">=4"
782 | }
783 | },
784 | "node_modules/p-queue": {
785 | "version": "6.6.2",
786 | "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz",
787 | "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==",
788 | "dev": true,
789 | "dependencies": {
790 | "eventemitter3": "^4.0.4",
791 | "p-timeout": "^3.2.0"
792 | },
793 | "engines": {
794 | "node": ">=8"
795 | },
796 | "funding": {
797 | "url": "https://github.com/sponsors/sindresorhus"
798 | }
799 | },
800 | "node_modules/p-timeout": {
801 | "version": "3.2.0",
802 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
803 | "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
804 | "dev": true,
805 | "dependencies": {
806 | "p-finally": "^1.0.0"
807 | },
808 | "engines": {
809 | "node": ">=8"
810 | }
811 | },
812 | "node_modules/parent-module": {
813 | "version": "1.0.1",
814 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
815 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
816 | "dev": true,
817 | "dependencies": {
818 | "callsites": "^3.0.0"
819 | },
820 | "engines": {
821 | "node": ">=6"
822 | }
823 | },
824 | "node_modules/parent-module/node_modules/callsites": {
825 | "version": "3.1.0",
826 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
827 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
828 | "dev": true,
829 | "engines": {
830 | "node": ">=6"
831 | }
832 | },
833 | "node_modules/path-parse": {
834 | "version": "1.0.7",
835 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
836 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
837 | "dev": true
838 | },
839 | "node_modules/path-type": {
840 | "version": "4.0.0",
841 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
842 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
843 | "dev": true,
844 | "engines": {
845 | "node": ">=8"
846 | }
847 | },
848 | "node_modules/picocolors": {
849 | "version": "1.0.0",
850 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
851 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
852 | "dev": true
853 | },
854 | "node_modules/picomatch": {
855 | "version": "2.3.0",
856 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
857 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
858 | "dev": true,
859 | "engines": {
860 | "node": ">=8.6"
861 | },
862 | "funding": {
863 | "url": "https://github.com/sponsors/jonschlinkert"
864 | }
865 | },
866 | "node_modules/pify": {
867 | "version": "5.0.0",
868 | "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz",
869 | "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==",
870 | "dev": true,
871 | "engines": {
872 | "node": ">=10"
873 | },
874 | "funding": {
875 | "url": "https://github.com/sponsors/sindresorhus"
876 | }
877 | },
878 | "node_modules/postcss": {
879 | "version": "8.4.31",
880 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
881 | "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
882 | "dev": true,
883 | "funding": [
884 | {
885 | "type": "opencollective",
886 | "url": "https://opencollective.com/postcss/"
887 | },
888 | {
889 | "type": "tidelift",
890 | "url": "https://tidelift.com/funding/github/npm/postcss"
891 | },
892 | {
893 | "type": "github",
894 | "url": "https://github.com/sponsors/ai"
895 | }
896 | ],
897 | "dependencies": {
898 | "nanoid": "^3.3.6",
899 | "picocolors": "^1.0.0",
900 | "source-map-js": "^1.0.2"
901 | },
902 | "engines": {
903 | "node": "^10 || ^12 || >=14"
904 | }
905 | },
906 | "node_modules/postcss-calc": {
907 | "version": "8.2.4",
908 | "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
909 | "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
910 | "dev": true,
911 | "dependencies": {
912 | "postcss-selector-parser": "^6.0.9",
913 | "postcss-value-parser": "^4.2.0"
914 | },
915 | "peerDependencies": {
916 | "postcss": "^8.2.2"
917 | }
918 | },
919 | "node_modules/postcss-colormin": {
920 | "version": "5.2.5",
921 | "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.5.tgz",
922 | "integrity": "sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg==",
923 | "dev": true,
924 | "dependencies": {
925 | "browserslist": "^4.16.6",
926 | "caniuse-api": "^3.0.0",
927 | "colord": "^2.9.1",
928 | "postcss-value-parser": "^4.2.0"
929 | },
930 | "engines": {
931 | "node": "^10 || ^12 || >=14.0"
932 | },
933 | "peerDependencies": {
934 | "postcss": "^8.2.15"
935 | }
936 | },
937 | "node_modules/postcss-convert-values": {
938 | "version": "5.0.4",
939 | "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz",
940 | "integrity": "sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw==",
941 | "dev": true,
942 | "dependencies": {
943 | "postcss-value-parser": "^4.2.0"
944 | },
945 | "engines": {
946 | "node": "^10 || ^12 || >=14.0"
947 | },
948 | "peerDependencies": {
949 | "postcss": "^8.2.15"
950 | }
951 | },
952 | "node_modules/postcss-discard-comments": {
953 | "version": "5.0.3",
954 | "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz",
955 | "integrity": "sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q==",
956 | "dev": true,
957 | "engines": {
958 | "node": "^10 || ^12 || >=14.0"
959 | },
960 | "peerDependencies": {
961 | "postcss": "^8.2.15"
962 | }
963 | },
964 | "node_modules/postcss-discard-duplicates": {
965 | "version": "5.0.3",
966 | "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz",
967 | "integrity": "sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw==",
968 | "dev": true,
969 | "engines": {
970 | "node": "^10 || ^12 || >=14.0"
971 | },
972 | "peerDependencies": {
973 | "postcss": "^8.2.15"
974 | }
975 | },
976 | "node_modules/postcss-discard-empty": {
977 | "version": "5.0.3",
978 | "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz",
979 | "integrity": "sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA==",
980 | "dev": true,
981 | "engines": {
982 | "node": "^10 || ^12 || >=14.0"
983 | },
984 | "peerDependencies": {
985 | "postcss": "^8.2.15"
986 | }
987 | },
988 | "node_modules/postcss-discard-overridden": {
989 | "version": "5.0.4",
990 | "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz",
991 | "integrity": "sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg==",
992 | "dev": true,
993 | "engines": {
994 | "node": "^10 || ^12 || >=14.0"
995 | },
996 | "peerDependencies": {
997 | "postcss": "^8.2.15"
998 | }
999 | },
1000 | "node_modules/postcss-load-config": {
1001 | "version": "3.0.1",
1002 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.1.tgz",
1003 | "integrity": "sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ==",
1004 | "dev": true,
1005 | "dependencies": {
1006 | "cosmiconfig": "^7.0.0",
1007 | "import-cwd": "^3.0.0"
1008 | },
1009 | "engines": {
1010 | "node": ">= 10"
1011 | },
1012 | "funding": {
1013 | "type": "opencollective",
1014 | "url": "https://opencollective.com/postcss/"
1015 | }
1016 | },
1017 | "node_modules/postcss-load-config/node_modules/cosmiconfig": {
1018 | "version": "7.0.0",
1019 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
1020 | "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
1021 | "dev": true,
1022 | "dependencies": {
1023 | "@types/parse-json": "^4.0.0",
1024 | "import-fresh": "^3.2.1",
1025 | "parse-json": "^5.0.0",
1026 | "path-type": "^4.0.0",
1027 | "yaml": "^1.10.0"
1028 | },
1029 | "engines": {
1030 | "node": ">=10"
1031 | }
1032 | },
1033 | "node_modules/postcss-load-config/node_modules/import-fresh": {
1034 | "version": "3.3.0",
1035 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
1036 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
1037 | "dev": true,
1038 | "dependencies": {
1039 | "parent-module": "^1.0.0",
1040 | "resolve-from": "^4.0.0"
1041 | },
1042 | "engines": {
1043 | "node": ">=6"
1044 | },
1045 | "funding": {
1046 | "url": "https://github.com/sponsors/sindresorhus"
1047 | }
1048 | },
1049 | "node_modules/postcss-load-config/node_modules/parse-json": {
1050 | "version": "5.2.0",
1051 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
1052 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
1053 | "dev": true,
1054 | "dependencies": {
1055 | "@babel/code-frame": "^7.0.0",
1056 | "error-ex": "^1.3.1",
1057 | "json-parse-even-better-errors": "^2.3.0",
1058 | "lines-and-columns": "^1.1.6"
1059 | },
1060 | "engines": {
1061 | "node": ">=8"
1062 | },
1063 | "funding": {
1064 | "url": "https://github.com/sponsors/sindresorhus"
1065 | }
1066 | },
1067 | "node_modules/postcss-load-config/node_modules/resolve-from": {
1068 | "version": "4.0.0",
1069 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1070 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1071 | "dev": true,
1072 | "engines": {
1073 | "node": ">=4"
1074 | }
1075 | },
1076 | "node_modules/postcss-merge-longhand": {
1077 | "version": "5.0.6",
1078 | "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz",
1079 | "integrity": "sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg==",
1080 | "dev": true,
1081 | "dependencies": {
1082 | "postcss-value-parser": "^4.2.0",
1083 | "stylehacks": "^5.0.3"
1084 | },
1085 | "engines": {
1086 | "node": "^10 || ^12 || >=14.0"
1087 | },
1088 | "peerDependencies": {
1089 | "postcss": "^8.2.15"
1090 | }
1091 | },
1092 | "node_modules/postcss-merge-rules": {
1093 | "version": "5.0.6",
1094 | "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz",
1095 | "integrity": "sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ==",
1096 | "dev": true,
1097 | "dependencies": {
1098 | "browserslist": "^4.16.6",
1099 | "caniuse-api": "^3.0.0",
1100 | "cssnano-utils": "^3.0.2",
1101 | "postcss-selector-parser": "^6.0.5"
1102 | },
1103 | "engines": {
1104 | "node": "^10 || ^12 || >=14.0"
1105 | },
1106 | "peerDependencies": {
1107 | "postcss": "^8.2.15"
1108 | }
1109 | },
1110 | "node_modules/postcss-minify-font-values": {
1111 | "version": "5.0.4",
1112 | "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz",
1113 | "integrity": "sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA==",
1114 | "dev": true,
1115 | "dependencies": {
1116 | "postcss-value-parser": "^4.2.0"
1117 | },
1118 | "engines": {
1119 | "node": "^10 || ^12 || >=14.0"
1120 | },
1121 | "peerDependencies": {
1122 | "postcss": "^8.2.15"
1123 | }
1124 | },
1125 | "node_modules/postcss-minify-gradients": {
1126 | "version": "5.0.6",
1127 | "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz",
1128 | "integrity": "sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A==",
1129 | "dev": true,
1130 | "dependencies": {
1131 | "colord": "^2.9.1",
1132 | "cssnano-utils": "^3.0.2",
1133 | "postcss-value-parser": "^4.2.0"
1134 | },
1135 | "engines": {
1136 | "node": "^10 || ^12 || >=14.0"
1137 | },
1138 | "peerDependencies": {
1139 | "postcss": "^8.2.15"
1140 | }
1141 | },
1142 | "node_modules/postcss-minify-params": {
1143 | "version": "5.0.5",
1144 | "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz",
1145 | "integrity": "sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg==",
1146 | "dev": true,
1147 | "dependencies": {
1148 | "browserslist": "^4.16.6",
1149 | "cssnano-utils": "^3.0.2",
1150 | "postcss-value-parser": "^4.2.0"
1151 | },
1152 | "engines": {
1153 | "node": "^10 || ^12 || >=14.0"
1154 | },
1155 | "peerDependencies": {
1156 | "postcss": "^8.2.15"
1157 | }
1158 | },
1159 | "node_modules/postcss-minify-selectors": {
1160 | "version": "5.1.3",
1161 | "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz",
1162 | "integrity": "sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ==",
1163 | "dev": true,
1164 | "dependencies": {
1165 | "postcss-selector-parser": "^6.0.5"
1166 | },
1167 | "engines": {
1168 | "node": "^10 || ^12 || >=14.0"
1169 | },
1170 | "peerDependencies": {
1171 | "postcss": "^8.2.15"
1172 | }
1173 | },
1174 | "node_modules/postcss-modules": {
1175 | "version": "4.3.1",
1176 | "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.3.1.tgz",
1177 | "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==",
1178 | "dev": true,
1179 | "dependencies": {
1180 | "generic-names": "^4.0.0",
1181 | "icss-replace-symbols": "^1.1.0",
1182 | "lodash.camelcase": "^4.3.0",
1183 | "postcss-modules-extract-imports": "^3.0.0",
1184 | "postcss-modules-local-by-default": "^4.0.0",
1185 | "postcss-modules-scope": "^3.0.0",
1186 | "postcss-modules-values": "^4.0.0",
1187 | "string-hash": "^1.1.1"
1188 | },
1189 | "peerDependencies": {
1190 | "postcss": "^8.0.0"
1191 | }
1192 | },
1193 | "node_modules/postcss-modules-extract-imports": {
1194 | "version": "3.0.0",
1195 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
1196 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
1197 | "dev": true,
1198 | "engines": {
1199 | "node": "^10 || ^12 || >= 14"
1200 | },
1201 | "peerDependencies": {
1202 | "postcss": "^8.1.0"
1203 | }
1204 | },
1205 | "node_modules/postcss-modules-local-by-default": {
1206 | "version": "4.0.0",
1207 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
1208 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
1209 | "dev": true,
1210 | "dependencies": {
1211 | "icss-utils": "^5.0.0",
1212 | "postcss-selector-parser": "^6.0.2",
1213 | "postcss-value-parser": "^4.1.0"
1214 | },
1215 | "engines": {
1216 | "node": "^10 || ^12 || >= 14"
1217 | },
1218 | "peerDependencies": {
1219 | "postcss": "^8.1.0"
1220 | }
1221 | },
1222 | "node_modules/postcss-modules-scope": {
1223 | "version": "3.0.0",
1224 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
1225 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
1226 | "dev": true,
1227 | "dependencies": {
1228 | "postcss-selector-parser": "^6.0.4"
1229 | },
1230 | "engines": {
1231 | "node": "^10 || ^12 || >= 14"
1232 | },
1233 | "peerDependencies": {
1234 | "postcss": "^8.1.0"
1235 | }
1236 | },
1237 | "node_modules/postcss-modules-values": {
1238 | "version": "4.0.0",
1239 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
1240 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
1241 | "dev": true,
1242 | "dependencies": {
1243 | "icss-utils": "^5.0.0"
1244 | },
1245 | "engines": {
1246 | "node": "^10 || ^12 || >= 14"
1247 | },
1248 | "peerDependencies": {
1249 | "postcss": "^8.1.0"
1250 | }
1251 | },
1252 | "node_modules/postcss-normalize-charset": {
1253 | "version": "5.0.3",
1254 | "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz",
1255 | "integrity": "sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA==",
1256 | "dev": true,
1257 | "engines": {
1258 | "node": "^10 || ^12 || >=14.0"
1259 | },
1260 | "peerDependencies": {
1261 | "postcss": "^8.2.15"
1262 | }
1263 | },
1264 | "node_modules/postcss-normalize-display-values": {
1265 | "version": "5.0.3",
1266 | "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz",
1267 | "integrity": "sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ==",
1268 | "dev": true,
1269 | "dependencies": {
1270 | "postcss-value-parser": "^4.2.0"
1271 | },
1272 | "engines": {
1273 | "node": "^10 || ^12 || >=14.0"
1274 | },
1275 | "peerDependencies": {
1276 | "postcss": "^8.2.15"
1277 | }
1278 | },
1279 | "node_modules/postcss-normalize-positions": {
1280 | "version": "5.0.4",
1281 | "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz",
1282 | "integrity": "sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ==",
1283 | "dev": true,
1284 | "dependencies": {
1285 | "postcss-value-parser": "^4.2.0"
1286 | },
1287 | "engines": {
1288 | "node": "^10 || ^12 || >=14.0"
1289 | },
1290 | "peerDependencies": {
1291 | "postcss": "^8.2.15"
1292 | }
1293 | },
1294 | "node_modules/postcss-normalize-repeat-style": {
1295 | "version": "5.0.4",
1296 | "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz",
1297 | "integrity": "sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA==",
1298 | "dev": true,
1299 | "dependencies": {
1300 | "postcss-value-parser": "^4.2.0"
1301 | },
1302 | "engines": {
1303 | "node": "^10 || ^12 || >=14.0"
1304 | },
1305 | "peerDependencies": {
1306 | "postcss": "^8.2.15"
1307 | }
1308 | },
1309 | "node_modules/postcss-normalize-string": {
1310 | "version": "5.0.4",
1311 | "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz",
1312 | "integrity": "sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ==",
1313 | "dev": true,
1314 | "dependencies": {
1315 | "postcss-value-parser": "^4.2.0"
1316 | },
1317 | "engines": {
1318 | "node": "^10 || ^12 || >=14.0"
1319 | },
1320 | "peerDependencies": {
1321 | "postcss": "^8.2.15"
1322 | }
1323 | },
1324 | "node_modules/postcss-normalize-timing-functions": {
1325 | "version": "5.0.3",
1326 | "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz",
1327 | "integrity": "sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g==",
1328 | "dev": true,
1329 | "dependencies": {
1330 | "postcss-value-parser": "^4.2.0"
1331 | },
1332 | "engines": {
1333 | "node": "^10 || ^12 || >=14.0"
1334 | },
1335 | "peerDependencies": {
1336 | "postcss": "^8.2.15"
1337 | }
1338 | },
1339 | "node_modules/postcss-normalize-unicode": {
1340 | "version": "5.0.4",
1341 | "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz",
1342 | "integrity": "sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig==",
1343 | "dev": true,
1344 | "dependencies": {
1345 | "browserslist": "^4.16.6",
1346 | "postcss-value-parser": "^4.2.0"
1347 | },
1348 | "engines": {
1349 | "node": "^10 || ^12 || >=14.0"
1350 | },
1351 | "peerDependencies": {
1352 | "postcss": "^8.2.15"
1353 | }
1354 | },
1355 | "node_modules/postcss-normalize-url": {
1356 | "version": "5.0.5",
1357 | "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz",
1358 | "integrity": "sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ==",
1359 | "dev": true,
1360 | "dependencies": {
1361 | "normalize-url": "^6.0.1",
1362 | "postcss-value-parser": "^4.2.0"
1363 | },
1364 | "engines": {
1365 | "node": "^10 || ^12 || >=14.0"
1366 | },
1367 | "peerDependencies": {
1368 | "postcss": "^8.2.15"
1369 | }
1370 | },
1371 | "node_modules/postcss-normalize-whitespace": {
1372 | "version": "5.0.4",
1373 | "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz",
1374 | "integrity": "sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw==",
1375 | "dev": true,
1376 | "dependencies": {
1377 | "postcss-value-parser": "^4.2.0"
1378 | },
1379 | "engines": {
1380 | "node": "^10 || ^12 || >=14.0"
1381 | },
1382 | "peerDependencies": {
1383 | "postcss": "^8.2.15"
1384 | }
1385 | },
1386 | "node_modules/postcss-ordered-values": {
1387 | "version": "5.0.5",
1388 | "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz",
1389 | "integrity": "sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ==",
1390 | "dev": true,
1391 | "dependencies": {
1392 | "cssnano-utils": "^3.0.2",
1393 | "postcss-value-parser": "^4.2.0"
1394 | },
1395 | "engines": {
1396 | "node": "^10 || ^12 || >=14.0"
1397 | },
1398 | "peerDependencies": {
1399 | "postcss": "^8.2.15"
1400 | }
1401 | },
1402 | "node_modules/postcss-reduce-initial": {
1403 | "version": "5.0.3",
1404 | "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz",
1405 | "integrity": "sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA==",
1406 | "dev": true,
1407 | "dependencies": {
1408 | "browserslist": "^4.16.6",
1409 | "caniuse-api": "^3.0.0"
1410 | },
1411 | "engines": {
1412 | "node": "^10 || ^12 || >=14.0"
1413 | },
1414 | "peerDependencies": {
1415 | "postcss": "^8.2.15"
1416 | }
1417 | },
1418 | "node_modules/postcss-reduce-transforms": {
1419 | "version": "5.0.4",
1420 | "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz",
1421 | "integrity": "sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g==",
1422 | "dev": true,
1423 | "dependencies": {
1424 | "postcss-value-parser": "^4.2.0"
1425 | },
1426 | "engines": {
1427 | "node": "^10 || ^12 || >=14.0"
1428 | },
1429 | "peerDependencies": {
1430 | "postcss": "^8.2.15"
1431 | }
1432 | },
1433 | "node_modules/postcss-selector-parser": {
1434 | "version": "6.0.9",
1435 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
1436 | "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
1437 | "dev": true,
1438 | "dependencies": {
1439 | "cssesc": "^3.0.0",
1440 | "util-deprecate": "^1.0.2"
1441 | },
1442 | "engines": {
1443 | "node": ">=4"
1444 | }
1445 | },
1446 | "node_modules/postcss-svgo": {
1447 | "version": "5.0.4",
1448 | "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.4.tgz",
1449 | "integrity": "sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg==",
1450 | "dev": true,
1451 | "dependencies": {
1452 | "postcss-value-parser": "^4.2.0",
1453 | "svgo": "^2.7.0"
1454 | },
1455 | "engines": {
1456 | "node": "^10 || ^12 || >=14.0"
1457 | },
1458 | "peerDependencies": {
1459 | "postcss": "^8.2.15"
1460 | }
1461 | },
1462 | "node_modules/postcss-unique-selectors": {
1463 | "version": "5.0.4",
1464 | "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz",
1465 | "integrity": "sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ==",
1466 | "dev": true,
1467 | "dependencies": {
1468 | "postcss-selector-parser": "^6.0.5"
1469 | },
1470 | "engines": {
1471 | "node": "^10 || ^12 || >=14.0"
1472 | },
1473 | "peerDependencies": {
1474 | "postcss": "^8.2.15"
1475 | }
1476 | },
1477 | "node_modules/postcss-value-parser": {
1478 | "version": "4.2.0",
1479 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
1480 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
1481 | "dev": true
1482 | },
1483 | "node_modules/promise.series": {
1484 | "version": "0.2.0",
1485 | "resolved": "https://registry.npmjs.org/promise.series/-/promise.series-0.2.0.tgz",
1486 | "integrity": "sha1-LMfr6Vn8OmYZwEq029yeRS2GS70=",
1487 | "dev": true,
1488 | "engines": {
1489 | "node": ">=0.12"
1490 | }
1491 | },
1492 | "node_modules/react": {
1493 | "version": "18.1.0",
1494 | "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz",
1495 | "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==",
1496 | "dev": true,
1497 | "dependencies": {
1498 | "loose-envify": "^1.1.0"
1499 | },
1500 | "engines": {
1501 | "node": ">=0.10.0"
1502 | }
1503 | },
1504 | "node_modules/react-dom": {
1505 | "version": "18.1.0",
1506 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz",
1507 | "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==",
1508 | "dev": true,
1509 | "dependencies": {
1510 | "loose-envify": "^1.1.0",
1511 | "scheduler": "^0.22.0"
1512 | },
1513 | "peerDependencies": {
1514 | "react": "^18.1.0"
1515 | }
1516 | },
1517 | "node_modules/resolve": {
1518 | "version": "1.20.0",
1519 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
1520 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
1521 | "dev": true,
1522 | "dependencies": {
1523 | "is-core-module": "^2.2.0",
1524 | "path-parse": "^1.0.6"
1525 | },
1526 | "funding": {
1527 | "url": "https://github.com/sponsors/ljharb"
1528 | }
1529 | },
1530 | "node_modules/rollup": {
1531 | "version": "2.75.5",
1532 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.5.tgz",
1533 | "integrity": "sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA==",
1534 | "dev": true,
1535 | "bin": {
1536 | "rollup": "dist/bin/rollup"
1537 | },
1538 | "engines": {
1539 | "node": ">=10.0.0"
1540 | },
1541 | "optionalDependencies": {
1542 | "fsevents": "~2.3.2"
1543 | }
1544 | },
1545 | "node_modules/rollup-plugin-postcss": {
1546 | "version": "4.0.2",
1547 | "resolved": "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.2.tgz",
1548 | "integrity": "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==",
1549 | "dev": true,
1550 | "dependencies": {
1551 | "chalk": "^4.1.0",
1552 | "concat-with-sourcemaps": "^1.1.0",
1553 | "cssnano": "^5.0.1",
1554 | "import-cwd": "^3.0.0",
1555 | "p-queue": "^6.6.2",
1556 | "pify": "^5.0.0",
1557 | "postcss-load-config": "^3.0.0",
1558 | "postcss-modules": "^4.0.0",
1559 | "promise.series": "^0.2.0",
1560 | "resolve": "^1.19.0",
1561 | "rollup-pluginutils": "^2.8.2",
1562 | "safe-identifier": "^0.4.2",
1563 | "style-inject": "^0.3.0"
1564 | },
1565 | "engines": {
1566 | "node": ">=10"
1567 | },
1568 | "peerDependencies": {
1569 | "postcss": "8.x"
1570 | }
1571 | },
1572 | "node_modules/rollup-plugin-postcss/node_modules/ansi-styles": {
1573 | "version": "4.3.0",
1574 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1575 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1576 | "dev": true,
1577 | "dependencies": {
1578 | "color-convert": "^2.0.1"
1579 | },
1580 | "engines": {
1581 | "node": ">=8"
1582 | },
1583 | "funding": {
1584 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1585 | }
1586 | },
1587 | "node_modules/rollup-plugin-postcss/node_modules/chalk": {
1588 | "version": "4.1.1",
1589 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
1590 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
1591 | "dev": true,
1592 | "dependencies": {
1593 | "ansi-styles": "^4.1.0",
1594 | "supports-color": "^7.1.0"
1595 | },
1596 | "engines": {
1597 | "node": ">=10"
1598 | },
1599 | "funding": {
1600 | "url": "https://github.com/chalk/chalk?sponsor=1"
1601 | }
1602 | },
1603 | "node_modules/rollup-plugin-postcss/node_modules/color-convert": {
1604 | "version": "2.0.1",
1605 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1606 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1607 | "dev": true,
1608 | "dependencies": {
1609 | "color-name": "~1.1.4"
1610 | },
1611 | "engines": {
1612 | "node": ">=7.0.0"
1613 | }
1614 | },
1615 | "node_modules/rollup-plugin-postcss/node_modules/color-name": {
1616 | "version": "1.1.4",
1617 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1618 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1619 | "dev": true
1620 | },
1621 | "node_modules/rollup-plugin-postcss/node_modules/has-flag": {
1622 | "version": "4.0.0",
1623 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1624 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1625 | "dev": true,
1626 | "engines": {
1627 | "node": ">=8"
1628 | }
1629 | },
1630 | "node_modules/rollup-plugin-postcss/node_modules/supports-color": {
1631 | "version": "7.2.0",
1632 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1633 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1634 | "dev": true,
1635 | "dependencies": {
1636 | "has-flag": "^4.0.0"
1637 | },
1638 | "engines": {
1639 | "node": ">=8"
1640 | }
1641 | },
1642 | "node_modules/rollup-pluginutils": {
1643 | "version": "2.8.2",
1644 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
1645 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
1646 | "dev": true,
1647 | "dependencies": {
1648 | "estree-walker": "^0.6.1"
1649 | }
1650 | },
1651 | "node_modules/rollup-pluginutils/node_modules/estree-walker": {
1652 | "version": "0.6.1",
1653 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
1654 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
1655 | "dev": true
1656 | },
1657 | "node_modules/safe-identifier": {
1658 | "version": "0.4.2",
1659 | "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz",
1660 | "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==",
1661 | "dev": true
1662 | },
1663 | "node_modules/scheduler": {
1664 | "version": "0.22.0",
1665 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz",
1666 | "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==",
1667 | "dev": true,
1668 | "dependencies": {
1669 | "loose-envify": "^1.1.0"
1670 | }
1671 | },
1672 | "node_modules/source-map": {
1673 | "version": "0.6.1",
1674 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1675 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1676 | "dev": true,
1677 | "engines": {
1678 | "node": ">=0.10.0"
1679 | }
1680 | },
1681 | "node_modules/source-map-js": {
1682 | "version": "1.0.2",
1683 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1684 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1685 | "dev": true,
1686 | "engines": {
1687 | "node": ">=0.10.0"
1688 | }
1689 | },
1690 | "node_modules/stable": {
1691 | "version": "0.1.8",
1692 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
1693 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
1694 | "dev": true
1695 | },
1696 | "node_modules/string-hash": {
1697 | "version": "1.1.3",
1698 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
1699 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
1700 | "dev": true
1701 | },
1702 | "node_modules/style-inject": {
1703 | "version": "0.3.0",
1704 | "resolved": "https://registry.npmjs.org/style-inject/-/style-inject-0.3.0.tgz",
1705 | "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==",
1706 | "dev": true
1707 | },
1708 | "node_modules/stylehacks": {
1709 | "version": "5.0.3",
1710 | "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.3.tgz",
1711 | "integrity": "sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg==",
1712 | "dev": true,
1713 | "dependencies": {
1714 | "browserslist": "^4.16.6",
1715 | "postcss-selector-parser": "^6.0.4"
1716 | },
1717 | "engines": {
1718 | "node": "^10 || ^12 || >=14.0"
1719 | },
1720 | "peerDependencies": {
1721 | "postcss": "^8.2.15"
1722 | }
1723 | },
1724 | "node_modules/supports-color": {
1725 | "version": "5.5.0",
1726 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1727 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1728 | "dev": true,
1729 | "dependencies": {
1730 | "has-flag": "^3.0.0"
1731 | },
1732 | "engines": {
1733 | "node": ">=4"
1734 | }
1735 | },
1736 | "node_modules/svgo": {
1737 | "version": "2.8.0",
1738 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
1739 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
1740 | "dev": true,
1741 | "dependencies": {
1742 | "@trysound/sax": "0.2.0",
1743 | "commander": "^7.2.0",
1744 | "css-select": "^4.1.3",
1745 | "css-tree": "^1.1.3",
1746 | "csso": "^4.2.0",
1747 | "picocolors": "^1.0.0",
1748 | "stable": "^0.1.8"
1749 | },
1750 | "bin": {
1751 | "svgo": "bin/svgo"
1752 | },
1753 | "engines": {
1754 | "node": ">=10.13.0"
1755 | }
1756 | },
1757 | "node_modules/timsort": {
1758 | "version": "0.3.0",
1759 | "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
1760 | "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
1761 | "dev": true
1762 | },
1763 | "node_modules/tslib": {
1764 | "version": "2.4.0",
1765 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
1766 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
1767 | "dev": true
1768 | },
1769 | "node_modules/typescript": {
1770 | "version": "4.7.3",
1771 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz",
1772 | "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==",
1773 | "dev": true,
1774 | "bin": {
1775 | "tsc": "bin/tsc",
1776 | "tsserver": "bin/tsserver"
1777 | },
1778 | "engines": {
1779 | "node": ">=4.2.0"
1780 | }
1781 | },
1782 | "node_modules/util-deprecate": {
1783 | "version": "1.0.2",
1784 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1785 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
1786 | "dev": true
1787 | },
1788 | "node_modules/yaml": {
1789 | "version": "1.10.2",
1790 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
1791 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
1792 | "dev": true,
1793 | "engines": {
1794 | "node": ">= 6"
1795 | }
1796 | }
1797 | },
1798 | "dependencies": {
1799 | "@babel/code-frame": {
1800 | "version": "7.10.4",
1801 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
1802 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
1803 | "dev": true,
1804 | "requires": {
1805 | "@babel/highlight": "^7.10.4"
1806 | }
1807 | },
1808 | "@babel/helper-validator-identifier": {
1809 | "version": "7.10.4",
1810 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
1811 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
1812 | "dev": true
1813 | },
1814 | "@babel/highlight": {
1815 | "version": "7.10.4",
1816 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
1817 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
1818 | "dev": true,
1819 | "requires": {
1820 | "@babel/helper-validator-identifier": "^7.10.4",
1821 | "chalk": "^2.0.0",
1822 | "js-tokens": "^4.0.0"
1823 | }
1824 | },
1825 | "@rollup/plugin-typescript": {
1826 | "version": "8.3.2",
1827 | "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.2.tgz",
1828 | "integrity": "sha512-MtgyR5LNHZr3GyN0tM7gNO9D0CS+Y+vflS4v/PHmrX17JCkHUYKvQ5jN5o3cz1YKllM3duXUqu3yOHwMPUxhDg==",
1829 | "dev": true,
1830 | "requires": {
1831 | "@rollup/pluginutils": "^3.1.0",
1832 | "resolve": "^1.17.0"
1833 | }
1834 | },
1835 | "@rollup/pluginutils": {
1836 | "version": "3.1.0",
1837 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
1838 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
1839 | "dev": true,
1840 | "requires": {
1841 | "@types/estree": "0.0.39",
1842 | "estree-walker": "^1.0.1",
1843 | "picomatch": "^2.2.2"
1844 | }
1845 | },
1846 | "@trysound/sax": {
1847 | "version": "0.2.0",
1848 | "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
1849 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
1850 | "dev": true
1851 | },
1852 | "@types/css-modules": {
1853 | "version": "1.0.2",
1854 | "resolved": "https://registry.npmjs.org/@types/css-modules/-/css-modules-1.0.2.tgz",
1855 | "integrity": "sha512-tyqlt2GtEBdsxJylh78zSxI/kOJK5Iz8Ta4Fxr8KLTP8mD/IgMa84D8EKPS/AWCp+MDoctgJyikrVWY28GKmcg==",
1856 | "dev": true
1857 | },
1858 | "@types/estree": {
1859 | "version": "0.0.39",
1860 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
1861 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
1862 | "dev": true
1863 | },
1864 | "@types/parse-json": {
1865 | "version": "4.0.0",
1866 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
1867 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
1868 | "dev": true
1869 | },
1870 | "@types/prop-types": {
1871 | "version": "15.7.3",
1872 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz",
1873 | "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==",
1874 | "dev": true
1875 | },
1876 | "@types/react": {
1877 | "version": "18.0.12",
1878 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.12.tgz",
1879 | "integrity": "sha512-duF1OTASSBQtcigUvhuiTB1Ya3OvSy+xORCiEf20H0P0lzx+/KeVsA99U5UjLXSbyo1DRJDlLKqTeM1ngosqtg==",
1880 | "dev": true,
1881 | "requires": {
1882 | "@types/prop-types": "*",
1883 | "@types/scheduler": "*",
1884 | "csstype": "^3.0.2"
1885 | }
1886 | },
1887 | "@types/react-dom": {
1888 | "version": "18.0.5",
1889 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz",
1890 | "integrity": "sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==",
1891 | "dev": true,
1892 | "requires": {
1893 | "@types/react": "*"
1894 | }
1895 | },
1896 | "@types/scheduler": {
1897 | "version": "0.16.1",
1898 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz",
1899 | "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==",
1900 | "dev": true
1901 | },
1902 | "ansi-styles": {
1903 | "version": "3.2.1",
1904 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1905 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1906 | "dev": true,
1907 | "requires": {
1908 | "color-convert": "^1.9.0"
1909 | }
1910 | },
1911 | "boolbase": {
1912 | "version": "1.0.0",
1913 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
1914 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
1915 | "dev": true
1916 | },
1917 | "browserslist": {
1918 | "version": "4.19.1",
1919 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
1920 | "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
1921 | "dev": true,
1922 | "requires": {
1923 | "caniuse-lite": "^1.0.30001286",
1924 | "electron-to-chromium": "^1.4.17",
1925 | "escalade": "^3.1.1",
1926 | "node-releases": "^2.0.1",
1927 | "picocolors": "^1.0.0"
1928 | }
1929 | },
1930 | "caniuse-api": {
1931 | "version": "3.0.0",
1932 | "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
1933 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
1934 | "dev": true,
1935 | "requires": {
1936 | "browserslist": "^4.0.0",
1937 | "caniuse-lite": "^1.0.0",
1938 | "lodash.memoize": "^4.1.2",
1939 | "lodash.uniq": "^4.5.0"
1940 | }
1941 | },
1942 | "caniuse-lite": {
1943 | "version": "1.0.30001312",
1944 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz",
1945 | "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==",
1946 | "dev": true
1947 | },
1948 | "chalk": {
1949 | "version": "2.4.2",
1950 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1951 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1952 | "dev": true,
1953 | "requires": {
1954 | "ansi-styles": "^3.2.1",
1955 | "escape-string-regexp": "^1.0.5",
1956 | "supports-color": "^5.3.0"
1957 | }
1958 | },
1959 | "color-convert": {
1960 | "version": "1.9.3",
1961 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1962 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1963 | "dev": true,
1964 | "requires": {
1965 | "color-name": "1.1.3"
1966 | }
1967 | },
1968 | "color-name": {
1969 | "version": "1.1.3",
1970 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1971 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1972 | "dev": true
1973 | },
1974 | "colord": {
1975 | "version": "2.9.2",
1976 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
1977 | "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
1978 | "dev": true
1979 | },
1980 | "commander": {
1981 | "version": "7.2.0",
1982 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
1983 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
1984 | "dev": true
1985 | },
1986 | "concat-with-sourcemaps": {
1987 | "version": "1.1.0",
1988 | "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
1989 | "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
1990 | "dev": true,
1991 | "requires": {
1992 | "source-map": "^0.6.1"
1993 | }
1994 | },
1995 | "css-declaration-sorter": {
1996 | "version": "6.1.4",
1997 | "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz",
1998 | "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==",
1999 | "dev": true,
2000 | "requires": {
2001 | "timsort": "^0.3.0"
2002 | }
2003 | },
2004 | "css-select": {
2005 | "version": "4.2.1",
2006 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz",
2007 | "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==",
2008 | "dev": true,
2009 | "requires": {
2010 | "boolbase": "^1.0.0",
2011 | "css-what": "^5.1.0",
2012 | "domhandler": "^4.3.0",
2013 | "domutils": "^2.8.0",
2014 | "nth-check": "^2.0.1"
2015 | }
2016 | },
2017 | "css-tree": {
2018 | "version": "1.1.3",
2019 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
2020 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
2021 | "dev": true,
2022 | "requires": {
2023 | "mdn-data": "2.0.14",
2024 | "source-map": "^0.6.1"
2025 | }
2026 | },
2027 | "css-what": {
2028 | "version": "5.1.0",
2029 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz",
2030 | "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==",
2031 | "dev": true
2032 | },
2033 | "cssesc": {
2034 | "version": "3.0.0",
2035 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
2036 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
2037 | "dev": true
2038 | },
2039 | "cssnano": {
2040 | "version": "5.0.17",
2041 | "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.17.tgz",
2042 | "integrity": "sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw==",
2043 | "dev": true,
2044 | "requires": {
2045 | "cssnano-preset-default": "^5.1.12",
2046 | "lilconfig": "^2.0.3",
2047 | "yaml": "^1.10.2"
2048 | }
2049 | },
2050 | "cssnano-preset-default": {
2051 | "version": "5.1.12",
2052 | "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz",
2053 | "integrity": "sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w==",
2054 | "dev": true,
2055 | "requires": {
2056 | "css-declaration-sorter": "^6.0.3",
2057 | "cssnano-utils": "^3.0.2",
2058 | "postcss-calc": "^8.2.0",
2059 | "postcss-colormin": "^5.2.5",
2060 | "postcss-convert-values": "^5.0.4",
2061 | "postcss-discard-comments": "^5.0.3",
2062 | "postcss-discard-duplicates": "^5.0.3",
2063 | "postcss-discard-empty": "^5.0.3",
2064 | "postcss-discard-overridden": "^5.0.4",
2065 | "postcss-merge-longhand": "^5.0.6",
2066 | "postcss-merge-rules": "^5.0.6",
2067 | "postcss-minify-font-values": "^5.0.4",
2068 | "postcss-minify-gradients": "^5.0.6",
2069 | "postcss-minify-params": "^5.0.5",
2070 | "postcss-minify-selectors": "^5.1.3",
2071 | "postcss-normalize-charset": "^5.0.3",
2072 | "postcss-normalize-display-values": "^5.0.3",
2073 | "postcss-normalize-positions": "^5.0.4",
2074 | "postcss-normalize-repeat-style": "^5.0.4",
2075 | "postcss-normalize-string": "^5.0.4",
2076 | "postcss-normalize-timing-functions": "^5.0.3",
2077 | "postcss-normalize-unicode": "^5.0.4",
2078 | "postcss-normalize-url": "^5.0.5",
2079 | "postcss-normalize-whitespace": "^5.0.4",
2080 | "postcss-ordered-values": "^5.0.5",
2081 | "postcss-reduce-initial": "^5.0.3",
2082 | "postcss-reduce-transforms": "^5.0.4",
2083 | "postcss-svgo": "^5.0.4",
2084 | "postcss-unique-selectors": "^5.0.4"
2085 | }
2086 | },
2087 | "cssnano-utils": {
2088 | "version": "3.0.2",
2089 | "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.2.tgz",
2090 | "integrity": "sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ==",
2091 | "dev": true,
2092 | "requires": {}
2093 | },
2094 | "csso": {
2095 | "version": "4.2.0",
2096 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
2097 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
2098 | "dev": true,
2099 | "requires": {
2100 | "css-tree": "^1.1.2"
2101 | }
2102 | },
2103 | "csstype": {
2104 | "version": "3.0.8",
2105 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
2106 | "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==",
2107 | "dev": true
2108 | },
2109 | "dom-serializer": {
2110 | "version": "1.3.2",
2111 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
2112 | "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
2113 | "dev": true,
2114 | "requires": {
2115 | "domelementtype": "^2.0.1",
2116 | "domhandler": "^4.2.0",
2117 | "entities": "^2.0.0"
2118 | }
2119 | },
2120 | "domelementtype": {
2121 | "version": "2.2.0",
2122 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
2123 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
2124 | "dev": true
2125 | },
2126 | "domhandler": {
2127 | "version": "4.3.0",
2128 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
2129 | "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
2130 | "dev": true,
2131 | "requires": {
2132 | "domelementtype": "^2.2.0"
2133 | }
2134 | },
2135 | "domutils": {
2136 | "version": "2.8.0",
2137 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
2138 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
2139 | "dev": true,
2140 | "requires": {
2141 | "dom-serializer": "^1.0.1",
2142 | "domelementtype": "^2.2.0",
2143 | "domhandler": "^4.2.0"
2144 | }
2145 | },
2146 | "electron-to-chromium": {
2147 | "version": "1.4.68",
2148 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.68.tgz",
2149 | "integrity": "sha512-cId+QwWrV8R1UawO6b9BR1hnkJ4EJPCPAr4h315vliHUtVUJDk39Sg1PMNnaWKfj5x+93ssjeJ9LKL6r8LaMiA==",
2150 | "dev": true
2151 | },
2152 | "entities": {
2153 | "version": "2.2.0",
2154 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
2155 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
2156 | "dev": true
2157 | },
2158 | "error-ex": {
2159 | "version": "1.3.2",
2160 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
2161 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
2162 | "dev": true,
2163 | "requires": {
2164 | "is-arrayish": "^0.2.1"
2165 | }
2166 | },
2167 | "escalade": {
2168 | "version": "3.1.1",
2169 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
2170 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
2171 | "dev": true
2172 | },
2173 | "escape-string-regexp": {
2174 | "version": "1.0.5",
2175 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2176 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
2177 | "dev": true
2178 | },
2179 | "estree-walker": {
2180 | "version": "1.0.1",
2181 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
2182 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
2183 | "dev": true
2184 | },
2185 | "eventemitter3": {
2186 | "version": "4.0.7",
2187 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
2188 | "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
2189 | "dev": true
2190 | },
2191 | "fsevents": {
2192 | "version": "2.3.2",
2193 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
2194 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
2195 | "dev": true,
2196 | "optional": true
2197 | },
2198 | "function-bind": {
2199 | "version": "1.1.1",
2200 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2201 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2202 | "dev": true
2203 | },
2204 | "generic-names": {
2205 | "version": "4.0.0",
2206 | "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz",
2207 | "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==",
2208 | "dev": true,
2209 | "requires": {
2210 | "loader-utils": "^3.2.0"
2211 | }
2212 | },
2213 | "has": {
2214 | "version": "1.0.3",
2215 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
2216 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
2217 | "dev": true,
2218 | "requires": {
2219 | "function-bind": "^1.1.1"
2220 | }
2221 | },
2222 | "has-flag": {
2223 | "version": "3.0.0",
2224 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2225 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
2226 | "dev": true
2227 | },
2228 | "icss-replace-symbols": {
2229 | "version": "1.1.0",
2230 | "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
2231 | "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
2232 | "dev": true
2233 | },
2234 | "icss-utils": {
2235 | "version": "5.1.0",
2236 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
2237 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
2238 | "dev": true,
2239 | "requires": {}
2240 | },
2241 | "import-cwd": {
2242 | "version": "3.0.0",
2243 | "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
2244 | "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
2245 | "dev": true,
2246 | "requires": {
2247 | "import-from": "^3.0.0"
2248 | }
2249 | },
2250 | "import-from": {
2251 | "version": "3.0.0",
2252 | "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
2253 | "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
2254 | "dev": true,
2255 | "requires": {
2256 | "resolve-from": "^5.0.0"
2257 | },
2258 | "dependencies": {
2259 | "resolve-from": {
2260 | "version": "5.0.0",
2261 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
2262 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
2263 | "dev": true
2264 | }
2265 | }
2266 | },
2267 | "is-arrayish": {
2268 | "version": "0.2.1",
2269 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
2270 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
2271 | "dev": true
2272 | },
2273 | "is-core-module": {
2274 | "version": "2.4.0",
2275 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
2276 | "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
2277 | "dev": true,
2278 | "requires": {
2279 | "has": "^1.0.3"
2280 | }
2281 | },
2282 | "js-tokens": {
2283 | "version": "4.0.0",
2284 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2285 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2286 | "dev": true
2287 | },
2288 | "json-parse-even-better-errors": {
2289 | "version": "2.3.1",
2290 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
2291 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
2292 | "dev": true
2293 | },
2294 | "lilconfig": {
2295 | "version": "2.0.4",
2296 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
2297 | "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==",
2298 | "dev": true
2299 | },
2300 | "lines-and-columns": {
2301 | "version": "1.1.6",
2302 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
2303 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
2304 | "dev": true
2305 | },
2306 | "loader-utils": {
2307 | "version": "3.2.1",
2308 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz",
2309 | "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==",
2310 | "dev": true
2311 | },
2312 | "lodash.camelcase": {
2313 | "version": "4.3.0",
2314 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
2315 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
2316 | "dev": true
2317 | },
2318 | "lodash.memoize": {
2319 | "version": "4.1.2",
2320 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
2321 | "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
2322 | "dev": true
2323 | },
2324 | "lodash.uniq": {
2325 | "version": "4.5.0",
2326 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
2327 | "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
2328 | "dev": true
2329 | },
2330 | "loose-envify": {
2331 | "version": "1.4.0",
2332 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
2333 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
2334 | "dev": true,
2335 | "requires": {
2336 | "js-tokens": "^3.0.0 || ^4.0.0"
2337 | }
2338 | },
2339 | "mdn-data": {
2340 | "version": "2.0.14",
2341 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
2342 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
2343 | "dev": true
2344 | },
2345 | "nanoid": {
2346 | "version": "3.3.7",
2347 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
2348 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
2349 | "dev": true
2350 | },
2351 | "node-releases": {
2352 | "version": "2.0.2",
2353 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
2354 | "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
2355 | "dev": true
2356 | },
2357 | "normalize-url": {
2358 | "version": "6.1.0",
2359 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
2360 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
2361 | "dev": true
2362 | },
2363 | "nth-check": {
2364 | "version": "2.0.1",
2365 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
2366 | "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
2367 | "dev": true,
2368 | "requires": {
2369 | "boolbase": "^1.0.0"
2370 | }
2371 | },
2372 | "p-finally": {
2373 | "version": "1.0.0",
2374 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
2375 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
2376 | "dev": true
2377 | },
2378 | "p-queue": {
2379 | "version": "6.6.2",
2380 | "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz",
2381 | "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==",
2382 | "dev": true,
2383 | "requires": {
2384 | "eventemitter3": "^4.0.4",
2385 | "p-timeout": "^3.2.0"
2386 | }
2387 | },
2388 | "p-timeout": {
2389 | "version": "3.2.0",
2390 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
2391 | "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
2392 | "dev": true,
2393 | "requires": {
2394 | "p-finally": "^1.0.0"
2395 | }
2396 | },
2397 | "parent-module": {
2398 | "version": "1.0.1",
2399 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2400 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2401 | "dev": true,
2402 | "requires": {
2403 | "callsites": "^3.0.0"
2404 | },
2405 | "dependencies": {
2406 | "callsites": {
2407 | "version": "3.1.0",
2408 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
2409 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
2410 | "dev": true
2411 | }
2412 | }
2413 | },
2414 | "path-parse": {
2415 | "version": "1.0.7",
2416 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2417 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2418 | "dev": true
2419 | },
2420 | "path-type": {
2421 | "version": "4.0.0",
2422 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
2423 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
2424 | "dev": true
2425 | },
2426 | "picocolors": {
2427 | "version": "1.0.0",
2428 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
2429 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
2430 | "dev": true
2431 | },
2432 | "picomatch": {
2433 | "version": "2.3.0",
2434 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
2435 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
2436 | "dev": true
2437 | },
2438 | "pify": {
2439 | "version": "5.0.0",
2440 | "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz",
2441 | "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==",
2442 | "dev": true
2443 | },
2444 | "postcss": {
2445 | "version": "8.4.31",
2446 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
2447 | "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
2448 | "dev": true,
2449 | "requires": {
2450 | "nanoid": "^3.3.6",
2451 | "picocolors": "^1.0.0",
2452 | "source-map-js": "^1.0.2"
2453 | }
2454 | },
2455 | "postcss-calc": {
2456 | "version": "8.2.4",
2457 | "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
2458 | "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
2459 | "dev": true,
2460 | "requires": {
2461 | "postcss-selector-parser": "^6.0.9",
2462 | "postcss-value-parser": "^4.2.0"
2463 | }
2464 | },
2465 | "postcss-colormin": {
2466 | "version": "5.2.5",
2467 | "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.5.tgz",
2468 | "integrity": "sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg==",
2469 | "dev": true,
2470 | "requires": {
2471 | "browserslist": "^4.16.6",
2472 | "caniuse-api": "^3.0.0",
2473 | "colord": "^2.9.1",
2474 | "postcss-value-parser": "^4.2.0"
2475 | }
2476 | },
2477 | "postcss-convert-values": {
2478 | "version": "5.0.4",
2479 | "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz",
2480 | "integrity": "sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw==",
2481 | "dev": true,
2482 | "requires": {
2483 | "postcss-value-parser": "^4.2.0"
2484 | }
2485 | },
2486 | "postcss-discard-comments": {
2487 | "version": "5.0.3",
2488 | "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz",
2489 | "integrity": "sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q==",
2490 | "dev": true,
2491 | "requires": {}
2492 | },
2493 | "postcss-discard-duplicates": {
2494 | "version": "5.0.3",
2495 | "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz",
2496 | "integrity": "sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw==",
2497 | "dev": true,
2498 | "requires": {}
2499 | },
2500 | "postcss-discard-empty": {
2501 | "version": "5.0.3",
2502 | "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz",
2503 | "integrity": "sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA==",
2504 | "dev": true,
2505 | "requires": {}
2506 | },
2507 | "postcss-discard-overridden": {
2508 | "version": "5.0.4",
2509 | "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz",
2510 | "integrity": "sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg==",
2511 | "dev": true,
2512 | "requires": {}
2513 | },
2514 | "postcss-load-config": {
2515 | "version": "3.0.1",
2516 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.1.tgz",
2517 | "integrity": "sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ==",
2518 | "dev": true,
2519 | "requires": {
2520 | "cosmiconfig": "^7.0.0",
2521 | "import-cwd": "^3.0.0"
2522 | },
2523 | "dependencies": {
2524 | "cosmiconfig": {
2525 | "version": "7.0.0",
2526 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
2527 | "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
2528 | "dev": true,
2529 | "requires": {
2530 | "@types/parse-json": "^4.0.0",
2531 | "import-fresh": "^3.2.1",
2532 | "parse-json": "^5.0.0",
2533 | "path-type": "^4.0.0",
2534 | "yaml": "^1.10.0"
2535 | }
2536 | },
2537 | "import-fresh": {
2538 | "version": "3.3.0",
2539 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
2540 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
2541 | "dev": true,
2542 | "requires": {
2543 | "parent-module": "^1.0.0",
2544 | "resolve-from": "^4.0.0"
2545 | }
2546 | },
2547 | "parse-json": {
2548 | "version": "5.2.0",
2549 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
2550 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
2551 | "dev": true,
2552 | "requires": {
2553 | "@babel/code-frame": "^7.0.0",
2554 | "error-ex": "^1.3.1",
2555 | "json-parse-even-better-errors": "^2.3.0",
2556 | "lines-and-columns": "^1.1.6"
2557 | }
2558 | },
2559 | "resolve-from": {
2560 | "version": "4.0.0",
2561 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2562 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2563 | "dev": true
2564 | }
2565 | }
2566 | },
2567 | "postcss-merge-longhand": {
2568 | "version": "5.0.6",
2569 | "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz",
2570 | "integrity": "sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg==",
2571 | "dev": true,
2572 | "requires": {
2573 | "postcss-value-parser": "^4.2.0",
2574 | "stylehacks": "^5.0.3"
2575 | }
2576 | },
2577 | "postcss-merge-rules": {
2578 | "version": "5.0.6",
2579 | "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz",
2580 | "integrity": "sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ==",
2581 | "dev": true,
2582 | "requires": {
2583 | "browserslist": "^4.16.6",
2584 | "caniuse-api": "^3.0.0",
2585 | "cssnano-utils": "^3.0.2",
2586 | "postcss-selector-parser": "^6.0.5"
2587 | }
2588 | },
2589 | "postcss-minify-font-values": {
2590 | "version": "5.0.4",
2591 | "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz",
2592 | "integrity": "sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA==",
2593 | "dev": true,
2594 | "requires": {
2595 | "postcss-value-parser": "^4.2.0"
2596 | }
2597 | },
2598 | "postcss-minify-gradients": {
2599 | "version": "5.0.6",
2600 | "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz",
2601 | "integrity": "sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A==",
2602 | "dev": true,
2603 | "requires": {
2604 | "colord": "^2.9.1",
2605 | "cssnano-utils": "^3.0.2",
2606 | "postcss-value-parser": "^4.2.0"
2607 | }
2608 | },
2609 | "postcss-minify-params": {
2610 | "version": "5.0.5",
2611 | "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz",
2612 | "integrity": "sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg==",
2613 | "dev": true,
2614 | "requires": {
2615 | "browserslist": "^4.16.6",
2616 | "cssnano-utils": "^3.0.2",
2617 | "postcss-value-parser": "^4.2.0"
2618 | }
2619 | },
2620 | "postcss-minify-selectors": {
2621 | "version": "5.1.3",
2622 | "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz",
2623 | "integrity": "sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ==",
2624 | "dev": true,
2625 | "requires": {
2626 | "postcss-selector-parser": "^6.0.5"
2627 | }
2628 | },
2629 | "postcss-modules": {
2630 | "version": "4.3.1",
2631 | "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.3.1.tgz",
2632 | "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==",
2633 | "dev": true,
2634 | "requires": {
2635 | "generic-names": "^4.0.0",
2636 | "icss-replace-symbols": "^1.1.0",
2637 | "lodash.camelcase": "^4.3.0",
2638 | "postcss-modules-extract-imports": "^3.0.0",
2639 | "postcss-modules-local-by-default": "^4.0.0",
2640 | "postcss-modules-scope": "^3.0.0",
2641 | "postcss-modules-values": "^4.0.0",
2642 | "string-hash": "^1.1.1"
2643 | }
2644 | },
2645 | "postcss-modules-extract-imports": {
2646 | "version": "3.0.0",
2647 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
2648 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
2649 | "dev": true,
2650 | "requires": {}
2651 | },
2652 | "postcss-modules-local-by-default": {
2653 | "version": "4.0.0",
2654 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
2655 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
2656 | "dev": true,
2657 | "requires": {
2658 | "icss-utils": "^5.0.0",
2659 | "postcss-selector-parser": "^6.0.2",
2660 | "postcss-value-parser": "^4.1.0"
2661 | }
2662 | },
2663 | "postcss-modules-scope": {
2664 | "version": "3.0.0",
2665 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
2666 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
2667 | "dev": true,
2668 | "requires": {
2669 | "postcss-selector-parser": "^6.0.4"
2670 | }
2671 | },
2672 | "postcss-modules-values": {
2673 | "version": "4.0.0",
2674 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
2675 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
2676 | "dev": true,
2677 | "requires": {
2678 | "icss-utils": "^5.0.0"
2679 | }
2680 | },
2681 | "postcss-normalize-charset": {
2682 | "version": "5.0.3",
2683 | "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz",
2684 | "integrity": "sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA==",
2685 | "dev": true,
2686 | "requires": {}
2687 | },
2688 | "postcss-normalize-display-values": {
2689 | "version": "5.0.3",
2690 | "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz",
2691 | "integrity": "sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ==",
2692 | "dev": true,
2693 | "requires": {
2694 | "postcss-value-parser": "^4.2.0"
2695 | }
2696 | },
2697 | "postcss-normalize-positions": {
2698 | "version": "5.0.4",
2699 | "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz",
2700 | "integrity": "sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ==",
2701 | "dev": true,
2702 | "requires": {
2703 | "postcss-value-parser": "^4.2.0"
2704 | }
2705 | },
2706 | "postcss-normalize-repeat-style": {
2707 | "version": "5.0.4",
2708 | "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz",
2709 | "integrity": "sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA==",
2710 | "dev": true,
2711 | "requires": {
2712 | "postcss-value-parser": "^4.2.0"
2713 | }
2714 | },
2715 | "postcss-normalize-string": {
2716 | "version": "5.0.4",
2717 | "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz",
2718 | "integrity": "sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ==",
2719 | "dev": true,
2720 | "requires": {
2721 | "postcss-value-parser": "^4.2.0"
2722 | }
2723 | },
2724 | "postcss-normalize-timing-functions": {
2725 | "version": "5.0.3",
2726 | "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz",
2727 | "integrity": "sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g==",
2728 | "dev": true,
2729 | "requires": {
2730 | "postcss-value-parser": "^4.2.0"
2731 | }
2732 | },
2733 | "postcss-normalize-unicode": {
2734 | "version": "5.0.4",
2735 | "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz",
2736 | "integrity": "sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig==",
2737 | "dev": true,
2738 | "requires": {
2739 | "browserslist": "^4.16.6",
2740 | "postcss-value-parser": "^4.2.0"
2741 | }
2742 | },
2743 | "postcss-normalize-url": {
2744 | "version": "5.0.5",
2745 | "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz",
2746 | "integrity": "sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ==",
2747 | "dev": true,
2748 | "requires": {
2749 | "normalize-url": "^6.0.1",
2750 | "postcss-value-parser": "^4.2.0"
2751 | }
2752 | },
2753 | "postcss-normalize-whitespace": {
2754 | "version": "5.0.4",
2755 | "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz",
2756 | "integrity": "sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw==",
2757 | "dev": true,
2758 | "requires": {
2759 | "postcss-value-parser": "^4.2.0"
2760 | }
2761 | },
2762 | "postcss-ordered-values": {
2763 | "version": "5.0.5",
2764 | "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz",
2765 | "integrity": "sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ==",
2766 | "dev": true,
2767 | "requires": {
2768 | "cssnano-utils": "^3.0.2",
2769 | "postcss-value-parser": "^4.2.0"
2770 | }
2771 | },
2772 | "postcss-reduce-initial": {
2773 | "version": "5.0.3",
2774 | "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz",
2775 | "integrity": "sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA==",
2776 | "dev": true,
2777 | "requires": {
2778 | "browserslist": "^4.16.6",
2779 | "caniuse-api": "^3.0.0"
2780 | }
2781 | },
2782 | "postcss-reduce-transforms": {
2783 | "version": "5.0.4",
2784 | "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz",
2785 | "integrity": "sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g==",
2786 | "dev": true,
2787 | "requires": {
2788 | "postcss-value-parser": "^4.2.0"
2789 | }
2790 | },
2791 | "postcss-selector-parser": {
2792 | "version": "6.0.9",
2793 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
2794 | "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
2795 | "dev": true,
2796 | "requires": {
2797 | "cssesc": "^3.0.0",
2798 | "util-deprecate": "^1.0.2"
2799 | }
2800 | },
2801 | "postcss-svgo": {
2802 | "version": "5.0.4",
2803 | "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.4.tgz",
2804 | "integrity": "sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg==",
2805 | "dev": true,
2806 | "requires": {
2807 | "postcss-value-parser": "^4.2.0",
2808 | "svgo": "^2.7.0"
2809 | }
2810 | },
2811 | "postcss-unique-selectors": {
2812 | "version": "5.0.4",
2813 | "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz",
2814 | "integrity": "sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ==",
2815 | "dev": true,
2816 | "requires": {
2817 | "postcss-selector-parser": "^6.0.5"
2818 | }
2819 | },
2820 | "postcss-value-parser": {
2821 | "version": "4.2.0",
2822 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
2823 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
2824 | "dev": true
2825 | },
2826 | "promise.series": {
2827 | "version": "0.2.0",
2828 | "resolved": "https://registry.npmjs.org/promise.series/-/promise.series-0.2.0.tgz",
2829 | "integrity": "sha1-LMfr6Vn8OmYZwEq029yeRS2GS70=",
2830 | "dev": true
2831 | },
2832 | "react": {
2833 | "version": "18.1.0",
2834 | "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz",
2835 | "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==",
2836 | "dev": true,
2837 | "requires": {
2838 | "loose-envify": "^1.1.0"
2839 | }
2840 | },
2841 | "react-dom": {
2842 | "version": "18.1.0",
2843 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz",
2844 | "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==",
2845 | "dev": true,
2846 | "requires": {
2847 | "loose-envify": "^1.1.0",
2848 | "scheduler": "^0.22.0"
2849 | }
2850 | },
2851 | "resolve": {
2852 | "version": "1.20.0",
2853 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
2854 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
2855 | "dev": true,
2856 | "requires": {
2857 | "is-core-module": "^2.2.0",
2858 | "path-parse": "^1.0.6"
2859 | }
2860 | },
2861 | "rollup": {
2862 | "version": "2.75.5",
2863 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.5.tgz",
2864 | "integrity": "sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA==",
2865 | "dev": true,
2866 | "requires": {
2867 | "fsevents": "~2.3.2"
2868 | }
2869 | },
2870 | "rollup-plugin-postcss": {
2871 | "version": "4.0.2",
2872 | "resolved": "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.2.tgz",
2873 | "integrity": "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==",
2874 | "dev": true,
2875 | "requires": {
2876 | "chalk": "^4.1.0",
2877 | "concat-with-sourcemaps": "^1.1.0",
2878 | "cssnano": "^5.0.1",
2879 | "import-cwd": "^3.0.0",
2880 | "p-queue": "^6.6.2",
2881 | "pify": "^5.0.0",
2882 | "postcss-load-config": "^3.0.0",
2883 | "postcss-modules": "^4.0.0",
2884 | "promise.series": "^0.2.0",
2885 | "resolve": "^1.19.0",
2886 | "rollup-pluginutils": "^2.8.2",
2887 | "safe-identifier": "^0.4.2",
2888 | "style-inject": "^0.3.0"
2889 | },
2890 | "dependencies": {
2891 | "ansi-styles": {
2892 | "version": "4.3.0",
2893 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2894 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2895 | "dev": true,
2896 | "requires": {
2897 | "color-convert": "^2.0.1"
2898 | }
2899 | },
2900 | "chalk": {
2901 | "version": "4.1.1",
2902 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
2903 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
2904 | "dev": true,
2905 | "requires": {
2906 | "ansi-styles": "^4.1.0",
2907 | "supports-color": "^7.1.0"
2908 | }
2909 | },
2910 | "color-convert": {
2911 | "version": "2.0.1",
2912 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
2913 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
2914 | "dev": true,
2915 | "requires": {
2916 | "color-name": "~1.1.4"
2917 | }
2918 | },
2919 | "color-name": {
2920 | "version": "1.1.4",
2921 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2922 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
2923 | "dev": true
2924 | },
2925 | "has-flag": {
2926 | "version": "4.0.0",
2927 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2928 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2929 | "dev": true
2930 | },
2931 | "supports-color": {
2932 | "version": "7.2.0",
2933 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2934 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2935 | "dev": true,
2936 | "requires": {
2937 | "has-flag": "^4.0.0"
2938 | }
2939 | }
2940 | }
2941 | },
2942 | "rollup-pluginutils": {
2943 | "version": "2.8.2",
2944 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
2945 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
2946 | "dev": true,
2947 | "requires": {
2948 | "estree-walker": "^0.6.1"
2949 | },
2950 | "dependencies": {
2951 | "estree-walker": {
2952 | "version": "0.6.1",
2953 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
2954 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
2955 | "dev": true
2956 | }
2957 | }
2958 | },
2959 | "safe-identifier": {
2960 | "version": "0.4.2",
2961 | "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz",
2962 | "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==",
2963 | "dev": true
2964 | },
2965 | "scheduler": {
2966 | "version": "0.22.0",
2967 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz",
2968 | "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==",
2969 | "dev": true,
2970 | "requires": {
2971 | "loose-envify": "^1.1.0"
2972 | }
2973 | },
2974 | "source-map": {
2975 | "version": "0.6.1",
2976 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2977 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2978 | "dev": true
2979 | },
2980 | "source-map-js": {
2981 | "version": "1.0.2",
2982 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2983 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
2984 | "dev": true
2985 | },
2986 | "stable": {
2987 | "version": "0.1.8",
2988 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
2989 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
2990 | "dev": true
2991 | },
2992 | "string-hash": {
2993 | "version": "1.1.3",
2994 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
2995 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
2996 | "dev": true
2997 | },
2998 | "style-inject": {
2999 | "version": "0.3.0",
3000 | "resolved": "https://registry.npmjs.org/style-inject/-/style-inject-0.3.0.tgz",
3001 | "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==",
3002 | "dev": true
3003 | },
3004 | "stylehacks": {
3005 | "version": "5.0.3",
3006 | "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.3.tgz",
3007 | "integrity": "sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg==",
3008 | "dev": true,
3009 | "requires": {
3010 | "browserslist": "^4.16.6",
3011 | "postcss-selector-parser": "^6.0.4"
3012 | }
3013 | },
3014 | "supports-color": {
3015 | "version": "5.5.0",
3016 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
3017 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
3018 | "dev": true,
3019 | "requires": {
3020 | "has-flag": "^3.0.0"
3021 | }
3022 | },
3023 | "svgo": {
3024 | "version": "2.8.0",
3025 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
3026 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
3027 | "dev": true,
3028 | "requires": {
3029 | "@trysound/sax": "0.2.0",
3030 | "commander": "^7.2.0",
3031 | "css-select": "^4.1.3",
3032 | "css-tree": "^1.1.3",
3033 | "csso": "^4.2.0",
3034 | "picocolors": "^1.0.0",
3035 | "stable": "^0.1.8"
3036 | }
3037 | },
3038 | "timsort": {
3039 | "version": "0.3.0",
3040 | "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
3041 | "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
3042 | "dev": true
3043 | },
3044 | "tslib": {
3045 | "version": "2.4.0",
3046 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
3047 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
3048 | "dev": true
3049 | },
3050 | "typescript": {
3051 | "version": "4.7.3",
3052 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz",
3053 | "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==",
3054 | "dev": true
3055 | },
3056 | "util-deprecate": {
3057 | "version": "1.0.2",
3058 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3059 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
3060 | "dev": true
3061 | },
3062 | "yaml": {
3063 | "version": "1.10.2",
3064 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
3065 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
3066 | "dev": true
3067 | }
3068 | }
3069 | }
3070 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-simple-image-viewer",
3 | "version": "1.2.2",
4 | "description": "Simple image viewer component for React",
5 | "main": "dist/index.cjs.js",
6 | "module": "dist/index.esm.js",
7 | "types": "dist/types",
8 | "scripts": {
9 | "build": "rollup -c",
10 | "prepare": "npm run build"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "https://github.com/specter256/react-simple-image-viewer.git"
15 | },
16 | "author": "Alexander Tarasov",
17 | "license": "MIT",
18 | "keywords": [
19 | "react",
20 | "reactjs",
21 | "react-component",
22 | "image",
23 | "images",
24 | "image-viewer",
25 | "lightbox",
26 | "gallery"
27 | ],
28 | "devDependencies": {
29 | "@rollup/plugin-typescript": "^8.3.2",
30 | "@types/css-modules": "^1.0.2",
31 | "@types/react": "^18.0.12",
32 | "@types/react-dom": "^18.0.5",
33 | "postcss": "^8.4.14",
34 | "react": "^18.1.0",
35 | "react-dom": "^18.1.0",
36 | "rollup": "^2.75.5",
37 | "rollup-plugin-postcss": "^4.0.2",
38 | "tslib": "^2.4.0",
39 | "typescript": "^4.7.3"
40 | },
41 | "peerDependencies": {
42 | "react": "^18.1.0",
43 | "react-dom": "^18.1.0"
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import typescript from "@rollup/plugin-typescript";
2 | import postcss from "rollup-plugin-postcss";
3 |
4 | const outputDefaults = {
5 | sourcemap: true,
6 | globals: { react: "React" },
7 | };
8 |
9 | export default {
10 | input: "./src/index.ts",
11 |
12 | output: [
13 | {
14 | file: "./dist/index.cjs.js",
15 | format: "cjs",
16 | exports: "default",
17 | ...outputDefaults,
18 | },
19 | {
20 | file: "./dist/index.esm.js",
21 | format: "esm",
22 | ...outputDefaults,
23 | },
24 | ],
25 |
26 | plugins: [
27 | typescript({ tsconfig: "./tsconfig.json" }),
28 | postcss({ modules: true }),
29 | ],
30 |
31 | external: ["react", "react-dom"],
32 | };
33 |
--------------------------------------------------------------------------------
/src/ReactSimpleImageViewer.tsx:
--------------------------------------------------------------------------------
1 | import React, { CSSProperties, useCallback, useEffect, useState } from "react";
2 | import styles from "./styles.module.css";
3 |
4 | interface IProps {
5 | src: string[];
6 | currentIndex?: number;
7 | backgroundStyle?: CSSProperties;
8 | imageStyle?: CSSProperties;
9 | disableScroll?: boolean;
10 | closeOnClickOutside?: boolean;
11 | onClose?: () => void;
12 | closeComponent?: JSX.Element;
13 | leftArrowComponent?: JSX.Element;
14 | rightArrowComponent?: JSX.Element;
15 | }
16 |
17 | const ReactSimpleImageViewer = (props: IProps) => {
18 | const [currentIndex, setCurrentIndex] = useState(props.currentIndex ?? 0);
19 |
20 | const changeImage = useCallback(
21 | (delta: number) => {
22 | let nextIndex = (currentIndex + delta) % props.src.length;
23 | if (nextIndex < 0) nextIndex = props.src.length - 1;
24 | setCurrentIndex(nextIndex);
25 | },
26 | [currentIndex]
27 | );
28 |
29 | const handleClick = useCallback(
30 | (event: any) => {
31 | if (!event.target || !props.closeOnClickOutside) {
32 | return;
33 | }
34 |
35 | const checkId = event.target.id === 'ReactSimpleImageViewer';
36 | const checkClass = event.target.classList.contains('react-simple-image-viewer__slide');
37 |
38 | if (checkId || checkClass) {
39 | event.stopPropagation();
40 | props.onClose?.();
41 | }
42 | },
43 | [props.onClose]
44 | );
45 |
46 | const handleKeyDown = useCallback(
47 | (event: any) => {
48 | if (event.key === "Escape") {
49 | props.onClose?.();
50 | }
51 |
52 | if (["ArrowLeft", "h"].includes(event.key)) {
53 | changeImage(-1);
54 | }
55 |
56 | if (["ArrowRight", "l"].includes(event.key)) {
57 | changeImage(1);
58 | }
59 | },
60 | [props.onClose, changeImage]
61 | );
62 |
63 | const handleWheel = useCallback(
64 | (event: any) => {
65 | if (event.wheelDeltaY > 0) {
66 | changeImage(-1);
67 | } else {
68 | changeImage(1);
69 | }
70 | },
71 | [changeImage]
72 | );
73 |
74 | useEffect(() => {
75 | document.addEventListener("keydown", handleKeyDown);
76 |
77 | if (!props.disableScroll) {
78 | document.addEventListener("wheel", handleWheel);
79 | }
80 |
81 | return () => {
82 | document.removeEventListener("keydown", handleKeyDown);
83 |
84 | if (!props.disableScroll) {
85 | document.removeEventListener("wheel", handleWheel);
86 | }
87 | };
88 | }, [handleKeyDown, handleWheel]);
89 |
90 | return (
91 |
98 |
props.onClose?.()}
101 | >
102 | { props.closeComponent || "×" }
103 |
104 |
105 | {props.src.length > 1 && (
106 |
changeImage(-1)}
109 | >
110 | { props.leftArrowComponent || "❮" }
111 |
112 | )}
113 |
114 | {props.src.length > 1 && (
115 |
changeImage(1)}
118 | >
119 | { props.rightArrowComponent || "❯" }
120 |
121 | )}
122 |
123 |
127 |
128 |

129 |
130 |
131 |
132 | );
133 | };
134 |
135 | export default ReactSimpleImageViewer;
136 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import ReactSimpleImageViewer from "./ReactSimpleImageViewer";
2 | export default ReactSimpleImageViewer;
3 |
--------------------------------------------------------------------------------
/src/styles.module.css:
--------------------------------------------------------------------------------
1 | .wrapper {
2 | z-index: 1;
3 | display: flex;
4 | align-items: center;
5 | position: fixed;
6 | padding: 0px 60px 0px 60px;
7 | left: 0;
8 | top: 0;
9 | width: 100%;
10 | height: 100%;
11 | background-color: black;
12 | box-sizing: border-box;
13 | }
14 |
15 | .content {
16 | margin: auto;
17 | padding: 0;
18 | width: 90%;
19 | height: 100%;
20 | max-height: 100%;
21 | text-align: center;
22 | }
23 |
24 | .slide {
25 | height: 100%;
26 | display: flex;
27 | align-items: center;
28 | justify-content: center;
29 | }
30 |
31 | .image {
32 | max-height: 100%;
33 | max-width: 100%;
34 | user-select: none;
35 | -moz-user-select: none;
36 | -webkit-user-select: none;
37 | }
38 |
39 | .close {
40 | color: white;
41 | position: absolute;
42 | top: 15px;
43 | right: 15px;
44 | font-size: 40px;
45 | font-weight: bold;
46 | opacity: 0.2;
47 | cursor: pointer;
48 | }
49 |
50 | .close:hover {
51 | opacity: 1;
52 | }
53 |
54 | .navigation {
55 | height: 80%;
56 | color: white;
57 | cursor: pointer;
58 | position: absolute;
59 | font-size: 60px;
60 | line-height: 60px;
61 | font-weight: bold;
62 | display: flex;
63 | align-items: center;
64 | opacity: 0.2;
65 | padding: 0 15px;
66 | user-select: none;
67 | -moz-user-select: none;
68 | -webkit-user-select: none;
69 | }
70 |
71 | .navigation:hover {
72 | opacity: 1;
73 | }
74 |
75 | @media (hover: none) {
76 | .navigation:hover {
77 | opacity: 0.2;
78 | }
79 | }
80 |
81 | .prev {
82 | left: 0;
83 | }
84 |
85 | .next {
86 | right: 0;
87 | }
88 |
89 | @media (max-width: 900px) {
90 | .wrapper {
91 | padding: 0;
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "outDir": "./dist",
4 | "target": "es2016",
5 | "module": "esnext",
6 | "declaration": true,
7 | "declarationDir": "types",
8 | "noImplicitAny": true,
9 | "strictNullChecks": true,
10 | "removeComments": true,
11 | "jsx": "react",
12 | "esModuleInterop": true,
13 | "typeRoots": ["index.d.ts", "node_modules/@types"]
14 | },
15 | "include": ["./src/**/*.tsx", "./src/**/*.ts"],
16 | "exclude": ["node_modules"]
17 | }
18 |
--------------------------------------------------------------------------------
/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "defaultSeverity": "error",
3 | "extends": [
4 | "tslint:recommended"
5 | ],
6 | "jsRules": {},
7 | "rules": {
8 | "quotemark": false,
9 | "member-access": false,
10 | "member-ordering": false
11 | },
12 | "rulesDirectory": []
13 | }
14 |
--------------------------------------------------------------------------------