├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── src ├── main.ts ├── types.ts └── ui.tsx └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.log 3 | *.css.d.ts 4 | build/ 5 | node_modules/ 6 | manifest.json 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Design Toolkit 3 | 4 | Customise this Figma reference plugin to provide useful resources and automations for yourself or your team. Inspect the code to see how you can customise it for your own needs and publish it for your team to use. 5 | 6 | Follow the instructions in my medium write up for this project: [Build your team a file automation plugin in Figma](https://medium.com/@noworries/building-a-figma-plugin-to-automate-your-file-setup-2094e53016ba). 7 | 8 | Made by [@JoshDesignNZ](https://twitter.com/JoshDesignNZ) using [Create Figma Plugin](https://yuanqing.github.io/create-figma-plugin/). 9 | 10 | **Contributions encouraged!**: Please feel free to suggest improvements for the plugin 🤙 11 | 12 | 13 | ## Features 14 | 15 | This plugin template contains several automation examples, including: 16 | 17 | - Create all your document pages 18 | - Insert a cover component with dynamic user information and date 19 | - Insert a heading component on each page, with title and optional description 20 | - Insert custom component(s) on specific pages 21 | - Add links to team resources (e.g. Design System Documentation, Code repos, Comms channels) 22 | 23 | 24 | ## Roadmap 25 | 26 | - Basic design linting (Flag elements that don't match your styles/tokens) 27 | - Import/update content strings 28 | - Workflow checklists, including: 29 | - Definition of Done 30 | - Definition of Ready 31 | - Component best practice 32 | 33 | 34 | ## Installation 35 | Instructions are based off the [quick start instructions](https://yuanqing.github.io/create-figma-plugin/quick-start/) from [create-figma-plugin](https://yuanqing.github.io/create-figma-plugin). 36 | 37 | Clone the project 38 | 39 | ```bash 40 | git clone https://github.com/NoWorries/toolkit-figma-plugin 41 | ``` 42 | 43 | Go to the project directory 44 | 45 | ```bash 46 | cd toolkit-figma-plugin 47 | ``` 48 | 49 | Configuration options for your plugin go under the "figma-plugin" key of your `package.json` file. 50 | Modify both the `name` values that you want to use for your plugin. 51 | 52 | The `relaunchButtons` properties will insert a button in the sidebar to easily launch your plugin again. 53 | 54 | ```bash 55 | { 56 | "figma-plugin": { 57 | "editorType": [ 58 | "figma" 59 | ], 60 | // ... 61 | "name": "Design Toolkit", 62 | "main": "src/main.ts", 63 | "ui": "src/ui.tsx", 64 | "relaunchButtons": { 65 | "designToolkit": { 66 | "name": "Design Toolkit", 67 | "main": "src/main.ts", 68 | "ui": "src/ui.tsx" 69 | } 70 | }, 71 | } 72 | } 73 | ``` 74 | 75 | Build the plugin: 76 | 77 | ```bash 78 | npm install 79 | npm run build 80 | npm run watch 81 | ``` 82 | 83 | This will generate a `manifest.json` file and a build/ directory containing the JavaScript bundle(s) for the plugin. 84 | 85 | - [Plugin Manifest](https://figma.com/plugin-docs/manifest/) 86 | 87 | Configuring your plugin is done via `package.json`. Avoid manually editing the `manifest.json` file. Because the `manifest.json` file is always regenerated on build, any changes you make will always get overridden. 88 | 89 | 90 | ## Run Locally 91 | 92 | To watch for code changes and rebuild the plugin automatically: 93 | 94 | ```bash 95 | $ npm run watch 96 | ``` 97 | 98 | ## Installing the plugin 99 | 1. In the Figma desktop app, open a Figma document. 100 | 2. Search for and run Import plugin from manifest… via the Quick Actions search bar. 101 | 3. Select the `manifest.json` file that was generated by the build script. 102 | 4. The plugin will now be installed and available in the "Figma > Plugins > Development" menu. Don't launch it yet 103 | 104 | 105 | ## Figma setup 106 | 1. Duplicate the [Design Toolkit - Library](https://www.figma.com/community/file/1106540939095361694) to your team and publish the components so that the plugin can access them. 107 | 2. Install the [Inspector](https://www.figma.com/community/plugin/760351147138040099/Inspector) plugin, to reference the unique `Key` for each component. 108 | 3. Run the Inspector plugin and identify the unique `Key` for the components in your version of "Design Toolkit - Library". You will need to update the keys in `main.ts` before the plugin will work. 109 | 110 | ## Run the plugin in Figma 111 | The plugin can now be launched using either of these methods: 112 | 1. Figma > Plugins > Development > Design Toolkit 113 | 2. - Open the Quick Actions window using `Cmd + /` or `Ctrl + /` and type "Design Toolkit" 114 | 115 | ## Troubleshooting 116 | If the plugin has an error, recommend checking the Console in Developer Tools in your browser for an error message. It could be that the font used in your component is not installed/available to your team. 117 | 118 | 119 | ## Publishing 120 | When you're happy with your plugin, follow the instructions to publish it. 121 | 122 | - [Publishing to Figma Community ](https://yuanqing.github.io/create-figma-plugin/quick-start/#publishing-to-figma-community) 123 | - [Publishing to private Organisation or Enterprise](https://help.figma.com/hc/en-us/articles/4404228629655-Create-private-organization-plugins) 124 | 125 | 126 | ## Used By 127 | 128 | This project is used by the following companies: 129 | 130 | - [Westpac New Zealand](https://www.westpac.co.nz/) 131 | 132 | 133 | ## Acknowledgements 134 | 135 | - [Create Figma Plugin](https://yuanqing.github.io/create-figma-plugin/) by [Yuan Qing Lim](https://twitter.com/yuanqinglim) 136 | - [Figma plugins](https://figmaplugins.slack.com/) Slack community 137 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "toolkit-figma-plugin", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "@create-figma-plugin/ui": "^1.8.3", 9 | "@create-figma-plugin/utilities": "^1.8.3", 10 | "preact": "^10" 11 | }, 12 | "devDependencies": { 13 | "@create-figma-plugin/build": "^1.8.3", 14 | "@create-figma-plugin/tsconfig": "^1.8.3", 15 | "@figma/plugin-typings": "1.42.1", 16 | "typescript": "^4" 17 | } 18 | }, 19 | "node_modules/@create-figma-plugin/build": { 20 | "version": "1.9.1", 21 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/build/-/build-1.9.1.tgz", 22 | "integrity": "sha512-izCcEcEF5nf+3pZofDx5lEK3zNUIr+ZCJ59jOp4M8Un2lF96dqlQ4RrMuqPzX4xwfeH0LijyrBcjAThBB262+Q==", 23 | "dev": true, 24 | "dependencies": { 25 | "@create-figma-plugin/common": "^1.9.1", 26 | "chokidar": "^3.5.3", 27 | "cssnano": "^5.1.7", 28 | "esbuild": "^0.14.38", 29 | "find-up": "^6.3.0", 30 | "fs-extra": "^10.1.0", 31 | "globby": "^13.1.1", 32 | "indent-string": "^5.0.0", 33 | "kleur": "^4.1.4", 34 | "postcss": "^8.4.13", 35 | "postcss-modules": "^4.3.1", 36 | "rev-hash": "^4.0.0", 37 | "sade": "^1.8.1", 38 | "temp-write": "^5.0.0", 39 | "tempy": "^3.0.0", 40 | "typed-css-modules": "^0.7.2" 41 | }, 42 | "bin": { 43 | "build-figma-plugin": "lib/cli.js" 44 | }, 45 | "engines": { 46 | "node": ">=14" 47 | }, 48 | "peerDependencies": { 49 | "@figma/plugin-typings": "^1", 50 | "typescript": "^4" 51 | } 52 | }, 53 | "node_modules/@create-figma-plugin/common": { 54 | "version": "1.9.1", 55 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/common/-/common-1.9.1.tgz", 56 | "integrity": "sha512-5RAWEFB0w89O8fX8JQfdjvFuJZ7ptbjvxLnmIko8P9wN/D2omp6cJqUEgWc58olmUpbIqZI+3Qvj8045Das81w==", 57 | "dev": true, 58 | "dependencies": { 59 | "@sindresorhus/slugify": "2.1.0", 60 | "fs-extra": "^10.1.0", 61 | "kleur": "^4.1.4" 62 | }, 63 | "engines": { 64 | "node": ">=14" 65 | } 66 | }, 67 | "node_modules/@create-figma-plugin/tsconfig": { 68 | "version": "1.9.1", 69 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/tsconfig/-/tsconfig-1.9.1.tgz", 70 | "integrity": "sha512-qU43PlYIFVK2cEA/mUWUpfdFooMZj+xMbaXOx2ogtvn8HbaSYCpbJ/68omF3p31AE3v5Al6v+oEhtsmgIOlG9Q==", 71 | "dev": true 72 | }, 73 | "node_modules/@create-figma-plugin/ui": { 74 | "version": "1.9.1", 75 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/ui/-/ui-1.9.1.tgz", 76 | "integrity": "sha512-5ixmGnPOsnhKpxqv0045AneVUyOIUCaZr7GjxwZMQP54gXvLuXsHfrbyawh8imq/Ed8XnxVptqb1R4EaZlOTOg==", 77 | "dependencies": { 78 | "@create-figma-plugin/utilities": "^1.9.1" 79 | }, 80 | "engines": { 81 | "node": ">=14" 82 | }, 83 | "peerDependencies": { 84 | "preact": "^10" 85 | } 86 | }, 87 | "node_modules/@create-figma-plugin/utilities": { 88 | "version": "1.9.1", 89 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/utilities/-/utilities-1.9.1.tgz", 90 | "integrity": "sha512-Ol3Kx8zFsSpUMlyuzEOrNMwYpIHTVAaXq/aSKjbhD+X59L7hPMLMO2wGNw1CumYHVKOEFHZlo5+lnseBt1lZbQ==", 91 | "dependencies": { 92 | "hex-rgb": "^5.0.0", 93 | "natural-compare-lite": "1.4.0", 94 | "rgb-hex": "^4.0.0" 95 | }, 96 | "engines": { 97 | "node": ">=14" 98 | } 99 | }, 100 | "node_modules/@figma/plugin-typings": { 101 | "version": "1.42.1", 102 | "resolved": "https://registry.npmjs.org/@figma/plugin-typings/-/plugin-typings-1.42.1.tgz", 103 | "integrity": "sha512-TQy81xtgcNWhu2uSiOZIxzGOC8Y/9rcP04GLp2f5MGg/LOH5BPNIkc8mRYPqInwcgQTnvxDpirr8MpYQPYRwDQ==", 104 | "dev": true 105 | }, 106 | "node_modules/@nodelib/fs.scandir": { 107 | "version": "2.1.5", 108 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 109 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 110 | "dev": true, 111 | "dependencies": { 112 | "@nodelib/fs.stat": "2.0.5", 113 | "run-parallel": "^1.1.9" 114 | }, 115 | "engines": { 116 | "node": ">= 8" 117 | } 118 | }, 119 | "node_modules/@nodelib/fs.stat": { 120 | "version": "2.0.5", 121 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 122 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 123 | "dev": true, 124 | "engines": { 125 | "node": ">= 8" 126 | } 127 | }, 128 | "node_modules/@nodelib/fs.walk": { 129 | "version": "1.2.8", 130 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 131 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 132 | "dev": true, 133 | "dependencies": { 134 | "@nodelib/fs.scandir": "2.1.5", 135 | "fastq": "^1.6.0" 136 | }, 137 | "engines": { 138 | "node": ">= 8" 139 | } 140 | }, 141 | "node_modules/@sindresorhus/slugify": { 142 | "version": "2.1.0", 143 | "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.1.0.tgz", 144 | "integrity": "sha512-gU3Gdm/V167BmUwIn8APHZ3SeeRVRUSOdXxnt7Q/JkUHLXaaTA/prYmoRumwsSitJZWUDYMzDWdWgrOdvE8IRQ==", 145 | "dev": true, 146 | "dependencies": { 147 | "@sindresorhus/transliterate": "^1.0.0", 148 | "escape-string-regexp": "^5.0.0" 149 | }, 150 | "engines": { 151 | "node": ">=12" 152 | }, 153 | "funding": { 154 | "url": "https://github.com/sponsors/sindresorhus" 155 | } 156 | }, 157 | "node_modules/@sindresorhus/transliterate": { 158 | "version": "1.5.0", 159 | "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.5.0.tgz", 160 | "integrity": "sha512-/sfSkoNelLq5riqNRp5uBjHIKBi1MWZk9ubRT1WiBQuTfmDf7BeQkph2DJzRB83QagMPHk2VDjuvpy0VuwyzdA==", 161 | "dev": true, 162 | "dependencies": { 163 | "escape-string-regexp": "^5.0.0", 164 | "lodash.deburr": "^4.1.0" 165 | }, 166 | "engines": { 167 | "node": ">=12" 168 | }, 169 | "funding": { 170 | "url": "https://github.com/sponsors/sindresorhus" 171 | } 172 | }, 173 | "node_modules/@trysound/sax": { 174 | "version": "0.2.0", 175 | "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", 176 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", 177 | "dev": true, 178 | "engines": { 179 | "node": ">=10.13.0" 180 | } 181 | }, 182 | "node_modules/@types/css-modules-loader-core": { 183 | "version": "1.1.0", 184 | "resolved": "https://registry.npmjs.org/@types/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", 185 | "integrity": "sha512-LMbyf7THPqLCPHIXAj79v9Pa193MeOHgp1fBFRR6s6VvEVHUFIcM5bc/WttslOf+lao4TURNN1X1zfW5wr2CHQ==", 186 | "dev": true, 187 | "dependencies": { 188 | "postcss": "7.x.x" 189 | } 190 | }, 191 | "node_modules/@types/css-modules-loader-core/node_modules/picocolors": { 192 | "version": "0.2.1", 193 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", 194 | "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", 195 | "dev": true 196 | }, 197 | "node_modules/@types/css-modules-loader-core/node_modules/postcss": { 198 | "version": "7.0.39", 199 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", 200 | "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", 201 | "dev": true, 202 | "dependencies": { 203 | "picocolors": "^0.2.1", 204 | "source-map": "^0.6.1" 205 | }, 206 | "engines": { 207 | "node": ">=6.0.0" 208 | }, 209 | "funding": { 210 | "type": "opencollective", 211 | "url": "https://opencollective.com/postcss/" 212 | } 213 | }, 214 | "node_modules/ansi-regex": { 215 | "version": "5.0.1", 216 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 217 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 218 | "dev": true, 219 | "engines": { 220 | "node": ">=8" 221 | } 222 | }, 223 | "node_modules/ansi-styles": { 224 | "version": "4.3.0", 225 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 226 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 227 | "dev": true, 228 | "dependencies": { 229 | "color-convert": "^2.0.1" 230 | }, 231 | "engines": { 232 | "node": ">=8" 233 | }, 234 | "funding": { 235 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 236 | } 237 | }, 238 | "node_modules/anymatch": { 239 | "version": "3.1.2", 240 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 241 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 242 | "dev": true, 243 | "dependencies": { 244 | "normalize-path": "^3.0.0", 245 | "picomatch": "^2.0.4" 246 | }, 247 | "engines": { 248 | "node": ">= 8" 249 | } 250 | }, 251 | "node_modules/balanced-match": { 252 | "version": "1.0.2", 253 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 254 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 255 | "dev": true 256 | }, 257 | "node_modules/binary-extensions": { 258 | "version": "2.2.0", 259 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 260 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 261 | "dev": true, 262 | "engines": { 263 | "node": ">=8" 264 | } 265 | }, 266 | "node_modules/boolbase": { 267 | "version": "1.0.0", 268 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 269 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", 270 | "dev": true 271 | }, 272 | "node_modules/brace-expansion": { 273 | "version": "1.1.11", 274 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 275 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 276 | "dev": true, 277 | "dependencies": { 278 | "balanced-match": "^1.0.0", 279 | "concat-map": "0.0.1" 280 | } 281 | }, 282 | "node_modules/braces": { 283 | "version": "3.0.2", 284 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 285 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 286 | "dev": true, 287 | "dependencies": { 288 | "fill-range": "^7.0.1" 289 | }, 290 | "engines": { 291 | "node": ">=8" 292 | } 293 | }, 294 | "node_modules/browserslist": { 295 | "version": "4.20.3", 296 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", 297 | "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", 298 | "dev": true, 299 | "funding": [ 300 | { 301 | "type": "opencollective", 302 | "url": "https://opencollective.com/browserslist" 303 | }, 304 | { 305 | "type": "tidelift", 306 | "url": "https://tidelift.com/funding/github/npm/browserslist" 307 | } 308 | ], 309 | "dependencies": { 310 | "caniuse-lite": "^1.0.30001332", 311 | "electron-to-chromium": "^1.4.118", 312 | "escalade": "^3.1.1", 313 | "node-releases": "^2.0.3", 314 | "picocolors": "^1.0.0" 315 | }, 316 | "bin": { 317 | "browserslist": "cli.js" 318 | }, 319 | "engines": { 320 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 321 | } 322 | }, 323 | "node_modules/camelcase": { 324 | "version": "6.3.0", 325 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", 326 | "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", 327 | "dev": true, 328 | "engines": { 329 | "node": ">=10" 330 | }, 331 | "funding": { 332 | "url": "https://github.com/sponsors/sindresorhus" 333 | } 334 | }, 335 | "node_modules/caniuse-api": { 336 | "version": "3.0.0", 337 | "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", 338 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", 339 | "dev": true, 340 | "dependencies": { 341 | "browserslist": "^4.0.0", 342 | "caniuse-lite": "^1.0.0", 343 | "lodash.memoize": "^4.1.2", 344 | "lodash.uniq": "^4.5.0" 345 | } 346 | }, 347 | "node_modules/caniuse-lite": { 348 | "version": "1.0.30001339", 349 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001339.tgz", 350 | "integrity": "sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ==", 351 | "dev": true, 352 | "funding": [ 353 | { 354 | "type": "opencollective", 355 | "url": "https://opencollective.com/browserslist" 356 | }, 357 | { 358 | "type": "tidelift", 359 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 360 | } 361 | ] 362 | }, 363 | "node_modules/chalk": { 364 | "version": "4.1.2", 365 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 366 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 367 | "dev": true, 368 | "dependencies": { 369 | "ansi-styles": "^4.1.0", 370 | "supports-color": "^7.1.0" 371 | }, 372 | "engines": { 373 | "node": ">=10" 374 | }, 375 | "funding": { 376 | "url": "https://github.com/chalk/chalk?sponsor=1" 377 | } 378 | }, 379 | "node_modules/chokidar": { 380 | "version": "3.5.3", 381 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 382 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 383 | "dev": true, 384 | "funding": [ 385 | { 386 | "type": "individual", 387 | "url": "https://paulmillr.com/funding/" 388 | } 389 | ], 390 | "dependencies": { 391 | "anymatch": "~3.1.2", 392 | "braces": "~3.0.2", 393 | "glob-parent": "~5.1.2", 394 | "is-binary-path": "~2.1.0", 395 | "is-glob": "~4.0.1", 396 | "normalize-path": "~3.0.0", 397 | "readdirp": "~3.6.0" 398 | }, 399 | "engines": { 400 | "node": ">= 8.10.0" 401 | }, 402 | "optionalDependencies": { 403 | "fsevents": "~2.3.2" 404 | } 405 | }, 406 | "node_modules/cliui": { 407 | "version": "6.0.0", 408 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", 409 | "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", 410 | "dev": true, 411 | "dependencies": { 412 | "string-width": "^4.2.0", 413 | "strip-ansi": "^6.0.0", 414 | "wrap-ansi": "^6.2.0" 415 | } 416 | }, 417 | "node_modules/color-convert": { 418 | "version": "2.0.1", 419 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 420 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 421 | "dev": true, 422 | "dependencies": { 423 | "color-name": "~1.1.4" 424 | }, 425 | "engines": { 426 | "node": ">=7.0.0" 427 | } 428 | }, 429 | "node_modules/color-name": { 430 | "version": "1.1.4", 431 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 432 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 433 | "dev": true 434 | }, 435 | "node_modules/colord": { 436 | "version": "2.9.2", 437 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", 438 | "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", 439 | "dev": true 440 | }, 441 | "node_modules/commander": { 442 | "version": "7.2.0", 443 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 444 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 445 | "dev": true, 446 | "engines": { 447 | "node": ">= 10" 448 | } 449 | }, 450 | "node_modules/concat-map": { 451 | "version": "0.0.1", 452 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 453 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 454 | "dev": true 455 | }, 456 | "node_modules/crypto-random-string": { 457 | "version": "4.0.0", 458 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", 459 | "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", 460 | "dev": true, 461 | "dependencies": { 462 | "type-fest": "^1.0.1" 463 | }, 464 | "engines": { 465 | "node": ">=12" 466 | }, 467 | "funding": { 468 | "url": "https://github.com/sponsors/sindresorhus" 469 | } 470 | }, 471 | "node_modules/crypto-random-string/node_modules/type-fest": { 472 | "version": "1.4.0", 473 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", 474 | "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", 475 | "dev": true, 476 | "engines": { 477 | "node": ">=10" 478 | }, 479 | "funding": { 480 | "url": "https://github.com/sponsors/sindresorhus" 481 | } 482 | }, 483 | "node_modules/css-declaration-sorter": { 484 | "version": "6.2.2", 485 | "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", 486 | "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", 487 | "dev": true, 488 | "engines": { 489 | "node": "^10 || ^12 || >=14" 490 | }, 491 | "peerDependencies": { 492 | "postcss": "^8.0.9" 493 | } 494 | }, 495 | "node_modules/css-modules-loader-core": { 496 | "version": "1.1.0", 497 | "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", 498 | "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", 499 | "dev": true, 500 | "dependencies": { 501 | "icss-replace-symbols": "1.1.0", 502 | "postcss": "6.0.1", 503 | "postcss-modules-extract-imports": "1.1.0", 504 | "postcss-modules-local-by-default": "1.2.0", 505 | "postcss-modules-scope": "1.1.0", 506 | "postcss-modules-values": "1.3.0" 507 | } 508 | }, 509 | "node_modules/css-modules-loader-core/node_modules/ansi-regex": { 510 | "version": "2.1.1", 511 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 512 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 513 | "dev": true, 514 | "engines": { 515 | "node": ">=0.10.0" 516 | } 517 | }, 518 | "node_modules/css-modules-loader-core/node_modules/ansi-styles": { 519 | "version": "2.2.1", 520 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 521 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 522 | "dev": true, 523 | "engines": { 524 | "node": ">=0.10.0" 525 | } 526 | }, 527 | "node_modules/css-modules-loader-core/node_modules/chalk": { 528 | "version": "1.1.3", 529 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 530 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 531 | "dev": true, 532 | "dependencies": { 533 | "ansi-styles": "^2.2.1", 534 | "escape-string-regexp": "^1.0.2", 535 | "has-ansi": "^2.0.0", 536 | "strip-ansi": "^3.0.0", 537 | "supports-color": "^2.0.0" 538 | }, 539 | "engines": { 540 | "node": ">=0.10.0" 541 | } 542 | }, 543 | "node_modules/css-modules-loader-core/node_modules/chalk/node_modules/supports-color": { 544 | "version": "2.0.0", 545 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 546 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 547 | "dev": true, 548 | "engines": { 549 | "node": ">=0.8.0" 550 | } 551 | }, 552 | "node_modules/css-modules-loader-core/node_modules/escape-string-regexp": { 553 | "version": "1.0.5", 554 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 555 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 556 | "dev": true, 557 | "engines": { 558 | "node": ">=0.8.0" 559 | } 560 | }, 561 | "node_modules/css-modules-loader-core/node_modules/has-flag": { 562 | "version": "1.0.0", 563 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 564 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 565 | "dev": true, 566 | "engines": { 567 | "node": ">=0.10.0" 568 | } 569 | }, 570 | "node_modules/css-modules-loader-core/node_modules/postcss": { 571 | "version": "6.0.1", 572 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", 573 | "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", 574 | "dev": true, 575 | "dependencies": { 576 | "chalk": "^1.1.3", 577 | "source-map": "^0.5.6", 578 | "supports-color": "^3.2.3" 579 | }, 580 | "engines": { 581 | "node": ">=4.0.0" 582 | } 583 | }, 584 | "node_modules/css-modules-loader-core/node_modules/postcss-modules-extract-imports": { 585 | "version": "1.1.0", 586 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", 587 | "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", 588 | "dev": true, 589 | "dependencies": { 590 | "postcss": "^6.0.1" 591 | } 592 | }, 593 | "node_modules/css-modules-loader-core/node_modules/postcss-modules-local-by-default": { 594 | "version": "1.2.0", 595 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", 596 | "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", 597 | "dev": true, 598 | "dependencies": { 599 | "css-selector-tokenizer": "^0.7.0", 600 | "postcss": "^6.0.1" 601 | } 602 | }, 603 | "node_modules/css-modules-loader-core/node_modules/postcss-modules-scope": { 604 | "version": "1.1.0", 605 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", 606 | "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", 607 | "dev": true, 608 | "dependencies": { 609 | "css-selector-tokenizer": "^0.7.0", 610 | "postcss": "^6.0.1" 611 | } 612 | }, 613 | "node_modules/css-modules-loader-core/node_modules/postcss-modules-values": { 614 | "version": "1.3.0", 615 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", 616 | "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", 617 | "dev": true, 618 | "dependencies": { 619 | "icss-replace-symbols": "^1.1.0", 620 | "postcss": "^6.0.1" 621 | } 622 | }, 623 | "node_modules/css-modules-loader-core/node_modules/source-map": { 624 | "version": "0.5.7", 625 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 626 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 627 | "dev": true, 628 | "engines": { 629 | "node": ">=0.10.0" 630 | } 631 | }, 632 | "node_modules/css-modules-loader-core/node_modules/strip-ansi": { 633 | "version": "3.0.1", 634 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 635 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 636 | "dev": true, 637 | "dependencies": { 638 | "ansi-regex": "^2.0.0" 639 | }, 640 | "engines": { 641 | "node": ">=0.10.0" 642 | } 643 | }, 644 | "node_modules/css-modules-loader-core/node_modules/supports-color": { 645 | "version": "3.2.3", 646 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 647 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 648 | "dev": true, 649 | "dependencies": { 650 | "has-flag": "^1.0.0" 651 | }, 652 | "engines": { 653 | "node": ">=0.8.0" 654 | } 655 | }, 656 | "node_modules/css-select": { 657 | "version": "4.3.0", 658 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", 659 | "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", 660 | "dev": true, 661 | "dependencies": { 662 | "boolbase": "^1.0.0", 663 | "css-what": "^6.0.1", 664 | "domhandler": "^4.3.1", 665 | "domutils": "^2.8.0", 666 | "nth-check": "^2.0.1" 667 | }, 668 | "funding": { 669 | "url": "https://github.com/sponsors/fb55" 670 | } 671 | }, 672 | "node_modules/css-selector-tokenizer": { 673 | "version": "0.7.3", 674 | "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", 675 | "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", 676 | "dev": true, 677 | "dependencies": { 678 | "cssesc": "^3.0.0", 679 | "fastparse": "^1.1.2" 680 | } 681 | }, 682 | "node_modules/css-tree": { 683 | "version": "1.1.3", 684 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", 685 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", 686 | "dev": true, 687 | "dependencies": { 688 | "mdn-data": "2.0.14", 689 | "source-map": "^0.6.1" 690 | }, 691 | "engines": { 692 | "node": ">=8.0.0" 693 | } 694 | }, 695 | "node_modules/css-what": { 696 | "version": "6.1.0", 697 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 698 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 699 | "dev": true, 700 | "engines": { 701 | "node": ">= 6" 702 | }, 703 | "funding": { 704 | "url": "https://github.com/sponsors/fb55" 705 | } 706 | }, 707 | "node_modules/cssesc": { 708 | "version": "3.0.0", 709 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 710 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 711 | "dev": true, 712 | "bin": { 713 | "cssesc": "bin/cssesc" 714 | }, 715 | "engines": { 716 | "node": ">=4" 717 | } 718 | }, 719 | "node_modules/cssnano": { 720 | "version": "5.1.7", 721 | "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", 722 | "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", 723 | "dev": true, 724 | "dependencies": { 725 | "cssnano-preset-default": "^5.2.7", 726 | "lilconfig": "^2.0.3", 727 | "yaml": "^1.10.2" 728 | }, 729 | "engines": { 730 | "node": "^10 || ^12 || >=14.0" 731 | }, 732 | "funding": { 733 | "type": "opencollective", 734 | "url": "https://opencollective.com/cssnano" 735 | }, 736 | "peerDependencies": { 737 | "postcss": "^8.2.15" 738 | } 739 | }, 740 | "node_modules/cssnano-preset-default": { 741 | "version": "5.2.7", 742 | "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", 743 | "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", 744 | "dev": true, 745 | "dependencies": { 746 | "css-declaration-sorter": "^6.2.2", 747 | "cssnano-utils": "^3.1.0", 748 | "postcss-calc": "^8.2.3", 749 | "postcss-colormin": "^5.3.0", 750 | "postcss-convert-values": "^5.1.0", 751 | "postcss-discard-comments": "^5.1.1", 752 | "postcss-discard-duplicates": "^5.1.0", 753 | "postcss-discard-empty": "^5.1.1", 754 | "postcss-discard-overridden": "^5.1.0", 755 | "postcss-merge-longhand": "^5.1.4", 756 | "postcss-merge-rules": "^5.1.1", 757 | "postcss-minify-font-values": "^5.1.0", 758 | "postcss-minify-gradients": "^5.1.1", 759 | "postcss-minify-params": "^5.1.2", 760 | "postcss-minify-selectors": "^5.2.0", 761 | "postcss-normalize-charset": "^5.1.0", 762 | "postcss-normalize-display-values": "^5.1.0", 763 | "postcss-normalize-positions": "^5.1.0", 764 | "postcss-normalize-repeat-style": "^5.1.0", 765 | "postcss-normalize-string": "^5.1.0", 766 | "postcss-normalize-timing-functions": "^5.1.0", 767 | "postcss-normalize-unicode": "^5.1.0", 768 | "postcss-normalize-url": "^5.1.0", 769 | "postcss-normalize-whitespace": "^5.1.1", 770 | "postcss-ordered-values": "^5.1.1", 771 | "postcss-reduce-initial": "^5.1.0", 772 | "postcss-reduce-transforms": "^5.1.0", 773 | "postcss-svgo": "^5.1.0", 774 | "postcss-unique-selectors": "^5.1.1" 775 | }, 776 | "engines": { 777 | "node": "^10 || ^12 || >=14.0" 778 | }, 779 | "peerDependencies": { 780 | "postcss": "^8.2.15" 781 | } 782 | }, 783 | "node_modules/cssnano-utils": { 784 | "version": "3.1.0", 785 | "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", 786 | "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", 787 | "dev": true, 788 | "engines": { 789 | "node": "^10 || ^12 || >=14.0" 790 | }, 791 | "peerDependencies": { 792 | "postcss": "^8.2.15" 793 | } 794 | }, 795 | "node_modules/csso": { 796 | "version": "4.2.0", 797 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", 798 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", 799 | "dev": true, 800 | "dependencies": { 801 | "css-tree": "^1.1.2" 802 | }, 803 | "engines": { 804 | "node": ">=8.0.0" 805 | } 806 | }, 807 | "node_modules/decamelize": { 808 | "version": "1.2.0", 809 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 810 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 811 | "dev": true, 812 | "engines": { 813 | "node": ">=0.10.0" 814 | } 815 | }, 816 | "node_modules/dir-glob": { 817 | "version": "3.0.1", 818 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 819 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 820 | "dev": true, 821 | "dependencies": { 822 | "path-type": "^4.0.0" 823 | }, 824 | "engines": { 825 | "node": ">=8" 826 | } 827 | }, 828 | "node_modules/dom-serializer": { 829 | "version": "1.4.1", 830 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", 831 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", 832 | "dev": true, 833 | "dependencies": { 834 | "domelementtype": "^2.0.1", 835 | "domhandler": "^4.2.0", 836 | "entities": "^2.0.0" 837 | }, 838 | "funding": { 839 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 840 | } 841 | }, 842 | "node_modules/domelementtype": { 843 | "version": "2.3.0", 844 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 845 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 846 | "dev": true, 847 | "funding": [ 848 | { 849 | "type": "github", 850 | "url": "https://github.com/sponsors/fb55" 851 | } 852 | ] 853 | }, 854 | "node_modules/domhandler": { 855 | "version": "4.3.1", 856 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", 857 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", 858 | "dev": true, 859 | "dependencies": { 860 | "domelementtype": "^2.2.0" 861 | }, 862 | "engines": { 863 | "node": ">= 4" 864 | }, 865 | "funding": { 866 | "url": "https://github.com/fb55/domhandler?sponsor=1" 867 | } 868 | }, 869 | "node_modules/domutils": { 870 | "version": "2.8.0", 871 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", 872 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 873 | "dev": true, 874 | "dependencies": { 875 | "dom-serializer": "^1.0.1", 876 | "domelementtype": "^2.2.0", 877 | "domhandler": "^4.2.0" 878 | }, 879 | "funding": { 880 | "url": "https://github.com/fb55/domutils?sponsor=1" 881 | } 882 | }, 883 | "node_modules/electron-to-chromium": { 884 | "version": "1.4.137", 885 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", 886 | "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", 887 | "dev": true 888 | }, 889 | "node_modules/emoji-regex": { 890 | "version": "8.0.0", 891 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 892 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 893 | "dev": true 894 | }, 895 | "node_modules/entities": { 896 | "version": "2.2.0", 897 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 898 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 899 | "dev": true, 900 | "funding": { 901 | "url": "https://github.com/fb55/entities?sponsor=1" 902 | } 903 | }, 904 | "node_modules/esbuild": { 905 | "version": "0.14.38", 906 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.38.tgz", 907 | "integrity": "sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==", 908 | "dev": true, 909 | "hasInstallScript": true, 910 | "bin": { 911 | "esbuild": "bin/esbuild" 912 | }, 913 | "engines": { 914 | "node": ">=12" 915 | }, 916 | "optionalDependencies": { 917 | "esbuild-android-64": "0.14.38", 918 | "esbuild-android-arm64": "0.14.38", 919 | "esbuild-darwin-64": "0.14.38", 920 | "esbuild-darwin-arm64": "0.14.38", 921 | "esbuild-freebsd-64": "0.14.38", 922 | "esbuild-freebsd-arm64": "0.14.38", 923 | "esbuild-linux-32": "0.14.38", 924 | "esbuild-linux-64": "0.14.38", 925 | "esbuild-linux-arm": "0.14.38", 926 | "esbuild-linux-arm64": "0.14.38", 927 | "esbuild-linux-mips64le": "0.14.38", 928 | "esbuild-linux-ppc64le": "0.14.38", 929 | "esbuild-linux-riscv64": "0.14.38", 930 | "esbuild-linux-s390x": "0.14.38", 931 | "esbuild-netbsd-64": "0.14.38", 932 | "esbuild-openbsd-64": "0.14.38", 933 | "esbuild-sunos-64": "0.14.38", 934 | "esbuild-windows-32": "0.14.38", 935 | "esbuild-windows-64": "0.14.38", 936 | "esbuild-windows-arm64": "0.14.38" 937 | } 938 | }, 939 | "node_modules/esbuild-android-64": { 940 | "version": "0.14.38", 941 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz", 942 | "integrity": "sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==", 943 | "cpu": [ 944 | "x64" 945 | ], 946 | "dev": true, 947 | "optional": true, 948 | "os": [ 949 | "android" 950 | ], 951 | "engines": { 952 | "node": ">=12" 953 | } 954 | }, 955 | "node_modules/esbuild-android-arm64": { 956 | "version": "0.14.38", 957 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz", 958 | "integrity": "sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==", 959 | "cpu": [ 960 | "arm64" 961 | ], 962 | "dev": true, 963 | "optional": true, 964 | "os": [ 965 | "android" 966 | ], 967 | "engines": { 968 | "node": ">=12" 969 | } 970 | }, 971 | "node_modules/esbuild-darwin-64": { 972 | "version": "0.14.38", 973 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz", 974 | "integrity": "sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==", 975 | "cpu": [ 976 | "x64" 977 | ], 978 | "dev": true, 979 | "optional": true, 980 | "os": [ 981 | "darwin" 982 | ], 983 | "engines": { 984 | "node": ">=12" 985 | } 986 | }, 987 | "node_modules/esbuild-darwin-arm64": { 988 | "version": "0.14.38", 989 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz", 990 | "integrity": "sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==", 991 | "cpu": [ 992 | "arm64" 993 | ], 994 | "dev": true, 995 | "optional": true, 996 | "os": [ 997 | "darwin" 998 | ], 999 | "engines": { 1000 | "node": ">=12" 1001 | } 1002 | }, 1003 | "node_modules/esbuild-freebsd-64": { 1004 | "version": "0.14.38", 1005 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz", 1006 | "integrity": "sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==", 1007 | "cpu": [ 1008 | "x64" 1009 | ], 1010 | "dev": true, 1011 | "optional": true, 1012 | "os": [ 1013 | "freebsd" 1014 | ], 1015 | "engines": { 1016 | "node": ">=12" 1017 | } 1018 | }, 1019 | "node_modules/esbuild-freebsd-arm64": { 1020 | "version": "0.14.38", 1021 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz", 1022 | "integrity": "sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==", 1023 | "cpu": [ 1024 | "arm64" 1025 | ], 1026 | "dev": true, 1027 | "optional": true, 1028 | "os": [ 1029 | "freebsd" 1030 | ], 1031 | "engines": { 1032 | "node": ">=12" 1033 | } 1034 | }, 1035 | "node_modules/esbuild-linux-32": { 1036 | "version": "0.14.38", 1037 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz", 1038 | "integrity": "sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==", 1039 | "cpu": [ 1040 | "ia32" 1041 | ], 1042 | "dev": true, 1043 | "optional": true, 1044 | "os": [ 1045 | "linux" 1046 | ], 1047 | "engines": { 1048 | "node": ">=12" 1049 | } 1050 | }, 1051 | "node_modules/esbuild-linux-64": { 1052 | "version": "0.14.38", 1053 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz", 1054 | "integrity": "sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==", 1055 | "cpu": [ 1056 | "x64" 1057 | ], 1058 | "dev": true, 1059 | "optional": true, 1060 | "os": [ 1061 | "linux" 1062 | ], 1063 | "engines": { 1064 | "node": ">=12" 1065 | } 1066 | }, 1067 | "node_modules/esbuild-linux-arm": { 1068 | "version": "0.14.38", 1069 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz", 1070 | "integrity": "sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==", 1071 | "cpu": [ 1072 | "arm" 1073 | ], 1074 | "dev": true, 1075 | "optional": true, 1076 | "os": [ 1077 | "linux" 1078 | ], 1079 | "engines": { 1080 | "node": ">=12" 1081 | } 1082 | }, 1083 | "node_modules/esbuild-linux-arm64": { 1084 | "version": "0.14.38", 1085 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz", 1086 | "integrity": "sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==", 1087 | "cpu": [ 1088 | "arm64" 1089 | ], 1090 | "dev": true, 1091 | "optional": true, 1092 | "os": [ 1093 | "linux" 1094 | ], 1095 | "engines": { 1096 | "node": ">=12" 1097 | } 1098 | }, 1099 | "node_modules/esbuild-linux-mips64le": { 1100 | "version": "0.14.38", 1101 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz", 1102 | "integrity": "sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==", 1103 | "cpu": [ 1104 | "mips64el" 1105 | ], 1106 | "dev": true, 1107 | "optional": true, 1108 | "os": [ 1109 | "linux" 1110 | ], 1111 | "engines": { 1112 | "node": ">=12" 1113 | } 1114 | }, 1115 | "node_modules/esbuild-linux-ppc64le": { 1116 | "version": "0.14.38", 1117 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz", 1118 | "integrity": "sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==", 1119 | "cpu": [ 1120 | "ppc64" 1121 | ], 1122 | "dev": true, 1123 | "optional": true, 1124 | "os": [ 1125 | "linux" 1126 | ], 1127 | "engines": { 1128 | "node": ">=12" 1129 | } 1130 | }, 1131 | "node_modules/esbuild-linux-riscv64": { 1132 | "version": "0.14.38", 1133 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz", 1134 | "integrity": "sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==", 1135 | "cpu": [ 1136 | "riscv64" 1137 | ], 1138 | "dev": true, 1139 | "optional": true, 1140 | "os": [ 1141 | "linux" 1142 | ], 1143 | "engines": { 1144 | "node": ">=12" 1145 | } 1146 | }, 1147 | "node_modules/esbuild-linux-s390x": { 1148 | "version": "0.14.38", 1149 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz", 1150 | "integrity": "sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==", 1151 | "cpu": [ 1152 | "s390x" 1153 | ], 1154 | "dev": true, 1155 | "optional": true, 1156 | "os": [ 1157 | "linux" 1158 | ], 1159 | "engines": { 1160 | "node": ">=12" 1161 | } 1162 | }, 1163 | "node_modules/esbuild-netbsd-64": { 1164 | "version": "0.14.38", 1165 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz", 1166 | "integrity": "sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==", 1167 | "cpu": [ 1168 | "x64" 1169 | ], 1170 | "dev": true, 1171 | "optional": true, 1172 | "os": [ 1173 | "netbsd" 1174 | ], 1175 | "engines": { 1176 | "node": ">=12" 1177 | } 1178 | }, 1179 | "node_modules/esbuild-openbsd-64": { 1180 | "version": "0.14.38", 1181 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz", 1182 | "integrity": "sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==", 1183 | "cpu": [ 1184 | "x64" 1185 | ], 1186 | "dev": true, 1187 | "optional": true, 1188 | "os": [ 1189 | "openbsd" 1190 | ], 1191 | "engines": { 1192 | "node": ">=12" 1193 | } 1194 | }, 1195 | "node_modules/esbuild-sunos-64": { 1196 | "version": "0.14.38", 1197 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz", 1198 | "integrity": "sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==", 1199 | "cpu": [ 1200 | "x64" 1201 | ], 1202 | "dev": true, 1203 | "optional": true, 1204 | "os": [ 1205 | "sunos" 1206 | ], 1207 | "engines": { 1208 | "node": ">=12" 1209 | } 1210 | }, 1211 | "node_modules/esbuild-windows-32": { 1212 | "version": "0.14.38", 1213 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz", 1214 | "integrity": "sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==", 1215 | "cpu": [ 1216 | "ia32" 1217 | ], 1218 | "dev": true, 1219 | "optional": true, 1220 | "os": [ 1221 | "win32" 1222 | ], 1223 | "engines": { 1224 | "node": ">=12" 1225 | } 1226 | }, 1227 | "node_modules/esbuild-windows-64": { 1228 | "version": "0.14.38", 1229 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz", 1230 | "integrity": "sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==", 1231 | "cpu": [ 1232 | "x64" 1233 | ], 1234 | "dev": true, 1235 | "optional": true, 1236 | "os": [ 1237 | "win32" 1238 | ], 1239 | "engines": { 1240 | "node": ">=12" 1241 | } 1242 | }, 1243 | "node_modules/esbuild-windows-arm64": { 1244 | "version": "0.14.38", 1245 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz", 1246 | "integrity": "sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==", 1247 | "cpu": [ 1248 | "arm64" 1249 | ], 1250 | "dev": true, 1251 | "optional": true, 1252 | "os": [ 1253 | "win32" 1254 | ], 1255 | "engines": { 1256 | "node": ">=12" 1257 | } 1258 | }, 1259 | "node_modules/escalade": { 1260 | "version": "3.1.1", 1261 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1262 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1263 | "dev": true, 1264 | "engines": { 1265 | "node": ">=6" 1266 | } 1267 | }, 1268 | "node_modules/escape-string-regexp": { 1269 | "version": "5.0.0", 1270 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", 1271 | "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", 1272 | "dev": true, 1273 | "engines": { 1274 | "node": ">=12" 1275 | }, 1276 | "funding": { 1277 | "url": "https://github.com/sponsors/sindresorhus" 1278 | } 1279 | }, 1280 | "node_modules/fast-glob": { 1281 | "version": "3.2.11", 1282 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 1283 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 1284 | "dev": true, 1285 | "dependencies": { 1286 | "@nodelib/fs.stat": "^2.0.2", 1287 | "@nodelib/fs.walk": "^1.2.3", 1288 | "glob-parent": "^5.1.2", 1289 | "merge2": "^1.3.0", 1290 | "micromatch": "^4.0.4" 1291 | }, 1292 | "engines": { 1293 | "node": ">=8.6.0" 1294 | } 1295 | }, 1296 | "node_modules/fastparse": { 1297 | "version": "1.1.2", 1298 | "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", 1299 | "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", 1300 | "dev": true 1301 | }, 1302 | "node_modules/fastq": { 1303 | "version": "1.13.0", 1304 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 1305 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 1306 | "dev": true, 1307 | "dependencies": { 1308 | "reusify": "^1.0.4" 1309 | } 1310 | }, 1311 | "node_modules/fill-range": { 1312 | "version": "7.0.1", 1313 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1314 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1315 | "dev": true, 1316 | "dependencies": { 1317 | "to-regex-range": "^5.0.1" 1318 | }, 1319 | "engines": { 1320 | "node": ">=8" 1321 | } 1322 | }, 1323 | "node_modules/find-up": { 1324 | "version": "6.3.0", 1325 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", 1326 | "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", 1327 | "dev": true, 1328 | "dependencies": { 1329 | "locate-path": "^7.1.0", 1330 | "path-exists": "^5.0.0" 1331 | }, 1332 | "engines": { 1333 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1334 | }, 1335 | "funding": { 1336 | "url": "https://github.com/sponsors/sindresorhus" 1337 | } 1338 | }, 1339 | "node_modules/fs-extra": { 1340 | "version": "10.1.0", 1341 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", 1342 | "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", 1343 | "dev": true, 1344 | "dependencies": { 1345 | "graceful-fs": "^4.2.0", 1346 | "jsonfile": "^6.0.1", 1347 | "universalify": "^2.0.0" 1348 | }, 1349 | "engines": { 1350 | "node": ">=12" 1351 | } 1352 | }, 1353 | "node_modules/fs.realpath": { 1354 | "version": "1.0.0", 1355 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1356 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1357 | "dev": true 1358 | }, 1359 | "node_modules/fsevents": { 1360 | "version": "2.3.2", 1361 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1362 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1363 | "dev": true, 1364 | "hasInstallScript": true, 1365 | "optional": true, 1366 | "os": [ 1367 | "darwin" 1368 | ], 1369 | "engines": { 1370 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1371 | } 1372 | }, 1373 | "node_modules/generic-names": { 1374 | "version": "4.0.0", 1375 | "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", 1376 | "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", 1377 | "dev": true, 1378 | "dependencies": { 1379 | "loader-utils": "^3.2.0" 1380 | } 1381 | }, 1382 | "node_modules/get-caller-file": { 1383 | "version": "2.0.5", 1384 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1385 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1386 | "dev": true, 1387 | "engines": { 1388 | "node": "6.* || 8.* || >= 10.*" 1389 | } 1390 | }, 1391 | "node_modules/glob": { 1392 | "version": "7.2.0", 1393 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1394 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1395 | "dev": true, 1396 | "dependencies": { 1397 | "fs.realpath": "^1.0.0", 1398 | "inflight": "^1.0.4", 1399 | "inherits": "2", 1400 | "minimatch": "^3.0.4", 1401 | "once": "^1.3.0", 1402 | "path-is-absolute": "^1.0.0" 1403 | }, 1404 | "engines": { 1405 | "node": "*" 1406 | }, 1407 | "funding": { 1408 | "url": "https://github.com/sponsors/isaacs" 1409 | } 1410 | }, 1411 | "node_modules/glob-parent": { 1412 | "version": "5.1.2", 1413 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1414 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1415 | "dev": true, 1416 | "dependencies": { 1417 | "is-glob": "^4.0.1" 1418 | }, 1419 | "engines": { 1420 | "node": ">= 6" 1421 | } 1422 | }, 1423 | "node_modules/globby": { 1424 | "version": "13.1.1", 1425 | "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.1.tgz", 1426 | "integrity": "sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==", 1427 | "dev": true, 1428 | "dependencies": { 1429 | "dir-glob": "^3.0.1", 1430 | "fast-glob": "^3.2.11", 1431 | "ignore": "^5.2.0", 1432 | "merge2": "^1.4.1", 1433 | "slash": "^4.0.0" 1434 | }, 1435 | "engines": { 1436 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1437 | }, 1438 | "funding": { 1439 | "url": "https://github.com/sponsors/sindresorhus" 1440 | } 1441 | }, 1442 | "node_modules/graceful-fs": { 1443 | "version": "4.2.10", 1444 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 1445 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 1446 | "dev": true 1447 | }, 1448 | "node_modules/has-ansi": { 1449 | "version": "2.0.0", 1450 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1451 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1452 | "dev": true, 1453 | "dependencies": { 1454 | "ansi-regex": "^2.0.0" 1455 | }, 1456 | "engines": { 1457 | "node": ">=0.10.0" 1458 | } 1459 | }, 1460 | "node_modules/has-ansi/node_modules/ansi-regex": { 1461 | "version": "2.1.1", 1462 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 1463 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 1464 | "dev": true, 1465 | "engines": { 1466 | "node": ">=0.10.0" 1467 | } 1468 | }, 1469 | "node_modules/has-flag": { 1470 | "version": "4.0.0", 1471 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1472 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1473 | "dev": true, 1474 | "engines": { 1475 | "node": ">=8" 1476 | } 1477 | }, 1478 | "node_modules/hex-rgb": { 1479 | "version": "5.0.0", 1480 | "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-5.0.0.tgz", 1481 | "integrity": "sha512-NQO+lgVUCtHxZ792FodgW0zflK+ozS9X9dwGp9XvvmPlH7pyxd588cn24TD3rmPm/N0AIRXF10Otah8yKqGw4w==", 1482 | "engines": { 1483 | "node": ">=12" 1484 | }, 1485 | "funding": { 1486 | "url": "https://github.com/sponsors/sindresorhus" 1487 | } 1488 | }, 1489 | "node_modules/icss-replace-symbols": { 1490 | "version": "1.1.0", 1491 | "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", 1492 | "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", 1493 | "dev": true 1494 | }, 1495 | "node_modules/icss-utils": { 1496 | "version": "5.1.0", 1497 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", 1498 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", 1499 | "dev": true, 1500 | "engines": { 1501 | "node": "^10 || ^12 || >= 14" 1502 | }, 1503 | "peerDependencies": { 1504 | "postcss": "^8.1.0" 1505 | } 1506 | }, 1507 | "node_modules/ignore": { 1508 | "version": "5.2.0", 1509 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 1510 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 1511 | "dev": true, 1512 | "engines": { 1513 | "node": ">= 4" 1514 | } 1515 | }, 1516 | "node_modules/indent-string": { 1517 | "version": "5.0.0", 1518 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", 1519 | "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", 1520 | "dev": true, 1521 | "engines": { 1522 | "node": ">=12" 1523 | }, 1524 | "funding": { 1525 | "url": "https://github.com/sponsors/sindresorhus" 1526 | } 1527 | }, 1528 | "node_modules/inflight": { 1529 | "version": "1.0.6", 1530 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1531 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1532 | "dev": true, 1533 | "dependencies": { 1534 | "once": "^1.3.0", 1535 | "wrappy": "1" 1536 | } 1537 | }, 1538 | "node_modules/inherits": { 1539 | "version": "2.0.4", 1540 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1541 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1542 | "dev": true 1543 | }, 1544 | "node_modules/is-binary-path": { 1545 | "version": "2.1.0", 1546 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1547 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1548 | "dev": true, 1549 | "dependencies": { 1550 | "binary-extensions": "^2.0.0" 1551 | }, 1552 | "engines": { 1553 | "node": ">=8" 1554 | } 1555 | }, 1556 | "node_modules/is-extglob": { 1557 | "version": "2.1.1", 1558 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1559 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1560 | "dev": true, 1561 | "engines": { 1562 | "node": ">=0.10.0" 1563 | } 1564 | }, 1565 | "node_modules/is-fullwidth-code-point": { 1566 | "version": "3.0.0", 1567 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1568 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1569 | "dev": true, 1570 | "engines": { 1571 | "node": ">=8" 1572 | } 1573 | }, 1574 | "node_modules/is-glob": { 1575 | "version": "4.0.3", 1576 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1577 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1578 | "dev": true, 1579 | "dependencies": { 1580 | "is-extglob": "^2.1.1" 1581 | }, 1582 | "engines": { 1583 | "node": ">=0.10.0" 1584 | } 1585 | }, 1586 | "node_modules/is-number": { 1587 | "version": "7.0.0", 1588 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1589 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1590 | "dev": true, 1591 | "engines": { 1592 | "node": ">=0.12.0" 1593 | } 1594 | }, 1595 | "node_modules/is-stream": { 1596 | "version": "2.0.1", 1597 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 1598 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 1599 | "dev": true, 1600 | "engines": { 1601 | "node": ">=8" 1602 | }, 1603 | "funding": { 1604 | "url": "https://github.com/sponsors/sindresorhus" 1605 | } 1606 | }, 1607 | "node_modules/is-there": { 1608 | "version": "4.5.1", 1609 | "resolved": "https://registry.npmjs.org/is-there/-/is-there-4.5.1.tgz", 1610 | "integrity": "sha512-vIZ7HTXAoRoIwYSsTnxb0sg9L6rth+JOulNcavsbskQkCIWoSM2cjFOWZs4wGziGZER+Xgs/HXiCQZgiL8ppxQ==", 1611 | "dev": true 1612 | }, 1613 | "node_modules/jsonfile": { 1614 | "version": "6.1.0", 1615 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 1616 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 1617 | "dev": true, 1618 | "dependencies": { 1619 | "universalify": "^2.0.0" 1620 | }, 1621 | "optionalDependencies": { 1622 | "graceful-fs": "^4.1.6" 1623 | } 1624 | }, 1625 | "node_modules/kleur": { 1626 | "version": "4.1.4", 1627 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", 1628 | "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", 1629 | "dev": true, 1630 | "engines": { 1631 | "node": ">=6" 1632 | } 1633 | }, 1634 | "node_modules/lilconfig": { 1635 | "version": "2.0.5", 1636 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", 1637 | "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", 1638 | "dev": true, 1639 | "engines": { 1640 | "node": ">=10" 1641 | } 1642 | }, 1643 | "node_modules/loader-utils": { 1644 | "version": "3.2.0", 1645 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", 1646 | "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", 1647 | "dev": true, 1648 | "engines": { 1649 | "node": ">= 12.13.0" 1650 | } 1651 | }, 1652 | "node_modules/locate-path": { 1653 | "version": "7.1.0", 1654 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.1.0.tgz", 1655 | "integrity": "sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ==", 1656 | "dev": true, 1657 | "dependencies": { 1658 | "p-locate": "^6.0.0" 1659 | }, 1660 | "engines": { 1661 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1662 | }, 1663 | "funding": { 1664 | "url": "https://github.com/sponsors/sindresorhus" 1665 | } 1666 | }, 1667 | "node_modules/lodash.camelcase": { 1668 | "version": "4.3.0", 1669 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 1670 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", 1671 | "dev": true 1672 | }, 1673 | "node_modules/lodash.deburr": { 1674 | "version": "4.1.0", 1675 | "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", 1676 | "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=", 1677 | "dev": true 1678 | }, 1679 | "node_modules/lodash.memoize": { 1680 | "version": "4.1.2", 1681 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 1682 | "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", 1683 | "dev": true 1684 | }, 1685 | "node_modules/lodash.uniq": { 1686 | "version": "4.5.0", 1687 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 1688 | "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", 1689 | "dev": true 1690 | }, 1691 | "node_modules/mdn-data": { 1692 | "version": "2.0.14", 1693 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", 1694 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", 1695 | "dev": true 1696 | }, 1697 | "node_modules/merge2": { 1698 | "version": "1.4.1", 1699 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1700 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1701 | "dev": true, 1702 | "engines": { 1703 | "node": ">= 8" 1704 | } 1705 | }, 1706 | "node_modules/micromatch": { 1707 | "version": "4.0.5", 1708 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1709 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1710 | "dev": true, 1711 | "dependencies": { 1712 | "braces": "^3.0.2", 1713 | "picomatch": "^2.3.1" 1714 | }, 1715 | "engines": { 1716 | "node": ">=8.6" 1717 | } 1718 | }, 1719 | "node_modules/minimatch": { 1720 | "version": "3.1.2", 1721 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1722 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1723 | "dev": true, 1724 | "dependencies": { 1725 | "brace-expansion": "^1.1.7" 1726 | }, 1727 | "engines": { 1728 | "node": "*" 1729 | } 1730 | }, 1731 | "node_modules/mkdirp": { 1732 | "version": "1.0.4", 1733 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1734 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1735 | "dev": true, 1736 | "bin": { 1737 | "mkdirp": "bin/cmd.js" 1738 | }, 1739 | "engines": { 1740 | "node": ">=10" 1741 | } 1742 | }, 1743 | "node_modules/mri": { 1744 | "version": "1.2.0", 1745 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 1746 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 1747 | "dev": true, 1748 | "engines": { 1749 | "node": ">=4" 1750 | } 1751 | }, 1752 | "node_modules/nanoid": { 1753 | "version": "3.3.4", 1754 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 1755 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 1756 | "dev": true, 1757 | "bin": { 1758 | "nanoid": "bin/nanoid.cjs" 1759 | }, 1760 | "engines": { 1761 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1762 | } 1763 | }, 1764 | "node_modules/natural-compare-lite": { 1765 | "version": "1.4.0", 1766 | "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", 1767 | "integrity": "sha1-F7CVgZiJef3a/gIB6TG6kzyWy7Q=" 1768 | }, 1769 | "node_modules/node-releases": { 1770 | "version": "2.0.4", 1771 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", 1772 | "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", 1773 | "dev": true 1774 | }, 1775 | "node_modules/normalize-path": { 1776 | "version": "3.0.0", 1777 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1778 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1779 | "dev": true, 1780 | "engines": { 1781 | "node": ">=0.10.0" 1782 | } 1783 | }, 1784 | "node_modules/normalize-url": { 1785 | "version": "6.1.0", 1786 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", 1787 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", 1788 | "dev": true, 1789 | "engines": { 1790 | "node": ">=10" 1791 | }, 1792 | "funding": { 1793 | "url": "https://github.com/sponsors/sindresorhus" 1794 | } 1795 | }, 1796 | "node_modules/nth-check": { 1797 | "version": "2.0.1", 1798 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", 1799 | "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", 1800 | "dev": true, 1801 | "dependencies": { 1802 | "boolbase": "^1.0.0" 1803 | }, 1804 | "funding": { 1805 | "url": "https://github.com/fb55/nth-check?sponsor=1" 1806 | } 1807 | }, 1808 | "node_modules/once": { 1809 | "version": "1.4.0", 1810 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1811 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1812 | "dev": true, 1813 | "dependencies": { 1814 | "wrappy": "1" 1815 | } 1816 | }, 1817 | "node_modules/p-limit": { 1818 | "version": "4.0.0", 1819 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", 1820 | "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", 1821 | "dev": true, 1822 | "dependencies": { 1823 | "yocto-queue": "^1.0.0" 1824 | }, 1825 | "engines": { 1826 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1827 | }, 1828 | "funding": { 1829 | "url": "https://github.com/sponsors/sindresorhus" 1830 | } 1831 | }, 1832 | "node_modules/p-locate": { 1833 | "version": "6.0.0", 1834 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", 1835 | "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", 1836 | "dev": true, 1837 | "dependencies": { 1838 | "p-limit": "^4.0.0" 1839 | }, 1840 | "engines": { 1841 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1842 | }, 1843 | "funding": { 1844 | "url": "https://github.com/sponsors/sindresorhus" 1845 | } 1846 | }, 1847 | "node_modules/p-try": { 1848 | "version": "2.2.0", 1849 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 1850 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 1851 | "dev": true, 1852 | "engines": { 1853 | "node": ">=6" 1854 | } 1855 | }, 1856 | "node_modules/path-exists": { 1857 | "version": "5.0.0", 1858 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", 1859 | "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", 1860 | "dev": true, 1861 | "engines": { 1862 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1863 | } 1864 | }, 1865 | "node_modules/path-is-absolute": { 1866 | "version": "1.0.1", 1867 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1868 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1869 | "dev": true, 1870 | "engines": { 1871 | "node": ">=0.10.0" 1872 | } 1873 | }, 1874 | "node_modules/path-type": { 1875 | "version": "4.0.0", 1876 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1877 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1878 | "dev": true, 1879 | "engines": { 1880 | "node": ">=8" 1881 | } 1882 | }, 1883 | "node_modules/picocolors": { 1884 | "version": "1.0.0", 1885 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1886 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1887 | "dev": true 1888 | }, 1889 | "node_modules/picomatch": { 1890 | "version": "2.3.1", 1891 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1892 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1893 | "dev": true, 1894 | "engines": { 1895 | "node": ">=8.6" 1896 | }, 1897 | "funding": { 1898 | "url": "https://github.com/sponsors/jonschlinkert" 1899 | } 1900 | }, 1901 | "node_modules/postcss": { 1902 | "version": "8.4.13", 1903 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", 1904 | "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", 1905 | "dev": true, 1906 | "funding": [ 1907 | { 1908 | "type": "opencollective", 1909 | "url": "https://opencollective.com/postcss/" 1910 | }, 1911 | { 1912 | "type": "tidelift", 1913 | "url": "https://tidelift.com/funding/github/npm/postcss" 1914 | } 1915 | ], 1916 | "dependencies": { 1917 | "nanoid": "^3.3.3", 1918 | "picocolors": "^1.0.0", 1919 | "source-map-js": "^1.0.2" 1920 | }, 1921 | "engines": { 1922 | "node": "^10 || ^12 || >=14" 1923 | } 1924 | }, 1925 | "node_modules/postcss-calc": { 1926 | "version": "8.2.4", 1927 | "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", 1928 | "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", 1929 | "dev": true, 1930 | "dependencies": { 1931 | "postcss-selector-parser": "^6.0.9", 1932 | "postcss-value-parser": "^4.2.0" 1933 | }, 1934 | "peerDependencies": { 1935 | "postcss": "^8.2.2" 1936 | } 1937 | }, 1938 | "node_modules/postcss-colormin": { 1939 | "version": "5.3.0", 1940 | "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", 1941 | "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", 1942 | "dev": true, 1943 | "dependencies": { 1944 | "browserslist": "^4.16.6", 1945 | "caniuse-api": "^3.0.0", 1946 | "colord": "^2.9.1", 1947 | "postcss-value-parser": "^4.2.0" 1948 | }, 1949 | "engines": { 1950 | "node": "^10 || ^12 || >=14.0" 1951 | }, 1952 | "peerDependencies": { 1953 | "postcss": "^8.2.15" 1954 | } 1955 | }, 1956 | "node_modules/postcss-convert-values": { 1957 | "version": "5.1.0", 1958 | "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz", 1959 | "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==", 1960 | "dev": true, 1961 | "dependencies": { 1962 | "postcss-value-parser": "^4.2.0" 1963 | }, 1964 | "engines": { 1965 | "node": "^10 || ^12 || >=14.0" 1966 | }, 1967 | "peerDependencies": { 1968 | "postcss": "^8.2.15" 1969 | } 1970 | }, 1971 | "node_modules/postcss-discard-comments": { 1972 | "version": "5.1.1", 1973 | "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", 1974 | "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", 1975 | "dev": true, 1976 | "engines": { 1977 | "node": "^10 || ^12 || >=14.0" 1978 | }, 1979 | "peerDependencies": { 1980 | "postcss": "^8.2.15" 1981 | } 1982 | }, 1983 | "node_modules/postcss-discard-duplicates": { 1984 | "version": "5.1.0", 1985 | "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", 1986 | "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", 1987 | "dev": true, 1988 | "engines": { 1989 | "node": "^10 || ^12 || >=14.0" 1990 | }, 1991 | "peerDependencies": { 1992 | "postcss": "^8.2.15" 1993 | } 1994 | }, 1995 | "node_modules/postcss-discard-empty": { 1996 | "version": "5.1.1", 1997 | "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", 1998 | "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", 1999 | "dev": true, 2000 | "engines": { 2001 | "node": "^10 || ^12 || >=14.0" 2002 | }, 2003 | "peerDependencies": { 2004 | "postcss": "^8.2.15" 2005 | } 2006 | }, 2007 | "node_modules/postcss-discard-overridden": { 2008 | "version": "5.1.0", 2009 | "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", 2010 | "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", 2011 | "dev": true, 2012 | "engines": { 2013 | "node": "^10 || ^12 || >=14.0" 2014 | }, 2015 | "peerDependencies": { 2016 | "postcss": "^8.2.15" 2017 | } 2018 | }, 2019 | "node_modules/postcss-merge-longhand": { 2020 | "version": "5.1.4", 2021 | "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", 2022 | "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", 2023 | "dev": true, 2024 | "dependencies": { 2025 | "postcss-value-parser": "^4.2.0", 2026 | "stylehacks": "^5.1.0" 2027 | }, 2028 | "engines": { 2029 | "node": "^10 || ^12 || >=14.0" 2030 | }, 2031 | "peerDependencies": { 2032 | "postcss": "^8.2.15" 2033 | } 2034 | }, 2035 | "node_modules/postcss-merge-rules": { 2036 | "version": "5.1.1", 2037 | "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", 2038 | "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", 2039 | "dev": true, 2040 | "dependencies": { 2041 | "browserslist": "^4.16.6", 2042 | "caniuse-api": "^3.0.0", 2043 | "cssnano-utils": "^3.1.0", 2044 | "postcss-selector-parser": "^6.0.5" 2045 | }, 2046 | "engines": { 2047 | "node": "^10 || ^12 || >=14.0" 2048 | }, 2049 | "peerDependencies": { 2050 | "postcss": "^8.2.15" 2051 | } 2052 | }, 2053 | "node_modules/postcss-minify-font-values": { 2054 | "version": "5.1.0", 2055 | "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", 2056 | "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", 2057 | "dev": true, 2058 | "dependencies": { 2059 | "postcss-value-parser": "^4.2.0" 2060 | }, 2061 | "engines": { 2062 | "node": "^10 || ^12 || >=14.0" 2063 | }, 2064 | "peerDependencies": { 2065 | "postcss": "^8.2.15" 2066 | } 2067 | }, 2068 | "node_modules/postcss-minify-gradients": { 2069 | "version": "5.1.1", 2070 | "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", 2071 | "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", 2072 | "dev": true, 2073 | "dependencies": { 2074 | "colord": "^2.9.1", 2075 | "cssnano-utils": "^3.1.0", 2076 | "postcss-value-parser": "^4.2.0" 2077 | }, 2078 | "engines": { 2079 | "node": "^10 || ^12 || >=14.0" 2080 | }, 2081 | "peerDependencies": { 2082 | "postcss": "^8.2.15" 2083 | } 2084 | }, 2085 | "node_modules/postcss-minify-params": { 2086 | "version": "5.1.2", 2087 | "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", 2088 | "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", 2089 | "dev": true, 2090 | "dependencies": { 2091 | "browserslist": "^4.16.6", 2092 | "cssnano-utils": "^3.1.0", 2093 | "postcss-value-parser": "^4.2.0" 2094 | }, 2095 | "engines": { 2096 | "node": "^10 || ^12 || >=14.0" 2097 | }, 2098 | "peerDependencies": { 2099 | "postcss": "^8.2.15" 2100 | } 2101 | }, 2102 | "node_modules/postcss-minify-selectors": { 2103 | "version": "5.2.0", 2104 | "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz", 2105 | "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==", 2106 | "dev": true, 2107 | "dependencies": { 2108 | "postcss-selector-parser": "^6.0.5" 2109 | }, 2110 | "engines": { 2111 | "node": "^10 || ^12 || >=14.0" 2112 | }, 2113 | "peerDependencies": { 2114 | "postcss": "^8.2.15" 2115 | } 2116 | }, 2117 | "node_modules/postcss-modules": { 2118 | "version": "4.3.1", 2119 | "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.3.1.tgz", 2120 | "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", 2121 | "dev": true, 2122 | "dependencies": { 2123 | "generic-names": "^4.0.0", 2124 | "icss-replace-symbols": "^1.1.0", 2125 | "lodash.camelcase": "^4.3.0", 2126 | "postcss-modules-extract-imports": "^3.0.0", 2127 | "postcss-modules-local-by-default": "^4.0.0", 2128 | "postcss-modules-scope": "^3.0.0", 2129 | "postcss-modules-values": "^4.0.0", 2130 | "string-hash": "^1.1.1" 2131 | }, 2132 | "peerDependencies": { 2133 | "postcss": "^8.0.0" 2134 | } 2135 | }, 2136 | "node_modules/postcss-modules-extract-imports": { 2137 | "version": "3.0.0", 2138 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", 2139 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", 2140 | "dev": true, 2141 | "engines": { 2142 | "node": "^10 || ^12 || >= 14" 2143 | }, 2144 | "peerDependencies": { 2145 | "postcss": "^8.1.0" 2146 | } 2147 | }, 2148 | "node_modules/postcss-modules-local-by-default": { 2149 | "version": "4.0.0", 2150 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", 2151 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", 2152 | "dev": true, 2153 | "dependencies": { 2154 | "icss-utils": "^5.0.0", 2155 | "postcss-selector-parser": "^6.0.2", 2156 | "postcss-value-parser": "^4.1.0" 2157 | }, 2158 | "engines": { 2159 | "node": "^10 || ^12 || >= 14" 2160 | }, 2161 | "peerDependencies": { 2162 | "postcss": "^8.1.0" 2163 | } 2164 | }, 2165 | "node_modules/postcss-modules-scope": { 2166 | "version": "3.0.0", 2167 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", 2168 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", 2169 | "dev": true, 2170 | "dependencies": { 2171 | "postcss-selector-parser": "^6.0.4" 2172 | }, 2173 | "engines": { 2174 | "node": "^10 || ^12 || >= 14" 2175 | }, 2176 | "peerDependencies": { 2177 | "postcss": "^8.1.0" 2178 | } 2179 | }, 2180 | "node_modules/postcss-modules-values": { 2181 | "version": "4.0.0", 2182 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", 2183 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", 2184 | "dev": true, 2185 | "dependencies": { 2186 | "icss-utils": "^5.0.0" 2187 | }, 2188 | "engines": { 2189 | "node": "^10 || ^12 || >= 14" 2190 | }, 2191 | "peerDependencies": { 2192 | "postcss": "^8.1.0" 2193 | } 2194 | }, 2195 | "node_modules/postcss-normalize-charset": { 2196 | "version": "5.1.0", 2197 | "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", 2198 | "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", 2199 | "dev": true, 2200 | "engines": { 2201 | "node": "^10 || ^12 || >=14.0" 2202 | }, 2203 | "peerDependencies": { 2204 | "postcss": "^8.2.15" 2205 | } 2206 | }, 2207 | "node_modules/postcss-normalize-display-values": { 2208 | "version": "5.1.0", 2209 | "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", 2210 | "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", 2211 | "dev": true, 2212 | "dependencies": { 2213 | "postcss-value-parser": "^4.2.0" 2214 | }, 2215 | "engines": { 2216 | "node": "^10 || ^12 || >=14.0" 2217 | }, 2218 | "peerDependencies": { 2219 | "postcss": "^8.2.15" 2220 | } 2221 | }, 2222 | "node_modules/postcss-normalize-positions": { 2223 | "version": "5.1.0", 2224 | "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", 2225 | "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", 2226 | "dev": true, 2227 | "dependencies": { 2228 | "postcss-value-parser": "^4.2.0" 2229 | }, 2230 | "engines": { 2231 | "node": "^10 || ^12 || >=14.0" 2232 | }, 2233 | "peerDependencies": { 2234 | "postcss": "^8.2.15" 2235 | } 2236 | }, 2237 | "node_modules/postcss-normalize-repeat-style": { 2238 | "version": "5.1.0", 2239 | "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", 2240 | "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", 2241 | "dev": true, 2242 | "dependencies": { 2243 | "postcss-value-parser": "^4.2.0" 2244 | }, 2245 | "engines": { 2246 | "node": "^10 || ^12 || >=14.0" 2247 | }, 2248 | "peerDependencies": { 2249 | "postcss": "^8.2.15" 2250 | } 2251 | }, 2252 | "node_modules/postcss-normalize-string": { 2253 | "version": "5.1.0", 2254 | "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", 2255 | "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", 2256 | "dev": true, 2257 | "dependencies": { 2258 | "postcss-value-parser": "^4.2.0" 2259 | }, 2260 | "engines": { 2261 | "node": "^10 || ^12 || >=14.0" 2262 | }, 2263 | "peerDependencies": { 2264 | "postcss": "^8.2.15" 2265 | } 2266 | }, 2267 | "node_modules/postcss-normalize-timing-functions": { 2268 | "version": "5.1.0", 2269 | "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", 2270 | "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", 2271 | "dev": true, 2272 | "dependencies": { 2273 | "postcss-value-parser": "^4.2.0" 2274 | }, 2275 | "engines": { 2276 | "node": "^10 || ^12 || >=14.0" 2277 | }, 2278 | "peerDependencies": { 2279 | "postcss": "^8.2.15" 2280 | } 2281 | }, 2282 | "node_modules/postcss-normalize-unicode": { 2283 | "version": "5.1.0", 2284 | "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", 2285 | "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", 2286 | "dev": true, 2287 | "dependencies": { 2288 | "browserslist": "^4.16.6", 2289 | "postcss-value-parser": "^4.2.0" 2290 | }, 2291 | "engines": { 2292 | "node": "^10 || ^12 || >=14.0" 2293 | }, 2294 | "peerDependencies": { 2295 | "postcss": "^8.2.15" 2296 | } 2297 | }, 2298 | "node_modules/postcss-normalize-url": { 2299 | "version": "5.1.0", 2300 | "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", 2301 | "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", 2302 | "dev": true, 2303 | "dependencies": { 2304 | "normalize-url": "^6.0.1", 2305 | "postcss-value-parser": "^4.2.0" 2306 | }, 2307 | "engines": { 2308 | "node": "^10 || ^12 || >=14.0" 2309 | }, 2310 | "peerDependencies": { 2311 | "postcss": "^8.2.15" 2312 | } 2313 | }, 2314 | "node_modules/postcss-normalize-whitespace": { 2315 | "version": "5.1.1", 2316 | "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", 2317 | "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", 2318 | "dev": true, 2319 | "dependencies": { 2320 | "postcss-value-parser": "^4.2.0" 2321 | }, 2322 | "engines": { 2323 | "node": "^10 || ^12 || >=14.0" 2324 | }, 2325 | "peerDependencies": { 2326 | "postcss": "^8.2.15" 2327 | } 2328 | }, 2329 | "node_modules/postcss-ordered-values": { 2330 | "version": "5.1.1", 2331 | "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", 2332 | "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", 2333 | "dev": true, 2334 | "dependencies": { 2335 | "cssnano-utils": "^3.1.0", 2336 | "postcss-value-parser": "^4.2.0" 2337 | }, 2338 | "engines": { 2339 | "node": "^10 || ^12 || >=14.0" 2340 | }, 2341 | "peerDependencies": { 2342 | "postcss": "^8.2.15" 2343 | } 2344 | }, 2345 | "node_modules/postcss-reduce-initial": { 2346 | "version": "5.1.0", 2347 | "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", 2348 | "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", 2349 | "dev": true, 2350 | "dependencies": { 2351 | "browserslist": "^4.16.6", 2352 | "caniuse-api": "^3.0.0" 2353 | }, 2354 | "engines": { 2355 | "node": "^10 || ^12 || >=14.0" 2356 | }, 2357 | "peerDependencies": { 2358 | "postcss": "^8.2.15" 2359 | } 2360 | }, 2361 | "node_modules/postcss-reduce-transforms": { 2362 | "version": "5.1.0", 2363 | "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", 2364 | "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", 2365 | "dev": true, 2366 | "dependencies": { 2367 | "postcss-value-parser": "^4.2.0" 2368 | }, 2369 | "engines": { 2370 | "node": "^10 || ^12 || >=14.0" 2371 | }, 2372 | "peerDependencies": { 2373 | "postcss": "^8.2.15" 2374 | } 2375 | }, 2376 | "node_modules/postcss-selector-parser": { 2377 | "version": "6.0.10", 2378 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 2379 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 2380 | "dev": true, 2381 | "dependencies": { 2382 | "cssesc": "^3.0.0", 2383 | "util-deprecate": "^1.0.2" 2384 | }, 2385 | "engines": { 2386 | "node": ">=4" 2387 | } 2388 | }, 2389 | "node_modules/postcss-svgo": { 2390 | "version": "5.1.0", 2391 | "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", 2392 | "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", 2393 | "dev": true, 2394 | "dependencies": { 2395 | "postcss-value-parser": "^4.2.0", 2396 | "svgo": "^2.7.0" 2397 | }, 2398 | "engines": { 2399 | "node": "^10 || ^12 || >=14.0" 2400 | }, 2401 | "peerDependencies": { 2402 | "postcss": "^8.2.15" 2403 | } 2404 | }, 2405 | "node_modules/postcss-unique-selectors": { 2406 | "version": "5.1.1", 2407 | "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", 2408 | "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", 2409 | "dev": true, 2410 | "dependencies": { 2411 | "postcss-selector-parser": "^6.0.5" 2412 | }, 2413 | "engines": { 2414 | "node": "^10 || ^12 || >=14.0" 2415 | }, 2416 | "peerDependencies": { 2417 | "postcss": "^8.2.15" 2418 | } 2419 | }, 2420 | "node_modules/postcss-value-parser": { 2421 | "version": "4.2.0", 2422 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 2423 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 2424 | "dev": true 2425 | }, 2426 | "node_modules/preact": { 2427 | "version": "10.7.2", 2428 | "resolved": "https://registry.npmjs.org/preact/-/preact-10.7.2.tgz", 2429 | "integrity": "sha512-GLjn0I3r6ka+NvxJUppsVFqb4V0qDTEHT/QxHlidPuClGaxF/4AI2Qti4a0cv3XMh5n1+D3hLScW10LRIm5msQ==", 2430 | "funding": { 2431 | "type": "opencollective", 2432 | "url": "https://opencollective.com/preact" 2433 | } 2434 | }, 2435 | "node_modules/queue-microtask": { 2436 | "version": "1.2.3", 2437 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2438 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2439 | "dev": true, 2440 | "funding": [ 2441 | { 2442 | "type": "github", 2443 | "url": "https://github.com/sponsors/feross" 2444 | }, 2445 | { 2446 | "type": "patreon", 2447 | "url": "https://www.patreon.com/feross" 2448 | }, 2449 | { 2450 | "type": "consulting", 2451 | "url": "https://feross.org/support" 2452 | } 2453 | ] 2454 | }, 2455 | "node_modules/readdirp": { 2456 | "version": "3.6.0", 2457 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 2458 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 2459 | "dev": true, 2460 | "dependencies": { 2461 | "picomatch": "^2.2.1" 2462 | }, 2463 | "engines": { 2464 | "node": ">=8.10.0" 2465 | } 2466 | }, 2467 | "node_modules/require-directory": { 2468 | "version": "2.1.1", 2469 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2470 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 2471 | "dev": true, 2472 | "engines": { 2473 | "node": ">=0.10.0" 2474 | } 2475 | }, 2476 | "node_modules/require-main-filename": { 2477 | "version": "2.0.0", 2478 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 2479 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 2480 | "dev": true 2481 | }, 2482 | "node_modules/reusify": { 2483 | "version": "1.0.4", 2484 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2485 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2486 | "dev": true, 2487 | "engines": { 2488 | "iojs": ">=1.0.0", 2489 | "node": ">=0.10.0" 2490 | } 2491 | }, 2492 | "node_modules/rev-hash": { 2493 | "version": "4.0.0", 2494 | "resolved": "https://registry.npmjs.org/rev-hash/-/rev-hash-4.0.0.tgz", 2495 | "integrity": "sha512-5w/auZRs65pf1AkZIbfICeorQfOCb6XVWaHmDEbkMyjmyRMxck+W0Erdj9zffuBRXxn5cbKfgmWQ9GpgR8dFZQ==", 2496 | "dev": true, 2497 | "engines": { 2498 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 2499 | }, 2500 | "funding": { 2501 | "url": "https://github.com/sponsors/sindresorhus" 2502 | } 2503 | }, 2504 | "node_modules/rgb-hex": { 2505 | "version": "4.0.0", 2506 | "resolved": "https://registry.npmjs.org/rgb-hex/-/rgb-hex-4.0.0.tgz", 2507 | "integrity": "sha512-Eg2ev5CiMBnQ9Gpflmqbwbso0CCdISqtVIow7OpYSLN1ULUv2jTB9YieS1DSSn/17AD7KkPWDPzSFzI4GSuu/Q==", 2508 | "engines": { 2509 | "node": ">=12" 2510 | }, 2511 | "funding": { 2512 | "url": "https://github.com/sponsors/sindresorhus" 2513 | } 2514 | }, 2515 | "node_modules/run-parallel": { 2516 | "version": "1.2.0", 2517 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2518 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2519 | "dev": true, 2520 | "funding": [ 2521 | { 2522 | "type": "github", 2523 | "url": "https://github.com/sponsors/feross" 2524 | }, 2525 | { 2526 | "type": "patreon", 2527 | "url": "https://www.patreon.com/feross" 2528 | }, 2529 | { 2530 | "type": "consulting", 2531 | "url": "https://feross.org/support" 2532 | } 2533 | ], 2534 | "dependencies": { 2535 | "queue-microtask": "^1.2.2" 2536 | } 2537 | }, 2538 | "node_modules/sade": { 2539 | "version": "1.8.1", 2540 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 2541 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 2542 | "dev": true, 2543 | "dependencies": { 2544 | "mri": "^1.1.0" 2545 | }, 2546 | "engines": { 2547 | "node": ">=6" 2548 | } 2549 | }, 2550 | "node_modules/set-blocking": { 2551 | "version": "2.0.0", 2552 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2553 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 2554 | "dev": true 2555 | }, 2556 | "node_modules/slash": { 2557 | "version": "4.0.0", 2558 | "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", 2559 | "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", 2560 | "dev": true, 2561 | "engines": { 2562 | "node": ">=12" 2563 | }, 2564 | "funding": { 2565 | "url": "https://github.com/sponsors/sindresorhus" 2566 | } 2567 | }, 2568 | "node_modules/source-map": { 2569 | "version": "0.6.1", 2570 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2571 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2572 | "dev": true, 2573 | "engines": { 2574 | "node": ">=0.10.0" 2575 | } 2576 | }, 2577 | "node_modules/source-map-js": { 2578 | "version": "1.0.2", 2579 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2580 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2581 | "dev": true, 2582 | "engines": { 2583 | "node": ">=0.10.0" 2584 | } 2585 | }, 2586 | "node_modules/stable": { 2587 | "version": "0.1.8", 2588 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", 2589 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", 2590 | "dev": true 2591 | }, 2592 | "node_modules/string-hash": { 2593 | "version": "1.1.3", 2594 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", 2595 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", 2596 | "dev": true 2597 | }, 2598 | "node_modules/string-width": { 2599 | "version": "4.2.3", 2600 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2601 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2602 | "dev": true, 2603 | "dependencies": { 2604 | "emoji-regex": "^8.0.0", 2605 | "is-fullwidth-code-point": "^3.0.0", 2606 | "strip-ansi": "^6.0.1" 2607 | }, 2608 | "engines": { 2609 | "node": ">=8" 2610 | } 2611 | }, 2612 | "node_modules/strip-ansi": { 2613 | "version": "6.0.1", 2614 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2615 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2616 | "dev": true, 2617 | "dependencies": { 2618 | "ansi-regex": "^5.0.1" 2619 | }, 2620 | "engines": { 2621 | "node": ">=8" 2622 | } 2623 | }, 2624 | "node_modules/stylehacks": { 2625 | "version": "5.1.0", 2626 | "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", 2627 | "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", 2628 | "dev": true, 2629 | "dependencies": { 2630 | "browserslist": "^4.16.6", 2631 | "postcss-selector-parser": "^6.0.4" 2632 | }, 2633 | "engines": { 2634 | "node": "^10 || ^12 || >=14.0" 2635 | }, 2636 | "peerDependencies": { 2637 | "postcss": "^8.2.15" 2638 | } 2639 | }, 2640 | "node_modules/supports-color": { 2641 | "version": "7.2.0", 2642 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2643 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2644 | "dev": true, 2645 | "dependencies": { 2646 | "has-flag": "^4.0.0" 2647 | }, 2648 | "engines": { 2649 | "node": ">=8" 2650 | } 2651 | }, 2652 | "node_modules/svgo": { 2653 | "version": "2.8.0", 2654 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", 2655 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", 2656 | "dev": true, 2657 | "dependencies": { 2658 | "@trysound/sax": "0.2.0", 2659 | "commander": "^7.2.0", 2660 | "css-select": "^4.1.3", 2661 | "css-tree": "^1.1.3", 2662 | "csso": "^4.2.0", 2663 | "picocolors": "^1.0.0", 2664 | "stable": "^0.1.8" 2665 | }, 2666 | "bin": { 2667 | "svgo": "bin/svgo" 2668 | }, 2669 | "engines": { 2670 | "node": ">=10.13.0" 2671 | } 2672 | }, 2673 | "node_modules/temp-dir": { 2674 | "version": "2.0.0", 2675 | "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", 2676 | "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", 2677 | "dev": true, 2678 | "engines": { 2679 | "node": ">=8" 2680 | } 2681 | }, 2682 | "node_modules/temp-write": { 2683 | "version": "5.0.0", 2684 | "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-5.0.0.tgz", 2685 | "integrity": "sha512-cJhnzBW7DjNox7VcZDXeNlQSkIh3mX/h+M0n0Fh+zgT7YAHwI9c+OngKx4MCiQCVx9iXxV104xYlJgDBCCtawA==", 2686 | "dev": true, 2687 | "dependencies": { 2688 | "graceful-fs": "^4.2.6", 2689 | "is-stream": "^2.0.0", 2690 | "temp-dir": "^2.0.0", 2691 | "uuid": "^8.3.2" 2692 | }, 2693 | "engines": { 2694 | "node": ">=12" 2695 | }, 2696 | "funding": { 2697 | "url": "https://github.com/sponsors/sindresorhus" 2698 | } 2699 | }, 2700 | "node_modules/tempy": { 2701 | "version": "3.0.0", 2702 | "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.0.0.tgz", 2703 | "integrity": "sha512-B2I9X7+o2wOaW4r/CWMkpOO9mdiTRCxXNgob6iGvPmfPWgH/KyUD6Uy5crtWBxIBe3YrNZKR2lSzv1JJKWD4vA==", 2704 | "dev": true, 2705 | "dependencies": { 2706 | "is-stream": "^3.0.0", 2707 | "temp-dir": "^2.0.0", 2708 | "type-fest": "^2.12.2", 2709 | "unique-string": "^3.0.0" 2710 | }, 2711 | "engines": { 2712 | "node": ">=14.16" 2713 | }, 2714 | "funding": { 2715 | "url": "https://github.com/sponsors/sindresorhus" 2716 | } 2717 | }, 2718 | "node_modules/tempy/node_modules/is-stream": { 2719 | "version": "3.0.0", 2720 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", 2721 | "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", 2722 | "dev": true, 2723 | "engines": { 2724 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 2725 | }, 2726 | "funding": { 2727 | "url": "https://github.com/sponsors/sindresorhus" 2728 | } 2729 | }, 2730 | "node_modules/to-regex-range": { 2731 | "version": "5.0.1", 2732 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2733 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2734 | "dev": true, 2735 | "dependencies": { 2736 | "is-number": "^7.0.0" 2737 | }, 2738 | "engines": { 2739 | "node": ">=8.0" 2740 | } 2741 | }, 2742 | "node_modules/type-fest": { 2743 | "version": "2.12.2", 2744 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.2.tgz", 2745 | "integrity": "sha512-qt6ylCGpLjZ7AaODxbpyBZSs9fCI9SkL3Z9q2oxMBQhs/uyY+VD8jHA8ULCGmWQJlBgqvO3EJeAngOHD8zQCrQ==", 2746 | "dev": true, 2747 | "engines": { 2748 | "node": ">=12.20" 2749 | }, 2750 | "funding": { 2751 | "url": "https://github.com/sponsors/sindresorhus" 2752 | } 2753 | }, 2754 | "node_modules/typed-css-modules": { 2755 | "version": "0.7.2", 2756 | "resolved": "https://registry.npmjs.org/typed-css-modules/-/typed-css-modules-0.7.2.tgz", 2757 | "integrity": "sha512-R3guXrQ8ry/yhlfvNmkVY4J3+FtKaEdwqrvgSvFpVY0ieYQHqhhBW0RwfE4hnG4m29Ef/4IE0tBsk/UKplmJkA==", 2758 | "dev": true, 2759 | "dependencies": { 2760 | "@types/css-modules-loader-core": "^1.1.0", 2761 | "camelcase": "^6.0.0", 2762 | "chalk": "^4.0.0", 2763 | "chokidar": "^3.4.0", 2764 | "css-modules-loader-core": "^1.1.0", 2765 | "glob": "^7.1.2", 2766 | "is-there": "^4.4.2", 2767 | "mkdirp": "^1.0.0", 2768 | "yargs": "^15.4.1" 2769 | }, 2770 | "bin": { 2771 | "tcm": "lib/cli.js" 2772 | }, 2773 | "engines": { 2774 | "node": ">=12.0.0" 2775 | } 2776 | }, 2777 | "node_modules/typescript": { 2778 | "version": "4.6.4", 2779 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", 2780 | "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", 2781 | "dev": true, 2782 | "bin": { 2783 | "tsc": "bin/tsc", 2784 | "tsserver": "bin/tsserver" 2785 | }, 2786 | "engines": { 2787 | "node": ">=4.2.0" 2788 | } 2789 | }, 2790 | "node_modules/unique-string": { 2791 | "version": "3.0.0", 2792 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", 2793 | "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", 2794 | "dev": true, 2795 | "dependencies": { 2796 | "crypto-random-string": "^4.0.0" 2797 | }, 2798 | "engines": { 2799 | "node": ">=12" 2800 | }, 2801 | "funding": { 2802 | "url": "https://github.com/sponsors/sindresorhus" 2803 | } 2804 | }, 2805 | "node_modules/universalify": { 2806 | "version": "2.0.0", 2807 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 2808 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", 2809 | "dev": true, 2810 | "engines": { 2811 | "node": ">= 10.0.0" 2812 | } 2813 | }, 2814 | "node_modules/util-deprecate": { 2815 | "version": "1.0.2", 2816 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2817 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 2818 | "dev": true 2819 | }, 2820 | "node_modules/uuid": { 2821 | "version": "8.3.2", 2822 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 2823 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 2824 | "dev": true, 2825 | "bin": { 2826 | "uuid": "dist/bin/uuid" 2827 | } 2828 | }, 2829 | "node_modules/which-module": { 2830 | "version": "2.0.0", 2831 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 2832 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 2833 | "dev": true 2834 | }, 2835 | "node_modules/wrap-ansi": { 2836 | "version": "6.2.0", 2837 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 2838 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 2839 | "dev": true, 2840 | "dependencies": { 2841 | "ansi-styles": "^4.0.0", 2842 | "string-width": "^4.1.0", 2843 | "strip-ansi": "^6.0.0" 2844 | }, 2845 | "engines": { 2846 | "node": ">=8" 2847 | } 2848 | }, 2849 | "node_modules/wrappy": { 2850 | "version": "1.0.2", 2851 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2852 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2853 | "dev": true 2854 | }, 2855 | "node_modules/y18n": { 2856 | "version": "4.0.3", 2857 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", 2858 | "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", 2859 | "dev": true 2860 | }, 2861 | "node_modules/yaml": { 2862 | "version": "1.10.2", 2863 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2864 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 2865 | "dev": true, 2866 | "engines": { 2867 | "node": ">= 6" 2868 | } 2869 | }, 2870 | "node_modules/yargs": { 2871 | "version": "15.4.1", 2872 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", 2873 | "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", 2874 | "dev": true, 2875 | "dependencies": { 2876 | "cliui": "^6.0.0", 2877 | "decamelize": "^1.2.0", 2878 | "find-up": "^4.1.0", 2879 | "get-caller-file": "^2.0.1", 2880 | "require-directory": "^2.1.1", 2881 | "require-main-filename": "^2.0.0", 2882 | "set-blocking": "^2.0.0", 2883 | "string-width": "^4.2.0", 2884 | "which-module": "^2.0.0", 2885 | "y18n": "^4.0.0", 2886 | "yargs-parser": "^18.1.2" 2887 | }, 2888 | "engines": { 2889 | "node": ">=8" 2890 | } 2891 | }, 2892 | "node_modules/yargs-parser": { 2893 | "version": "18.1.3", 2894 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", 2895 | "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", 2896 | "dev": true, 2897 | "dependencies": { 2898 | "camelcase": "^5.0.0", 2899 | "decamelize": "^1.2.0" 2900 | }, 2901 | "engines": { 2902 | "node": ">=6" 2903 | } 2904 | }, 2905 | "node_modules/yargs-parser/node_modules/camelcase": { 2906 | "version": "5.3.1", 2907 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 2908 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 2909 | "dev": true, 2910 | "engines": { 2911 | "node": ">=6" 2912 | } 2913 | }, 2914 | "node_modules/yargs/node_modules/find-up": { 2915 | "version": "4.1.0", 2916 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 2917 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 2918 | "dev": true, 2919 | "dependencies": { 2920 | "locate-path": "^5.0.0", 2921 | "path-exists": "^4.0.0" 2922 | }, 2923 | "engines": { 2924 | "node": ">=8" 2925 | } 2926 | }, 2927 | "node_modules/yargs/node_modules/locate-path": { 2928 | "version": "5.0.0", 2929 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 2930 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 2931 | "dev": true, 2932 | "dependencies": { 2933 | "p-locate": "^4.1.0" 2934 | }, 2935 | "engines": { 2936 | "node": ">=8" 2937 | } 2938 | }, 2939 | "node_modules/yargs/node_modules/p-limit": { 2940 | "version": "2.3.0", 2941 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 2942 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 2943 | "dev": true, 2944 | "dependencies": { 2945 | "p-try": "^2.0.0" 2946 | }, 2947 | "engines": { 2948 | "node": ">=6" 2949 | }, 2950 | "funding": { 2951 | "url": "https://github.com/sponsors/sindresorhus" 2952 | } 2953 | }, 2954 | "node_modules/yargs/node_modules/p-locate": { 2955 | "version": "4.1.0", 2956 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 2957 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 2958 | "dev": true, 2959 | "dependencies": { 2960 | "p-limit": "^2.2.0" 2961 | }, 2962 | "engines": { 2963 | "node": ">=8" 2964 | } 2965 | }, 2966 | "node_modules/yargs/node_modules/path-exists": { 2967 | "version": "4.0.0", 2968 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2969 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2970 | "dev": true, 2971 | "engines": { 2972 | "node": ">=8" 2973 | } 2974 | }, 2975 | "node_modules/yocto-queue": { 2976 | "version": "1.0.0", 2977 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", 2978 | "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", 2979 | "dev": true, 2980 | "engines": { 2981 | "node": ">=12.20" 2982 | }, 2983 | "funding": { 2984 | "url": "https://github.com/sponsors/sindresorhus" 2985 | } 2986 | } 2987 | }, 2988 | "dependencies": { 2989 | "@create-figma-plugin/build": { 2990 | "version": "1.9.1", 2991 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/build/-/build-1.9.1.tgz", 2992 | "integrity": "sha512-izCcEcEF5nf+3pZofDx5lEK3zNUIr+ZCJ59jOp4M8Un2lF96dqlQ4RrMuqPzX4xwfeH0LijyrBcjAThBB262+Q==", 2993 | "dev": true, 2994 | "requires": { 2995 | "@create-figma-plugin/common": "^1.9.1", 2996 | "chokidar": "^3.5.3", 2997 | "cssnano": "^5.1.7", 2998 | "esbuild": "^0.14.38", 2999 | "find-up": "^6.3.0", 3000 | "fs-extra": "^10.1.0", 3001 | "globby": "^13.1.1", 3002 | "indent-string": "^5.0.0", 3003 | "kleur": "^4.1.4", 3004 | "postcss": "^8.4.13", 3005 | "postcss-modules": "^4.3.1", 3006 | "rev-hash": "^4.0.0", 3007 | "sade": "^1.8.1", 3008 | "temp-write": "^5.0.0", 3009 | "tempy": "^3.0.0", 3010 | "typed-css-modules": "^0.7.2" 3011 | } 3012 | }, 3013 | "@create-figma-plugin/common": { 3014 | "version": "1.9.1", 3015 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/common/-/common-1.9.1.tgz", 3016 | "integrity": "sha512-5RAWEFB0w89O8fX8JQfdjvFuJZ7ptbjvxLnmIko8P9wN/D2omp6cJqUEgWc58olmUpbIqZI+3Qvj8045Das81w==", 3017 | "dev": true, 3018 | "requires": { 3019 | "@sindresorhus/slugify": "2.1.0", 3020 | "fs-extra": "^10.1.0", 3021 | "kleur": "^4.1.4" 3022 | } 3023 | }, 3024 | "@create-figma-plugin/tsconfig": { 3025 | "version": "1.9.1", 3026 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/tsconfig/-/tsconfig-1.9.1.tgz", 3027 | "integrity": "sha512-qU43PlYIFVK2cEA/mUWUpfdFooMZj+xMbaXOx2ogtvn8HbaSYCpbJ/68omF3p31AE3v5Al6v+oEhtsmgIOlG9Q==", 3028 | "dev": true 3029 | }, 3030 | "@create-figma-plugin/ui": { 3031 | "version": "1.9.1", 3032 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/ui/-/ui-1.9.1.tgz", 3033 | "integrity": "sha512-5ixmGnPOsnhKpxqv0045AneVUyOIUCaZr7GjxwZMQP54gXvLuXsHfrbyawh8imq/Ed8XnxVptqb1R4EaZlOTOg==", 3034 | "requires": { 3035 | "@create-figma-plugin/utilities": "^1.9.1" 3036 | } 3037 | }, 3038 | "@create-figma-plugin/utilities": { 3039 | "version": "1.9.1", 3040 | "resolved": "https://registry.npmjs.org/@create-figma-plugin/utilities/-/utilities-1.9.1.tgz", 3041 | "integrity": "sha512-Ol3Kx8zFsSpUMlyuzEOrNMwYpIHTVAaXq/aSKjbhD+X59L7hPMLMO2wGNw1CumYHVKOEFHZlo5+lnseBt1lZbQ==", 3042 | "requires": { 3043 | "hex-rgb": "^5.0.0", 3044 | "natural-compare-lite": "1.4.0", 3045 | "rgb-hex": "^4.0.0" 3046 | } 3047 | }, 3048 | "@figma/plugin-typings": { 3049 | "version": "1.42.1", 3050 | "resolved": "https://registry.npmjs.org/@figma/plugin-typings/-/plugin-typings-1.42.1.tgz", 3051 | "integrity": "sha512-TQy81xtgcNWhu2uSiOZIxzGOC8Y/9rcP04GLp2f5MGg/LOH5BPNIkc8mRYPqInwcgQTnvxDpirr8MpYQPYRwDQ==", 3052 | "dev": true 3053 | }, 3054 | "@nodelib/fs.scandir": { 3055 | "version": "2.1.5", 3056 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 3057 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 3058 | "dev": true, 3059 | "requires": { 3060 | "@nodelib/fs.stat": "2.0.5", 3061 | "run-parallel": "^1.1.9" 3062 | } 3063 | }, 3064 | "@nodelib/fs.stat": { 3065 | "version": "2.0.5", 3066 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 3067 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 3068 | "dev": true 3069 | }, 3070 | "@nodelib/fs.walk": { 3071 | "version": "1.2.8", 3072 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 3073 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 3074 | "dev": true, 3075 | "requires": { 3076 | "@nodelib/fs.scandir": "2.1.5", 3077 | "fastq": "^1.6.0" 3078 | } 3079 | }, 3080 | "@sindresorhus/slugify": { 3081 | "version": "2.1.0", 3082 | "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.1.0.tgz", 3083 | "integrity": "sha512-gU3Gdm/V167BmUwIn8APHZ3SeeRVRUSOdXxnt7Q/JkUHLXaaTA/prYmoRumwsSitJZWUDYMzDWdWgrOdvE8IRQ==", 3084 | "dev": true, 3085 | "requires": { 3086 | "@sindresorhus/transliterate": "^1.0.0", 3087 | "escape-string-regexp": "^5.0.0" 3088 | } 3089 | }, 3090 | "@sindresorhus/transliterate": { 3091 | "version": "1.5.0", 3092 | "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.5.0.tgz", 3093 | "integrity": "sha512-/sfSkoNelLq5riqNRp5uBjHIKBi1MWZk9ubRT1WiBQuTfmDf7BeQkph2DJzRB83QagMPHk2VDjuvpy0VuwyzdA==", 3094 | "dev": true, 3095 | "requires": { 3096 | "escape-string-regexp": "^5.0.0", 3097 | "lodash.deburr": "^4.1.0" 3098 | } 3099 | }, 3100 | "@trysound/sax": { 3101 | "version": "0.2.0", 3102 | "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", 3103 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", 3104 | "dev": true 3105 | }, 3106 | "@types/css-modules-loader-core": { 3107 | "version": "1.1.0", 3108 | "resolved": "https://registry.npmjs.org/@types/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", 3109 | "integrity": "sha512-LMbyf7THPqLCPHIXAj79v9Pa193MeOHgp1fBFRR6s6VvEVHUFIcM5bc/WttslOf+lao4TURNN1X1zfW5wr2CHQ==", 3110 | "dev": true, 3111 | "requires": { 3112 | "postcss": "7.x.x" 3113 | }, 3114 | "dependencies": { 3115 | "picocolors": { 3116 | "version": "0.2.1", 3117 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", 3118 | "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", 3119 | "dev": true 3120 | }, 3121 | "postcss": { 3122 | "version": "7.0.39", 3123 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", 3124 | "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", 3125 | "dev": true, 3126 | "requires": { 3127 | "picocolors": "^0.2.1", 3128 | "source-map": "^0.6.1" 3129 | } 3130 | } 3131 | } 3132 | }, 3133 | "ansi-regex": { 3134 | "version": "5.0.1", 3135 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3136 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 3137 | "dev": true 3138 | }, 3139 | "ansi-styles": { 3140 | "version": "4.3.0", 3141 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 3142 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 3143 | "dev": true, 3144 | "requires": { 3145 | "color-convert": "^2.0.1" 3146 | } 3147 | }, 3148 | "anymatch": { 3149 | "version": "3.1.2", 3150 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 3151 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 3152 | "dev": true, 3153 | "requires": { 3154 | "normalize-path": "^3.0.0", 3155 | "picomatch": "^2.0.4" 3156 | } 3157 | }, 3158 | "balanced-match": { 3159 | "version": "1.0.2", 3160 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 3161 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 3162 | "dev": true 3163 | }, 3164 | "binary-extensions": { 3165 | "version": "2.2.0", 3166 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 3167 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 3168 | "dev": true 3169 | }, 3170 | "boolbase": { 3171 | "version": "1.0.0", 3172 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 3173 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", 3174 | "dev": true 3175 | }, 3176 | "brace-expansion": { 3177 | "version": "1.1.11", 3178 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 3179 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 3180 | "dev": true, 3181 | "requires": { 3182 | "balanced-match": "^1.0.0", 3183 | "concat-map": "0.0.1" 3184 | } 3185 | }, 3186 | "braces": { 3187 | "version": "3.0.2", 3188 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 3189 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 3190 | "dev": true, 3191 | "requires": { 3192 | "fill-range": "^7.0.1" 3193 | } 3194 | }, 3195 | "browserslist": { 3196 | "version": "4.20.3", 3197 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", 3198 | "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", 3199 | "dev": true, 3200 | "requires": { 3201 | "caniuse-lite": "^1.0.30001332", 3202 | "electron-to-chromium": "^1.4.118", 3203 | "escalade": "^3.1.1", 3204 | "node-releases": "^2.0.3", 3205 | "picocolors": "^1.0.0" 3206 | } 3207 | }, 3208 | "camelcase": { 3209 | "version": "6.3.0", 3210 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", 3211 | "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", 3212 | "dev": true 3213 | }, 3214 | "caniuse-api": { 3215 | "version": "3.0.0", 3216 | "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", 3217 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", 3218 | "dev": true, 3219 | "requires": { 3220 | "browserslist": "^4.0.0", 3221 | "caniuse-lite": "^1.0.0", 3222 | "lodash.memoize": "^4.1.2", 3223 | "lodash.uniq": "^4.5.0" 3224 | } 3225 | }, 3226 | "caniuse-lite": { 3227 | "version": "1.0.30001339", 3228 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001339.tgz", 3229 | "integrity": "sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ==", 3230 | "dev": true 3231 | }, 3232 | "chalk": { 3233 | "version": "4.1.2", 3234 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 3235 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 3236 | "dev": true, 3237 | "requires": { 3238 | "ansi-styles": "^4.1.0", 3239 | "supports-color": "^7.1.0" 3240 | } 3241 | }, 3242 | "chokidar": { 3243 | "version": "3.5.3", 3244 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 3245 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 3246 | "dev": true, 3247 | "requires": { 3248 | "anymatch": "~3.1.2", 3249 | "braces": "~3.0.2", 3250 | "fsevents": "~2.3.2", 3251 | "glob-parent": "~5.1.2", 3252 | "is-binary-path": "~2.1.0", 3253 | "is-glob": "~4.0.1", 3254 | "normalize-path": "~3.0.0", 3255 | "readdirp": "~3.6.0" 3256 | } 3257 | }, 3258 | "cliui": { 3259 | "version": "6.0.0", 3260 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", 3261 | "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", 3262 | "dev": true, 3263 | "requires": { 3264 | "string-width": "^4.2.0", 3265 | "strip-ansi": "^6.0.0", 3266 | "wrap-ansi": "^6.2.0" 3267 | } 3268 | }, 3269 | "color-convert": { 3270 | "version": "2.0.1", 3271 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 3272 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 3273 | "dev": true, 3274 | "requires": { 3275 | "color-name": "~1.1.4" 3276 | } 3277 | }, 3278 | "color-name": { 3279 | "version": "1.1.4", 3280 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 3281 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 3282 | "dev": true 3283 | }, 3284 | "colord": { 3285 | "version": "2.9.2", 3286 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", 3287 | "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", 3288 | "dev": true 3289 | }, 3290 | "commander": { 3291 | "version": "7.2.0", 3292 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 3293 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 3294 | "dev": true 3295 | }, 3296 | "concat-map": { 3297 | "version": "0.0.1", 3298 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 3299 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 3300 | "dev": true 3301 | }, 3302 | "crypto-random-string": { 3303 | "version": "4.0.0", 3304 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", 3305 | "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", 3306 | "dev": true, 3307 | "requires": { 3308 | "type-fest": "^1.0.1" 3309 | }, 3310 | "dependencies": { 3311 | "type-fest": { 3312 | "version": "1.4.0", 3313 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", 3314 | "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", 3315 | "dev": true 3316 | } 3317 | } 3318 | }, 3319 | "css-declaration-sorter": { 3320 | "version": "6.2.2", 3321 | "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", 3322 | "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", 3323 | "dev": true, 3324 | "requires": {} 3325 | }, 3326 | "css-modules-loader-core": { 3327 | "version": "1.1.0", 3328 | "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", 3329 | "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", 3330 | "dev": true, 3331 | "requires": { 3332 | "icss-replace-symbols": "1.1.0", 3333 | "postcss": "6.0.1", 3334 | "postcss-modules-extract-imports": "1.1.0", 3335 | "postcss-modules-local-by-default": "1.2.0", 3336 | "postcss-modules-scope": "1.1.0", 3337 | "postcss-modules-values": "1.3.0" 3338 | }, 3339 | "dependencies": { 3340 | "ansi-regex": { 3341 | "version": "2.1.1", 3342 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 3343 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 3344 | "dev": true 3345 | }, 3346 | "ansi-styles": { 3347 | "version": "2.2.1", 3348 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 3349 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 3350 | "dev": true 3351 | }, 3352 | "chalk": { 3353 | "version": "1.1.3", 3354 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3355 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3356 | "dev": true, 3357 | "requires": { 3358 | "ansi-styles": "^2.2.1", 3359 | "escape-string-regexp": "^1.0.2", 3360 | "has-ansi": "^2.0.0", 3361 | "strip-ansi": "^3.0.0", 3362 | "supports-color": "^2.0.0" 3363 | }, 3364 | "dependencies": { 3365 | "supports-color": { 3366 | "version": "2.0.0", 3367 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3368 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 3369 | "dev": true 3370 | } 3371 | } 3372 | }, 3373 | "escape-string-regexp": { 3374 | "version": "1.0.5", 3375 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 3376 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 3377 | "dev": true 3378 | }, 3379 | "has-flag": { 3380 | "version": "1.0.0", 3381 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 3382 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 3383 | "dev": true 3384 | }, 3385 | "postcss": { 3386 | "version": "6.0.1", 3387 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", 3388 | "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", 3389 | "dev": true, 3390 | "requires": { 3391 | "chalk": "^1.1.3", 3392 | "source-map": "^0.5.6", 3393 | "supports-color": "^3.2.3" 3394 | } 3395 | }, 3396 | "postcss-modules-extract-imports": { 3397 | "version": "1.1.0", 3398 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", 3399 | "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", 3400 | "dev": true, 3401 | "requires": { 3402 | "postcss": "^6.0.1" 3403 | } 3404 | }, 3405 | "postcss-modules-local-by-default": { 3406 | "version": "1.2.0", 3407 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", 3408 | "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", 3409 | "dev": true, 3410 | "requires": { 3411 | "css-selector-tokenizer": "^0.7.0", 3412 | "postcss": "^6.0.1" 3413 | } 3414 | }, 3415 | "postcss-modules-scope": { 3416 | "version": "1.1.0", 3417 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", 3418 | "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", 3419 | "dev": true, 3420 | "requires": { 3421 | "css-selector-tokenizer": "^0.7.0", 3422 | "postcss": "^6.0.1" 3423 | } 3424 | }, 3425 | "postcss-modules-values": { 3426 | "version": "1.3.0", 3427 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", 3428 | "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", 3429 | "dev": true, 3430 | "requires": { 3431 | "icss-replace-symbols": "^1.1.0", 3432 | "postcss": "^6.0.1" 3433 | } 3434 | }, 3435 | "source-map": { 3436 | "version": "0.5.7", 3437 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3438 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3439 | "dev": true 3440 | }, 3441 | "strip-ansi": { 3442 | "version": "3.0.1", 3443 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 3444 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 3445 | "dev": true, 3446 | "requires": { 3447 | "ansi-regex": "^2.0.0" 3448 | } 3449 | }, 3450 | "supports-color": { 3451 | "version": "3.2.3", 3452 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 3453 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 3454 | "dev": true, 3455 | "requires": { 3456 | "has-flag": "^1.0.0" 3457 | } 3458 | } 3459 | } 3460 | }, 3461 | "css-select": { 3462 | "version": "4.3.0", 3463 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", 3464 | "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", 3465 | "dev": true, 3466 | "requires": { 3467 | "boolbase": "^1.0.0", 3468 | "css-what": "^6.0.1", 3469 | "domhandler": "^4.3.1", 3470 | "domutils": "^2.8.0", 3471 | "nth-check": "^2.0.1" 3472 | } 3473 | }, 3474 | "css-selector-tokenizer": { 3475 | "version": "0.7.3", 3476 | "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", 3477 | "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", 3478 | "dev": true, 3479 | "requires": { 3480 | "cssesc": "^3.0.0", 3481 | "fastparse": "^1.1.2" 3482 | } 3483 | }, 3484 | "css-tree": { 3485 | "version": "1.1.3", 3486 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", 3487 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", 3488 | "dev": true, 3489 | "requires": { 3490 | "mdn-data": "2.0.14", 3491 | "source-map": "^0.6.1" 3492 | } 3493 | }, 3494 | "css-what": { 3495 | "version": "6.1.0", 3496 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 3497 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 3498 | "dev": true 3499 | }, 3500 | "cssesc": { 3501 | "version": "3.0.0", 3502 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 3503 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 3504 | "dev": true 3505 | }, 3506 | "cssnano": { 3507 | "version": "5.1.7", 3508 | "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", 3509 | "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", 3510 | "dev": true, 3511 | "requires": { 3512 | "cssnano-preset-default": "^5.2.7", 3513 | "lilconfig": "^2.0.3", 3514 | "yaml": "^1.10.2" 3515 | } 3516 | }, 3517 | "cssnano-preset-default": { 3518 | "version": "5.2.7", 3519 | "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", 3520 | "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", 3521 | "dev": true, 3522 | "requires": { 3523 | "css-declaration-sorter": "^6.2.2", 3524 | "cssnano-utils": "^3.1.0", 3525 | "postcss-calc": "^8.2.3", 3526 | "postcss-colormin": "^5.3.0", 3527 | "postcss-convert-values": "^5.1.0", 3528 | "postcss-discard-comments": "^5.1.1", 3529 | "postcss-discard-duplicates": "^5.1.0", 3530 | "postcss-discard-empty": "^5.1.1", 3531 | "postcss-discard-overridden": "^5.1.0", 3532 | "postcss-merge-longhand": "^5.1.4", 3533 | "postcss-merge-rules": "^5.1.1", 3534 | "postcss-minify-font-values": "^5.1.0", 3535 | "postcss-minify-gradients": "^5.1.1", 3536 | "postcss-minify-params": "^5.1.2", 3537 | "postcss-minify-selectors": "^5.2.0", 3538 | "postcss-normalize-charset": "^5.1.0", 3539 | "postcss-normalize-display-values": "^5.1.0", 3540 | "postcss-normalize-positions": "^5.1.0", 3541 | "postcss-normalize-repeat-style": "^5.1.0", 3542 | "postcss-normalize-string": "^5.1.0", 3543 | "postcss-normalize-timing-functions": "^5.1.0", 3544 | "postcss-normalize-unicode": "^5.1.0", 3545 | "postcss-normalize-url": "^5.1.0", 3546 | "postcss-normalize-whitespace": "^5.1.1", 3547 | "postcss-ordered-values": "^5.1.1", 3548 | "postcss-reduce-initial": "^5.1.0", 3549 | "postcss-reduce-transforms": "^5.1.0", 3550 | "postcss-svgo": "^5.1.0", 3551 | "postcss-unique-selectors": "^5.1.1" 3552 | } 3553 | }, 3554 | "cssnano-utils": { 3555 | "version": "3.1.0", 3556 | "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", 3557 | "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", 3558 | "dev": true, 3559 | "requires": {} 3560 | }, 3561 | "csso": { 3562 | "version": "4.2.0", 3563 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", 3564 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", 3565 | "dev": true, 3566 | "requires": { 3567 | "css-tree": "^1.1.2" 3568 | } 3569 | }, 3570 | "decamelize": { 3571 | "version": "1.2.0", 3572 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 3573 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 3574 | "dev": true 3575 | }, 3576 | "dir-glob": { 3577 | "version": "3.0.1", 3578 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 3579 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 3580 | "dev": true, 3581 | "requires": { 3582 | "path-type": "^4.0.0" 3583 | } 3584 | }, 3585 | "dom-serializer": { 3586 | "version": "1.4.1", 3587 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", 3588 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", 3589 | "dev": true, 3590 | "requires": { 3591 | "domelementtype": "^2.0.1", 3592 | "domhandler": "^4.2.0", 3593 | "entities": "^2.0.0" 3594 | } 3595 | }, 3596 | "domelementtype": { 3597 | "version": "2.3.0", 3598 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 3599 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 3600 | "dev": true 3601 | }, 3602 | "domhandler": { 3603 | "version": "4.3.1", 3604 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", 3605 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", 3606 | "dev": true, 3607 | "requires": { 3608 | "domelementtype": "^2.2.0" 3609 | } 3610 | }, 3611 | "domutils": { 3612 | "version": "2.8.0", 3613 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", 3614 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 3615 | "dev": true, 3616 | "requires": { 3617 | "dom-serializer": "^1.0.1", 3618 | "domelementtype": "^2.2.0", 3619 | "domhandler": "^4.2.0" 3620 | } 3621 | }, 3622 | "electron-to-chromium": { 3623 | "version": "1.4.137", 3624 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", 3625 | "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", 3626 | "dev": true 3627 | }, 3628 | "emoji-regex": { 3629 | "version": "8.0.0", 3630 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 3631 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 3632 | "dev": true 3633 | }, 3634 | "entities": { 3635 | "version": "2.2.0", 3636 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 3637 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 3638 | "dev": true 3639 | }, 3640 | "esbuild": { 3641 | "version": "0.14.38", 3642 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.38.tgz", 3643 | "integrity": "sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==", 3644 | "dev": true, 3645 | "requires": { 3646 | "esbuild-android-64": "0.14.38", 3647 | "esbuild-android-arm64": "0.14.38", 3648 | "esbuild-darwin-64": "0.14.38", 3649 | "esbuild-darwin-arm64": "0.14.38", 3650 | "esbuild-freebsd-64": "0.14.38", 3651 | "esbuild-freebsd-arm64": "0.14.38", 3652 | "esbuild-linux-32": "0.14.38", 3653 | "esbuild-linux-64": "0.14.38", 3654 | "esbuild-linux-arm": "0.14.38", 3655 | "esbuild-linux-arm64": "0.14.38", 3656 | "esbuild-linux-mips64le": "0.14.38", 3657 | "esbuild-linux-ppc64le": "0.14.38", 3658 | "esbuild-linux-riscv64": "0.14.38", 3659 | "esbuild-linux-s390x": "0.14.38", 3660 | "esbuild-netbsd-64": "0.14.38", 3661 | "esbuild-openbsd-64": "0.14.38", 3662 | "esbuild-sunos-64": "0.14.38", 3663 | "esbuild-windows-32": "0.14.38", 3664 | "esbuild-windows-64": "0.14.38", 3665 | "esbuild-windows-arm64": "0.14.38" 3666 | } 3667 | }, 3668 | "esbuild-android-64": { 3669 | "version": "0.14.38", 3670 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz", 3671 | "integrity": "sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==", 3672 | "dev": true, 3673 | "optional": true 3674 | }, 3675 | "esbuild-android-arm64": { 3676 | "version": "0.14.38", 3677 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz", 3678 | "integrity": "sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==", 3679 | "dev": true, 3680 | "optional": true 3681 | }, 3682 | "esbuild-darwin-64": { 3683 | "version": "0.14.38", 3684 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz", 3685 | "integrity": "sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==", 3686 | "dev": true, 3687 | "optional": true 3688 | }, 3689 | "esbuild-darwin-arm64": { 3690 | "version": "0.14.38", 3691 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz", 3692 | "integrity": "sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==", 3693 | "dev": true, 3694 | "optional": true 3695 | }, 3696 | "esbuild-freebsd-64": { 3697 | "version": "0.14.38", 3698 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz", 3699 | "integrity": "sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==", 3700 | "dev": true, 3701 | "optional": true 3702 | }, 3703 | "esbuild-freebsd-arm64": { 3704 | "version": "0.14.38", 3705 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz", 3706 | "integrity": "sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==", 3707 | "dev": true, 3708 | "optional": true 3709 | }, 3710 | "esbuild-linux-32": { 3711 | "version": "0.14.38", 3712 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz", 3713 | "integrity": "sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==", 3714 | "dev": true, 3715 | "optional": true 3716 | }, 3717 | "esbuild-linux-64": { 3718 | "version": "0.14.38", 3719 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz", 3720 | "integrity": "sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==", 3721 | "dev": true, 3722 | "optional": true 3723 | }, 3724 | "esbuild-linux-arm": { 3725 | "version": "0.14.38", 3726 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz", 3727 | "integrity": "sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==", 3728 | "dev": true, 3729 | "optional": true 3730 | }, 3731 | "esbuild-linux-arm64": { 3732 | "version": "0.14.38", 3733 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz", 3734 | "integrity": "sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==", 3735 | "dev": true, 3736 | "optional": true 3737 | }, 3738 | "esbuild-linux-mips64le": { 3739 | "version": "0.14.38", 3740 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz", 3741 | "integrity": "sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==", 3742 | "dev": true, 3743 | "optional": true 3744 | }, 3745 | "esbuild-linux-ppc64le": { 3746 | "version": "0.14.38", 3747 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz", 3748 | "integrity": "sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==", 3749 | "dev": true, 3750 | "optional": true 3751 | }, 3752 | "esbuild-linux-riscv64": { 3753 | "version": "0.14.38", 3754 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz", 3755 | "integrity": "sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==", 3756 | "dev": true, 3757 | "optional": true 3758 | }, 3759 | "esbuild-linux-s390x": { 3760 | "version": "0.14.38", 3761 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz", 3762 | "integrity": "sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==", 3763 | "dev": true, 3764 | "optional": true 3765 | }, 3766 | "esbuild-netbsd-64": { 3767 | "version": "0.14.38", 3768 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz", 3769 | "integrity": "sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==", 3770 | "dev": true, 3771 | "optional": true 3772 | }, 3773 | "esbuild-openbsd-64": { 3774 | "version": "0.14.38", 3775 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz", 3776 | "integrity": "sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==", 3777 | "dev": true, 3778 | "optional": true 3779 | }, 3780 | "esbuild-sunos-64": { 3781 | "version": "0.14.38", 3782 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz", 3783 | "integrity": "sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==", 3784 | "dev": true, 3785 | "optional": true 3786 | }, 3787 | "esbuild-windows-32": { 3788 | "version": "0.14.38", 3789 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz", 3790 | "integrity": "sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==", 3791 | "dev": true, 3792 | "optional": true 3793 | }, 3794 | "esbuild-windows-64": { 3795 | "version": "0.14.38", 3796 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz", 3797 | "integrity": "sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==", 3798 | "dev": true, 3799 | "optional": true 3800 | }, 3801 | "esbuild-windows-arm64": { 3802 | "version": "0.14.38", 3803 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz", 3804 | "integrity": "sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==", 3805 | "dev": true, 3806 | "optional": true 3807 | }, 3808 | "escalade": { 3809 | "version": "3.1.1", 3810 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 3811 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 3812 | "dev": true 3813 | }, 3814 | "escape-string-regexp": { 3815 | "version": "5.0.0", 3816 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", 3817 | "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", 3818 | "dev": true 3819 | }, 3820 | "fast-glob": { 3821 | "version": "3.2.11", 3822 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 3823 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 3824 | "dev": true, 3825 | "requires": { 3826 | "@nodelib/fs.stat": "^2.0.2", 3827 | "@nodelib/fs.walk": "^1.2.3", 3828 | "glob-parent": "^5.1.2", 3829 | "merge2": "^1.3.0", 3830 | "micromatch": "^4.0.4" 3831 | } 3832 | }, 3833 | "fastparse": { 3834 | "version": "1.1.2", 3835 | "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", 3836 | "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", 3837 | "dev": true 3838 | }, 3839 | "fastq": { 3840 | "version": "1.13.0", 3841 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 3842 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 3843 | "dev": true, 3844 | "requires": { 3845 | "reusify": "^1.0.4" 3846 | } 3847 | }, 3848 | "fill-range": { 3849 | "version": "7.0.1", 3850 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 3851 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 3852 | "dev": true, 3853 | "requires": { 3854 | "to-regex-range": "^5.0.1" 3855 | } 3856 | }, 3857 | "find-up": { 3858 | "version": "6.3.0", 3859 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", 3860 | "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", 3861 | "dev": true, 3862 | "requires": { 3863 | "locate-path": "^7.1.0", 3864 | "path-exists": "^5.0.0" 3865 | } 3866 | }, 3867 | "fs-extra": { 3868 | "version": "10.1.0", 3869 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", 3870 | "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", 3871 | "dev": true, 3872 | "requires": { 3873 | "graceful-fs": "^4.2.0", 3874 | "jsonfile": "^6.0.1", 3875 | "universalify": "^2.0.0" 3876 | } 3877 | }, 3878 | "fs.realpath": { 3879 | "version": "1.0.0", 3880 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 3881 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 3882 | "dev": true 3883 | }, 3884 | "fsevents": { 3885 | "version": "2.3.2", 3886 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 3887 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 3888 | "dev": true, 3889 | "optional": true 3890 | }, 3891 | "generic-names": { 3892 | "version": "4.0.0", 3893 | "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", 3894 | "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", 3895 | "dev": true, 3896 | "requires": { 3897 | "loader-utils": "^3.2.0" 3898 | } 3899 | }, 3900 | "get-caller-file": { 3901 | "version": "2.0.5", 3902 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 3903 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 3904 | "dev": true 3905 | }, 3906 | "glob": { 3907 | "version": "7.2.0", 3908 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 3909 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 3910 | "dev": true, 3911 | "requires": { 3912 | "fs.realpath": "^1.0.0", 3913 | "inflight": "^1.0.4", 3914 | "inherits": "2", 3915 | "minimatch": "^3.0.4", 3916 | "once": "^1.3.0", 3917 | "path-is-absolute": "^1.0.0" 3918 | } 3919 | }, 3920 | "glob-parent": { 3921 | "version": "5.1.2", 3922 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3923 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3924 | "dev": true, 3925 | "requires": { 3926 | "is-glob": "^4.0.1" 3927 | } 3928 | }, 3929 | "globby": { 3930 | "version": "13.1.1", 3931 | "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.1.tgz", 3932 | "integrity": "sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==", 3933 | "dev": true, 3934 | "requires": { 3935 | "dir-glob": "^3.0.1", 3936 | "fast-glob": "^3.2.11", 3937 | "ignore": "^5.2.0", 3938 | "merge2": "^1.4.1", 3939 | "slash": "^4.0.0" 3940 | } 3941 | }, 3942 | "graceful-fs": { 3943 | "version": "4.2.10", 3944 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 3945 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 3946 | "dev": true 3947 | }, 3948 | "has-ansi": { 3949 | "version": "2.0.0", 3950 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 3951 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 3952 | "dev": true, 3953 | "requires": { 3954 | "ansi-regex": "^2.0.0" 3955 | }, 3956 | "dependencies": { 3957 | "ansi-regex": { 3958 | "version": "2.1.1", 3959 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 3960 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 3961 | "dev": true 3962 | } 3963 | } 3964 | }, 3965 | "has-flag": { 3966 | "version": "4.0.0", 3967 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 3968 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 3969 | "dev": true 3970 | }, 3971 | "hex-rgb": { 3972 | "version": "5.0.0", 3973 | "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-5.0.0.tgz", 3974 | "integrity": "sha512-NQO+lgVUCtHxZ792FodgW0zflK+ozS9X9dwGp9XvvmPlH7pyxd588cn24TD3rmPm/N0AIRXF10Otah8yKqGw4w==" 3975 | }, 3976 | "icss-replace-symbols": { 3977 | "version": "1.1.0", 3978 | "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", 3979 | "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", 3980 | "dev": true 3981 | }, 3982 | "icss-utils": { 3983 | "version": "5.1.0", 3984 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", 3985 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", 3986 | "dev": true, 3987 | "requires": {} 3988 | }, 3989 | "ignore": { 3990 | "version": "5.2.0", 3991 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 3992 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 3993 | "dev": true 3994 | }, 3995 | "indent-string": { 3996 | "version": "5.0.0", 3997 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", 3998 | "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", 3999 | "dev": true 4000 | }, 4001 | "inflight": { 4002 | "version": "1.0.6", 4003 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 4004 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 4005 | "dev": true, 4006 | "requires": { 4007 | "once": "^1.3.0", 4008 | "wrappy": "1" 4009 | } 4010 | }, 4011 | "inherits": { 4012 | "version": "2.0.4", 4013 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 4014 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 4015 | "dev": true 4016 | }, 4017 | "is-binary-path": { 4018 | "version": "2.1.0", 4019 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 4020 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 4021 | "dev": true, 4022 | "requires": { 4023 | "binary-extensions": "^2.0.0" 4024 | } 4025 | }, 4026 | "is-extglob": { 4027 | "version": "2.1.1", 4028 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 4029 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 4030 | "dev": true 4031 | }, 4032 | "is-fullwidth-code-point": { 4033 | "version": "3.0.0", 4034 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 4035 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 4036 | "dev": true 4037 | }, 4038 | "is-glob": { 4039 | "version": "4.0.3", 4040 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 4041 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 4042 | "dev": true, 4043 | "requires": { 4044 | "is-extglob": "^2.1.1" 4045 | } 4046 | }, 4047 | "is-number": { 4048 | "version": "7.0.0", 4049 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 4050 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 4051 | "dev": true 4052 | }, 4053 | "is-stream": { 4054 | "version": "2.0.1", 4055 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 4056 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 4057 | "dev": true 4058 | }, 4059 | "is-there": { 4060 | "version": "4.5.1", 4061 | "resolved": "https://registry.npmjs.org/is-there/-/is-there-4.5.1.tgz", 4062 | "integrity": "sha512-vIZ7HTXAoRoIwYSsTnxb0sg9L6rth+JOulNcavsbskQkCIWoSM2cjFOWZs4wGziGZER+Xgs/HXiCQZgiL8ppxQ==", 4063 | "dev": true 4064 | }, 4065 | "jsonfile": { 4066 | "version": "6.1.0", 4067 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 4068 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 4069 | "dev": true, 4070 | "requires": { 4071 | "graceful-fs": "^4.1.6", 4072 | "universalify": "^2.0.0" 4073 | } 4074 | }, 4075 | "kleur": { 4076 | "version": "4.1.4", 4077 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", 4078 | "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", 4079 | "dev": true 4080 | }, 4081 | "lilconfig": { 4082 | "version": "2.0.5", 4083 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", 4084 | "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", 4085 | "dev": true 4086 | }, 4087 | "loader-utils": { 4088 | "version": "3.2.0", 4089 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", 4090 | "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", 4091 | "dev": true 4092 | }, 4093 | "locate-path": { 4094 | "version": "7.1.0", 4095 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.1.0.tgz", 4096 | "integrity": "sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ==", 4097 | "dev": true, 4098 | "requires": { 4099 | "p-locate": "^6.0.0" 4100 | } 4101 | }, 4102 | "lodash.camelcase": { 4103 | "version": "4.3.0", 4104 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 4105 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", 4106 | "dev": true 4107 | }, 4108 | "lodash.deburr": { 4109 | "version": "4.1.0", 4110 | "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", 4111 | "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=", 4112 | "dev": true 4113 | }, 4114 | "lodash.memoize": { 4115 | "version": "4.1.2", 4116 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 4117 | "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", 4118 | "dev": true 4119 | }, 4120 | "lodash.uniq": { 4121 | "version": "4.5.0", 4122 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 4123 | "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", 4124 | "dev": true 4125 | }, 4126 | "mdn-data": { 4127 | "version": "2.0.14", 4128 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", 4129 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", 4130 | "dev": true 4131 | }, 4132 | "merge2": { 4133 | "version": "1.4.1", 4134 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 4135 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 4136 | "dev": true 4137 | }, 4138 | "micromatch": { 4139 | "version": "4.0.5", 4140 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 4141 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 4142 | "dev": true, 4143 | "requires": { 4144 | "braces": "^3.0.2", 4145 | "picomatch": "^2.3.1" 4146 | } 4147 | }, 4148 | "minimatch": { 4149 | "version": "3.1.2", 4150 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 4151 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 4152 | "dev": true, 4153 | "requires": { 4154 | "brace-expansion": "^1.1.7" 4155 | } 4156 | }, 4157 | "mkdirp": { 4158 | "version": "1.0.4", 4159 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 4160 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 4161 | "dev": true 4162 | }, 4163 | "mri": { 4164 | "version": "1.2.0", 4165 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 4166 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 4167 | "dev": true 4168 | }, 4169 | "nanoid": { 4170 | "version": "3.3.4", 4171 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 4172 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 4173 | "dev": true 4174 | }, 4175 | "natural-compare-lite": { 4176 | "version": "1.4.0", 4177 | "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", 4178 | "integrity": "sha1-F7CVgZiJef3a/gIB6TG6kzyWy7Q=" 4179 | }, 4180 | "node-releases": { 4181 | "version": "2.0.4", 4182 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", 4183 | "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", 4184 | "dev": true 4185 | }, 4186 | "normalize-path": { 4187 | "version": "3.0.0", 4188 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 4189 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 4190 | "dev": true 4191 | }, 4192 | "normalize-url": { 4193 | "version": "6.1.0", 4194 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", 4195 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", 4196 | "dev": true 4197 | }, 4198 | "nth-check": { 4199 | "version": "2.0.1", 4200 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", 4201 | "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", 4202 | "dev": true, 4203 | "requires": { 4204 | "boolbase": "^1.0.0" 4205 | } 4206 | }, 4207 | "once": { 4208 | "version": "1.4.0", 4209 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 4210 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 4211 | "dev": true, 4212 | "requires": { 4213 | "wrappy": "1" 4214 | } 4215 | }, 4216 | "p-limit": { 4217 | "version": "4.0.0", 4218 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", 4219 | "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", 4220 | "dev": true, 4221 | "requires": { 4222 | "yocto-queue": "^1.0.0" 4223 | } 4224 | }, 4225 | "p-locate": { 4226 | "version": "6.0.0", 4227 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", 4228 | "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", 4229 | "dev": true, 4230 | "requires": { 4231 | "p-limit": "^4.0.0" 4232 | } 4233 | }, 4234 | "p-try": { 4235 | "version": "2.2.0", 4236 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 4237 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 4238 | "dev": true 4239 | }, 4240 | "path-exists": { 4241 | "version": "5.0.0", 4242 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", 4243 | "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", 4244 | "dev": true 4245 | }, 4246 | "path-is-absolute": { 4247 | "version": "1.0.1", 4248 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 4249 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 4250 | "dev": true 4251 | }, 4252 | "path-type": { 4253 | "version": "4.0.0", 4254 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 4255 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 4256 | "dev": true 4257 | }, 4258 | "picocolors": { 4259 | "version": "1.0.0", 4260 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 4261 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 4262 | "dev": true 4263 | }, 4264 | "picomatch": { 4265 | "version": "2.3.1", 4266 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 4267 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 4268 | "dev": true 4269 | }, 4270 | "postcss": { 4271 | "version": "8.4.13", 4272 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", 4273 | "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", 4274 | "dev": true, 4275 | "requires": { 4276 | "nanoid": "^3.3.3", 4277 | "picocolors": "^1.0.0", 4278 | "source-map-js": "^1.0.2" 4279 | } 4280 | }, 4281 | "postcss-calc": { 4282 | "version": "8.2.4", 4283 | "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", 4284 | "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", 4285 | "dev": true, 4286 | "requires": { 4287 | "postcss-selector-parser": "^6.0.9", 4288 | "postcss-value-parser": "^4.2.0" 4289 | } 4290 | }, 4291 | "postcss-colormin": { 4292 | "version": "5.3.0", 4293 | "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", 4294 | "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", 4295 | "dev": true, 4296 | "requires": { 4297 | "browserslist": "^4.16.6", 4298 | "caniuse-api": "^3.0.0", 4299 | "colord": "^2.9.1", 4300 | "postcss-value-parser": "^4.2.0" 4301 | } 4302 | }, 4303 | "postcss-convert-values": { 4304 | "version": "5.1.0", 4305 | "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz", 4306 | "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==", 4307 | "dev": true, 4308 | "requires": { 4309 | "postcss-value-parser": "^4.2.0" 4310 | } 4311 | }, 4312 | "postcss-discard-comments": { 4313 | "version": "5.1.1", 4314 | "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", 4315 | "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", 4316 | "dev": true, 4317 | "requires": {} 4318 | }, 4319 | "postcss-discard-duplicates": { 4320 | "version": "5.1.0", 4321 | "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", 4322 | "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", 4323 | "dev": true, 4324 | "requires": {} 4325 | }, 4326 | "postcss-discard-empty": { 4327 | "version": "5.1.1", 4328 | "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", 4329 | "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", 4330 | "dev": true, 4331 | "requires": {} 4332 | }, 4333 | "postcss-discard-overridden": { 4334 | "version": "5.1.0", 4335 | "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", 4336 | "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", 4337 | "dev": true, 4338 | "requires": {} 4339 | }, 4340 | "postcss-merge-longhand": { 4341 | "version": "5.1.4", 4342 | "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", 4343 | "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", 4344 | "dev": true, 4345 | "requires": { 4346 | "postcss-value-parser": "^4.2.0", 4347 | "stylehacks": "^5.1.0" 4348 | } 4349 | }, 4350 | "postcss-merge-rules": { 4351 | "version": "5.1.1", 4352 | "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", 4353 | "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", 4354 | "dev": true, 4355 | "requires": { 4356 | "browserslist": "^4.16.6", 4357 | "caniuse-api": "^3.0.0", 4358 | "cssnano-utils": "^3.1.0", 4359 | "postcss-selector-parser": "^6.0.5" 4360 | } 4361 | }, 4362 | "postcss-minify-font-values": { 4363 | "version": "5.1.0", 4364 | "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", 4365 | "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", 4366 | "dev": true, 4367 | "requires": { 4368 | "postcss-value-parser": "^4.2.0" 4369 | } 4370 | }, 4371 | "postcss-minify-gradients": { 4372 | "version": "5.1.1", 4373 | "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", 4374 | "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", 4375 | "dev": true, 4376 | "requires": { 4377 | "colord": "^2.9.1", 4378 | "cssnano-utils": "^3.1.0", 4379 | "postcss-value-parser": "^4.2.0" 4380 | } 4381 | }, 4382 | "postcss-minify-params": { 4383 | "version": "5.1.2", 4384 | "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", 4385 | "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", 4386 | "dev": true, 4387 | "requires": { 4388 | "browserslist": "^4.16.6", 4389 | "cssnano-utils": "^3.1.0", 4390 | "postcss-value-parser": "^4.2.0" 4391 | } 4392 | }, 4393 | "postcss-minify-selectors": { 4394 | "version": "5.2.0", 4395 | "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz", 4396 | "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==", 4397 | "dev": true, 4398 | "requires": { 4399 | "postcss-selector-parser": "^6.0.5" 4400 | } 4401 | }, 4402 | "postcss-modules": { 4403 | "version": "4.3.1", 4404 | "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.3.1.tgz", 4405 | "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", 4406 | "dev": true, 4407 | "requires": { 4408 | "generic-names": "^4.0.0", 4409 | "icss-replace-symbols": "^1.1.0", 4410 | "lodash.camelcase": "^4.3.0", 4411 | "postcss-modules-extract-imports": "^3.0.0", 4412 | "postcss-modules-local-by-default": "^4.0.0", 4413 | "postcss-modules-scope": "^3.0.0", 4414 | "postcss-modules-values": "^4.0.0", 4415 | "string-hash": "^1.1.1" 4416 | } 4417 | }, 4418 | "postcss-modules-extract-imports": { 4419 | "version": "3.0.0", 4420 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", 4421 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", 4422 | "dev": true, 4423 | "requires": {} 4424 | }, 4425 | "postcss-modules-local-by-default": { 4426 | "version": "4.0.0", 4427 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", 4428 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", 4429 | "dev": true, 4430 | "requires": { 4431 | "icss-utils": "^5.0.0", 4432 | "postcss-selector-parser": "^6.0.2", 4433 | "postcss-value-parser": "^4.1.0" 4434 | } 4435 | }, 4436 | "postcss-modules-scope": { 4437 | "version": "3.0.0", 4438 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", 4439 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", 4440 | "dev": true, 4441 | "requires": { 4442 | "postcss-selector-parser": "^6.0.4" 4443 | } 4444 | }, 4445 | "postcss-modules-values": { 4446 | "version": "4.0.0", 4447 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", 4448 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", 4449 | "dev": true, 4450 | "requires": { 4451 | "icss-utils": "^5.0.0" 4452 | } 4453 | }, 4454 | "postcss-normalize-charset": { 4455 | "version": "5.1.0", 4456 | "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", 4457 | "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", 4458 | "dev": true, 4459 | "requires": {} 4460 | }, 4461 | "postcss-normalize-display-values": { 4462 | "version": "5.1.0", 4463 | "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", 4464 | "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", 4465 | "dev": true, 4466 | "requires": { 4467 | "postcss-value-parser": "^4.2.0" 4468 | } 4469 | }, 4470 | "postcss-normalize-positions": { 4471 | "version": "5.1.0", 4472 | "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", 4473 | "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", 4474 | "dev": true, 4475 | "requires": { 4476 | "postcss-value-parser": "^4.2.0" 4477 | } 4478 | }, 4479 | "postcss-normalize-repeat-style": { 4480 | "version": "5.1.0", 4481 | "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", 4482 | "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", 4483 | "dev": true, 4484 | "requires": { 4485 | "postcss-value-parser": "^4.2.0" 4486 | } 4487 | }, 4488 | "postcss-normalize-string": { 4489 | "version": "5.1.0", 4490 | "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", 4491 | "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", 4492 | "dev": true, 4493 | "requires": { 4494 | "postcss-value-parser": "^4.2.0" 4495 | } 4496 | }, 4497 | "postcss-normalize-timing-functions": { 4498 | "version": "5.1.0", 4499 | "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", 4500 | "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", 4501 | "dev": true, 4502 | "requires": { 4503 | "postcss-value-parser": "^4.2.0" 4504 | } 4505 | }, 4506 | "postcss-normalize-unicode": { 4507 | "version": "5.1.0", 4508 | "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", 4509 | "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", 4510 | "dev": true, 4511 | "requires": { 4512 | "browserslist": "^4.16.6", 4513 | "postcss-value-parser": "^4.2.0" 4514 | } 4515 | }, 4516 | "postcss-normalize-url": { 4517 | "version": "5.1.0", 4518 | "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", 4519 | "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", 4520 | "dev": true, 4521 | "requires": { 4522 | "normalize-url": "^6.0.1", 4523 | "postcss-value-parser": "^4.2.0" 4524 | } 4525 | }, 4526 | "postcss-normalize-whitespace": { 4527 | "version": "5.1.1", 4528 | "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", 4529 | "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", 4530 | "dev": true, 4531 | "requires": { 4532 | "postcss-value-parser": "^4.2.0" 4533 | } 4534 | }, 4535 | "postcss-ordered-values": { 4536 | "version": "5.1.1", 4537 | "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", 4538 | "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", 4539 | "dev": true, 4540 | "requires": { 4541 | "cssnano-utils": "^3.1.0", 4542 | "postcss-value-parser": "^4.2.0" 4543 | } 4544 | }, 4545 | "postcss-reduce-initial": { 4546 | "version": "5.1.0", 4547 | "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", 4548 | "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", 4549 | "dev": true, 4550 | "requires": { 4551 | "browserslist": "^4.16.6", 4552 | "caniuse-api": "^3.0.0" 4553 | } 4554 | }, 4555 | "postcss-reduce-transforms": { 4556 | "version": "5.1.0", 4557 | "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", 4558 | "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", 4559 | "dev": true, 4560 | "requires": { 4561 | "postcss-value-parser": "^4.2.0" 4562 | } 4563 | }, 4564 | "postcss-selector-parser": { 4565 | "version": "6.0.10", 4566 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 4567 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 4568 | "dev": true, 4569 | "requires": { 4570 | "cssesc": "^3.0.0", 4571 | "util-deprecate": "^1.0.2" 4572 | } 4573 | }, 4574 | "postcss-svgo": { 4575 | "version": "5.1.0", 4576 | "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", 4577 | "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", 4578 | "dev": true, 4579 | "requires": { 4580 | "postcss-value-parser": "^4.2.0", 4581 | "svgo": "^2.7.0" 4582 | } 4583 | }, 4584 | "postcss-unique-selectors": { 4585 | "version": "5.1.1", 4586 | "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", 4587 | "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", 4588 | "dev": true, 4589 | "requires": { 4590 | "postcss-selector-parser": "^6.0.5" 4591 | } 4592 | }, 4593 | "postcss-value-parser": { 4594 | "version": "4.2.0", 4595 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 4596 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 4597 | "dev": true 4598 | }, 4599 | "preact": { 4600 | "version": "10.7.2", 4601 | "resolved": "https://registry.npmjs.org/preact/-/preact-10.7.2.tgz", 4602 | "integrity": "sha512-GLjn0I3r6ka+NvxJUppsVFqb4V0qDTEHT/QxHlidPuClGaxF/4AI2Qti4a0cv3XMh5n1+D3hLScW10LRIm5msQ==" 4603 | }, 4604 | "queue-microtask": { 4605 | "version": "1.2.3", 4606 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 4607 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 4608 | "dev": true 4609 | }, 4610 | "readdirp": { 4611 | "version": "3.6.0", 4612 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 4613 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 4614 | "dev": true, 4615 | "requires": { 4616 | "picomatch": "^2.2.1" 4617 | } 4618 | }, 4619 | "require-directory": { 4620 | "version": "2.1.1", 4621 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 4622 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 4623 | "dev": true 4624 | }, 4625 | "require-main-filename": { 4626 | "version": "2.0.0", 4627 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 4628 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 4629 | "dev": true 4630 | }, 4631 | "reusify": { 4632 | "version": "1.0.4", 4633 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 4634 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 4635 | "dev": true 4636 | }, 4637 | "rev-hash": { 4638 | "version": "4.0.0", 4639 | "resolved": "https://registry.npmjs.org/rev-hash/-/rev-hash-4.0.0.tgz", 4640 | "integrity": "sha512-5w/auZRs65pf1AkZIbfICeorQfOCb6XVWaHmDEbkMyjmyRMxck+W0Erdj9zffuBRXxn5cbKfgmWQ9GpgR8dFZQ==", 4641 | "dev": true 4642 | }, 4643 | "rgb-hex": { 4644 | "version": "4.0.0", 4645 | "resolved": "https://registry.npmjs.org/rgb-hex/-/rgb-hex-4.0.0.tgz", 4646 | "integrity": "sha512-Eg2ev5CiMBnQ9Gpflmqbwbso0CCdISqtVIow7OpYSLN1ULUv2jTB9YieS1DSSn/17AD7KkPWDPzSFzI4GSuu/Q==" 4647 | }, 4648 | "run-parallel": { 4649 | "version": "1.2.0", 4650 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 4651 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 4652 | "dev": true, 4653 | "requires": { 4654 | "queue-microtask": "^1.2.2" 4655 | } 4656 | }, 4657 | "sade": { 4658 | "version": "1.8.1", 4659 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 4660 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 4661 | "dev": true, 4662 | "requires": { 4663 | "mri": "^1.1.0" 4664 | } 4665 | }, 4666 | "set-blocking": { 4667 | "version": "2.0.0", 4668 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 4669 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 4670 | "dev": true 4671 | }, 4672 | "slash": { 4673 | "version": "4.0.0", 4674 | "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", 4675 | "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", 4676 | "dev": true 4677 | }, 4678 | "source-map": { 4679 | "version": "0.6.1", 4680 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 4681 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 4682 | "dev": true 4683 | }, 4684 | "source-map-js": { 4685 | "version": "1.0.2", 4686 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 4687 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 4688 | "dev": true 4689 | }, 4690 | "stable": { 4691 | "version": "0.1.8", 4692 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", 4693 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", 4694 | "dev": true 4695 | }, 4696 | "string-hash": { 4697 | "version": "1.1.3", 4698 | "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", 4699 | "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", 4700 | "dev": true 4701 | }, 4702 | "string-width": { 4703 | "version": "4.2.3", 4704 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4705 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4706 | "dev": true, 4707 | "requires": { 4708 | "emoji-regex": "^8.0.0", 4709 | "is-fullwidth-code-point": "^3.0.0", 4710 | "strip-ansi": "^6.0.1" 4711 | } 4712 | }, 4713 | "strip-ansi": { 4714 | "version": "6.0.1", 4715 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4716 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4717 | "dev": true, 4718 | "requires": { 4719 | "ansi-regex": "^5.0.1" 4720 | } 4721 | }, 4722 | "stylehacks": { 4723 | "version": "5.1.0", 4724 | "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", 4725 | "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", 4726 | "dev": true, 4727 | "requires": { 4728 | "browserslist": "^4.16.6", 4729 | "postcss-selector-parser": "^6.0.4" 4730 | } 4731 | }, 4732 | "supports-color": { 4733 | "version": "7.2.0", 4734 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 4735 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 4736 | "dev": true, 4737 | "requires": { 4738 | "has-flag": "^4.0.0" 4739 | } 4740 | }, 4741 | "svgo": { 4742 | "version": "2.8.0", 4743 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", 4744 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", 4745 | "dev": true, 4746 | "requires": { 4747 | "@trysound/sax": "0.2.0", 4748 | "commander": "^7.2.0", 4749 | "css-select": "^4.1.3", 4750 | "css-tree": "^1.1.3", 4751 | "csso": "^4.2.0", 4752 | "picocolors": "^1.0.0", 4753 | "stable": "^0.1.8" 4754 | } 4755 | }, 4756 | "temp-dir": { 4757 | "version": "2.0.0", 4758 | "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", 4759 | "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", 4760 | "dev": true 4761 | }, 4762 | "temp-write": { 4763 | "version": "5.0.0", 4764 | "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-5.0.0.tgz", 4765 | "integrity": "sha512-cJhnzBW7DjNox7VcZDXeNlQSkIh3mX/h+M0n0Fh+zgT7YAHwI9c+OngKx4MCiQCVx9iXxV104xYlJgDBCCtawA==", 4766 | "dev": true, 4767 | "requires": { 4768 | "graceful-fs": "^4.2.6", 4769 | "is-stream": "^2.0.0", 4770 | "temp-dir": "^2.0.0", 4771 | "uuid": "^8.3.2" 4772 | } 4773 | }, 4774 | "tempy": { 4775 | "version": "3.0.0", 4776 | "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.0.0.tgz", 4777 | "integrity": "sha512-B2I9X7+o2wOaW4r/CWMkpOO9mdiTRCxXNgob6iGvPmfPWgH/KyUD6Uy5crtWBxIBe3YrNZKR2lSzv1JJKWD4vA==", 4778 | "dev": true, 4779 | "requires": { 4780 | "is-stream": "^3.0.0", 4781 | "temp-dir": "^2.0.0", 4782 | "type-fest": "^2.12.2", 4783 | "unique-string": "^3.0.0" 4784 | }, 4785 | "dependencies": { 4786 | "is-stream": { 4787 | "version": "3.0.0", 4788 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", 4789 | "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", 4790 | "dev": true 4791 | } 4792 | } 4793 | }, 4794 | "to-regex-range": { 4795 | "version": "5.0.1", 4796 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 4797 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 4798 | "dev": true, 4799 | "requires": { 4800 | "is-number": "^7.0.0" 4801 | } 4802 | }, 4803 | "type-fest": { 4804 | "version": "2.12.2", 4805 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.2.tgz", 4806 | "integrity": "sha512-qt6ylCGpLjZ7AaODxbpyBZSs9fCI9SkL3Z9q2oxMBQhs/uyY+VD8jHA8ULCGmWQJlBgqvO3EJeAngOHD8zQCrQ==", 4807 | "dev": true 4808 | }, 4809 | "typed-css-modules": { 4810 | "version": "0.7.2", 4811 | "resolved": "https://registry.npmjs.org/typed-css-modules/-/typed-css-modules-0.7.2.tgz", 4812 | "integrity": "sha512-R3guXrQ8ry/yhlfvNmkVY4J3+FtKaEdwqrvgSvFpVY0ieYQHqhhBW0RwfE4hnG4m29Ef/4IE0tBsk/UKplmJkA==", 4813 | "dev": true, 4814 | "requires": { 4815 | "@types/css-modules-loader-core": "^1.1.0", 4816 | "camelcase": "^6.0.0", 4817 | "chalk": "^4.0.0", 4818 | "chokidar": "^3.4.0", 4819 | "css-modules-loader-core": "^1.1.0", 4820 | "glob": "^7.1.2", 4821 | "is-there": "^4.4.2", 4822 | "mkdirp": "^1.0.0", 4823 | "yargs": "^15.4.1" 4824 | } 4825 | }, 4826 | "typescript": { 4827 | "version": "4.6.4", 4828 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", 4829 | "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", 4830 | "dev": true 4831 | }, 4832 | "unique-string": { 4833 | "version": "3.0.0", 4834 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", 4835 | "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", 4836 | "dev": true, 4837 | "requires": { 4838 | "crypto-random-string": "^4.0.0" 4839 | } 4840 | }, 4841 | "universalify": { 4842 | "version": "2.0.0", 4843 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 4844 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", 4845 | "dev": true 4846 | }, 4847 | "util-deprecate": { 4848 | "version": "1.0.2", 4849 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4850 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 4851 | "dev": true 4852 | }, 4853 | "uuid": { 4854 | "version": "8.3.2", 4855 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 4856 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 4857 | "dev": true 4858 | }, 4859 | "which-module": { 4860 | "version": "2.0.0", 4861 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 4862 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 4863 | "dev": true 4864 | }, 4865 | "wrap-ansi": { 4866 | "version": "6.2.0", 4867 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 4868 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 4869 | "dev": true, 4870 | "requires": { 4871 | "ansi-styles": "^4.0.0", 4872 | "string-width": "^4.1.0", 4873 | "strip-ansi": "^6.0.0" 4874 | } 4875 | }, 4876 | "wrappy": { 4877 | "version": "1.0.2", 4878 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4879 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4880 | "dev": true 4881 | }, 4882 | "y18n": { 4883 | "version": "4.0.3", 4884 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", 4885 | "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", 4886 | "dev": true 4887 | }, 4888 | "yaml": { 4889 | "version": "1.10.2", 4890 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 4891 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 4892 | "dev": true 4893 | }, 4894 | "yargs": { 4895 | "version": "15.4.1", 4896 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", 4897 | "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", 4898 | "dev": true, 4899 | "requires": { 4900 | "cliui": "^6.0.0", 4901 | "decamelize": "^1.2.0", 4902 | "find-up": "^4.1.0", 4903 | "get-caller-file": "^2.0.1", 4904 | "require-directory": "^2.1.1", 4905 | "require-main-filename": "^2.0.0", 4906 | "set-blocking": "^2.0.0", 4907 | "string-width": "^4.2.0", 4908 | "which-module": "^2.0.0", 4909 | "y18n": "^4.0.0", 4910 | "yargs-parser": "^18.1.2" 4911 | }, 4912 | "dependencies": { 4913 | "find-up": { 4914 | "version": "4.1.0", 4915 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 4916 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 4917 | "dev": true, 4918 | "requires": { 4919 | "locate-path": "^5.0.0", 4920 | "path-exists": "^4.0.0" 4921 | } 4922 | }, 4923 | "locate-path": { 4924 | "version": "5.0.0", 4925 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 4926 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 4927 | "dev": true, 4928 | "requires": { 4929 | "p-locate": "^4.1.0" 4930 | } 4931 | }, 4932 | "p-limit": { 4933 | "version": "2.3.0", 4934 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 4935 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 4936 | "dev": true, 4937 | "requires": { 4938 | "p-try": "^2.0.0" 4939 | } 4940 | }, 4941 | "p-locate": { 4942 | "version": "4.1.0", 4943 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 4944 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 4945 | "dev": true, 4946 | "requires": { 4947 | "p-limit": "^2.2.0" 4948 | } 4949 | }, 4950 | "path-exists": { 4951 | "version": "4.0.0", 4952 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 4953 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 4954 | "dev": true 4955 | } 4956 | } 4957 | }, 4958 | "yargs-parser": { 4959 | "version": "18.1.3", 4960 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", 4961 | "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", 4962 | "dev": true, 4963 | "requires": { 4964 | "camelcase": "^5.0.0", 4965 | "decamelize": "^1.2.0" 4966 | }, 4967 | "dependencies": { 4968 | "camelcase": { 4969 | "version": "5.3.1", 4970 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 4971 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 4972 | "dev": true 4973 | } 4974 | } 4975 | }, 4976 | "yocto-queue": { 4977 | "version": "1.0.0", 4978 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", 4979 | "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", 4980 | "dev": true 4981 | } 4982 | } 4983 | } 4984 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@create-figma-plugin/ui": "^1.8.3", 4 | "@create-figma-plugin/utilities": "^1.8.3", 5 | "preact": "^10" 6 | }, 7 | "devDependencies": { 8 | "@create-figma-plugin/build": "^1.8.3", 9 | "@create-figma-plugin/tsconfig": "^1.8.3", 10 | "@figma/plugin-typings": "1.42.1", 11 | "typescript": "^4" 12 | }, 13 | "scripts": { 14 | "build": "build-figma-plugin --typecheck --minify", 15 | "watch": "build-figma-plugin --typecheck --watch" 16 | }, 17 | "figma-plugin": { 18 | "editorType": [ 19 | "figma" 20 | ], 21 | "name": "Design Toolkit", 22 | "main": "src/main.ts", 23 | "ui": "src/ui.tsx", 24 | "relaunchButtons": { 25 | "designToolkit": { 26 | "name": "Design Toolkit", 27 | "main": "src/main.ts", 28 | "ui": "src/ui.tsx" 29 | } 30 | }, 31 | "permissions": ["currentuser"] 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { 2 | once, 3 | setRelaunchButton, 4 | showUI, 5 | } from "@create-figma-plugin/utilities"; 6 | 7 | import { CreatePageHandler } from "./types"; 8 | 9 | export default async function () { 10 | setRelaunchButton(figma.currentPage, "designToolkit", { 11 | description: "Useful tools and links", 12 | }); 13 | 14 | once("CREATE_PAGES", function () { 15 | // This is the list of pages to create in your document. 16 | const pages = [ 17 | { name: "Cover", node: "PAGE", title: "Cover" }, 18 | { 19 | name: "🤔 About", 20 | node: "PAGE", 21 | title: "About", 22 | description: "Project overview", 23 | }, 24 | { 25 | name: "💻 Prototype", 26 | node: "PAGE", 27 | title: "Prototype", 28 | description: "Interactive prototype", 29 | }, 30 | { 31 | name: "✅ Ready for dev", 32 | node: "PAGE", 33 | title: "Ready for dev", 34 | description: "Approved designs, ready for development", 35 | }, 36 | { name: "--------", node: "PAGE" }, 37 | { 38 | name: "✏️ Copy review", 39 | node: "PAGE", 40 | title: "Copy review", 41 | description: "Content for review and sign off", 42 | }, 43 | { 44 | name: "[Date] Design review", 45 | node: "PAGE", 46 | title: "Design review", 47 | description: "[Date]", 48 | }, 49 | { 50 | name: "[Date] Feature/component", 51 | node: "PAGE", 52 | title: "Feature/component", 53 | description: "[Date]", 54 | }, 55 | { name: "--------", node: "PAGE" }, 56 | { 57 | name: "💡 Work in progress", 58 | node: "PAGE", 59 | title: "Work in progress", 60 | description: 61 | "Explorations and work in progress, not ready for development", 62 | }, 63 | { name: "--------", node: "PAGE" }, 64 | { 65 | name: "🎨 Design research", 66 | node: "PAGE", 67 | title: "Design research", 68 | description: 69 | "Collected research artefacts and data from existing resources", 70 | }, 71 | { 72 | name: "👩🏽‍💻 User research", 73 | node: "PAGE", 74 | title: "User research", 75 | description: "Generative field research", 76 | }, 77 | { 78 | name: "Workshop", 79 | node: "PAGE", 80 | title: "Workshop", 81 | description: "Artefacts for workshop activity", 82 | }, 83 | { 84 | name: "Flows", 85 | node: "PAGE", 86 | title: "Flows", 87 | description: "Journey flows and logic", 88 | }, 89 | ]; 90 | 91 | // Show a notification 92 | 93 | figma.notify("Building template", { timeout: Infinity }); 94 | 95 | // Load any custom fonts required for editing text layers. 96 | // Figma developer console will advise you if you need to include any missing fonts. 97 | 98 | async function loadFont() { 99 | figma.loadFontAsync({ family: "Work Sans", style: "Bold" }); 100 | figma.loadFontAsync({ family: "Open Sans", style: "Regular" }); 101 | figma.loadFontAsync({ family: "Open Sans", style: "SemiBold" }); 102 | } 103 | 104 | function insertTitle(pageName: string) { 105 | let matchPage = pages.filter((page) => page.name === pageName)[0]; 106 | if (matchPage.title == null) { 107 | console.error("No title added on: " + matchPage.name); 108 | } else { 109 | if (pageTitleComponent) { 110 | let titleInstance: InstanceNode = pageTitleComponent.createInstance(); 111 | 112 | let replaceTitle: any = titleInstance.findOne( 113 | (n) => n.name === "pageTitle" && n.type === "TEXT" 114 | ); 115 | 116 | if (replaceTitle && replaceTitle.type === "TEXT") { 117 | replaceTitle.characters = matchPage.title; 118 | } 119 | 120 | let replaceDescription: any = titleInstance.findOne( 121 | (n) => n.name === "pageDescription" && n.type === "TEXT" 122 | ); 123 | 124 | if (replaceDescription && replaceDescription.type === "TEXT") { 125 | replaceDescription.characters = matchPage.description; 126 | } 127 | figma.viewport.scrollAndZoomIntoView([titleInstance]); 128 | } 129 | } 130 | } 131 | 132 | // Setup your components for import into pages 133 | 134 | // Cover component 135 | let coverComponent: ComponentNode | null = null; 136 | 137 | async function getCoverComponent() { 138 | const coverComponentKey = "INSERT_COVER_KEY_HERE"; // Replace this with the Key for your cover component. 139 | const instance = await figma.importComponentByKeyAsync(coverComponentKey); 140 | coverComponent = instance; 141 | } 142 | 143 | // Title component 144 | let pageTitleComponent: ComponentNode | null = null; 145 | 146 | async function getPageTitleComponent() { 147 | const pageTitleComponentKey = "INSERT_TITLE_KEY_HERE"; // Replace this with the Key for your title component. 148 | const instance = await figma.importComponentByKeyAsync(pageTitleComponentKey); 149 | pageTitleComponent = instance; 150 | } 151 | 152 | // Example of a component to be imported 153 | let exampleComponent: ComponentNode | null = null; 154 | 155 | async function getExampleComponent() { 156 | const exampleComponentKey = "INSERT_EXAMPLE_KEY_HERE"; // This is an example component, use this block as a reference when for importing additional components 157 | const instance = await figma.importComponentByKeyAsync(exampleComponentKey); 158 | exampleComponent = instance; 159 | } 160 | 161 | // The following section is contained within a Promise, which means it only runs when the above components and fonts are available. 162 | 163 | Promise.all([ 164 | getCoverComponent(), 165 | getPageTitleComponent(), 166 | getExampleComponent(), 167 | loadFont(), 168 | ]).then(() => { 169 | console.log("%cFonts and components loaded", "color:green"); 170 | 171 | // This forEach loop goes through the list of pages and creates each one using the 'name' values. 172 | let createdPages: PageNode[] = [] 173 | pages.forEach((page) => { 174 | const newPage = figma.createPage(); 175 | newPage.name = page.name; 176 | if (newPage.name !== 'Cover') { 177 | figma.currentPage = newPage; 178 | insertTitle(page.name); 179 | } 180 | createdPages.push(newPage) // Inserts the heading component from library if there is a "title" value in your pages array. 181 | }); 182 | 183 | console.log("%cPages built", "color:green"); 184 | 185 | // Switch to page called "Cover" 186 | const coverPage = createdPages.filter((page) => page.name === "Cover")[0]; 187 | figma.currentPage = coverPage; 188 | 189 | // Insert Cover component instance 190 | if (coverComponent) { 191 | const coverInstance: InstanceNode = coverComponent.createInstance(); 192 | 193 | // Find the text layer called "Title" and replaces it with the value of titleText. 194 | const titleText = "Title"; 195 | 196 | const coverTitle = coverInstance.findOne( 197 | (n) => n.name === "title" && n.type === "TEXT" 198 | ); 199 | if (coverTitle && coverTitle.type === "TEXT") { 200 | coverTitle.characters = titleText; 201 | } 202 | 203 | // Find the text layer called "description" and replaces it with the value of descriptionText. 204 | const descriptionText = "Enter a description for this file."; 205 | 206 | const coverDescription = coverInstance.findOne( 207 | (n) => n.name === "description" && n.type === "TEXT" 208 | ); 209 | if (coverDescription && coverDescription.type === "TEXT") { 210 | coverDescription.characters = descriptionText; 211 | } 212 | // Find the text layer called 'userName' and replaces it with the value of authorName. 213 | if(figma.currentUser) { 214 | const authorName = figma.currentUser.name; 215 | const coverAuthor = coverInstance.findOne( 216 | (n) => n.name === "userName" && n.type === "TEXT" 217 | ); 218 | if (coverAuthor && coverAuthor.type === "TEXT") { 219 | coverAuthor.characters = authorName; 220 | } 221 | } 222 | 223 | // Get the current month and year, if you'd like a date stamp on your cover 224 | let monthIndex: number = new Date().getMonth(); 225 | let yearIndex: number = new Date().getFullYear(); 226 | const month: number = monthIndex; // 1 for Jan, 2 for Feb 227 | const year: number = yearIndex; // 1 for Jan, 2 for Feb 228 | const monthNames: Array = [ 229 | "January", 230 | "February", 231 | "March", 232 | "April", 233 | "May", 234 | "June", 235 | "July", 236 | "August", 237 | "September", 238 | "October", 239 | "November", 240 | "December", 241 | ]; 242 | 243 | // Find the text layer called 'dateCreated' and replaces it with the month and year. 244 | const coverDate = coverInstance.findOne( 245 | (n) => n.name === "dateCreated" && n.type === "TEXT" 246 | ); 247 | if (coverDate && coverDate.type === "TEXT") { 248 | coverDate.characters = monthNames[month] + " " + year; 249 | } 250 | 251 | // Change the background colour of the cover page, perfect for making a seamless cover image in Figma. 252 | // Colours must be converted to RGB format. 253 | 254 | figma.currentPage.backgrounds = [ 255 | { 256 | type: "SOLID", 257 | color: { 258 | r: 1, 259 | g: 1, 260 | b: 1, 261 | }, 262 | }, 263 | ]; 264 | 265 | // Set the page to zoom to fit the cover instance 266 | figma.viewport.scrollAndZoomIntoView([coverInstance]); 267 | 268 | console.log("%cCover inserted", "color:green"); 269 | } 270 | 271 | // Insert Example component 272 | const pageExample = createdPages.filter((page) => page.name === "🤔 About")[0]; // Choose the page to insert component on 273 | figma.currentPage = pageExample; // Switch to that page 274 | 275 | if (exampleComponent) { 276 | const exampleInstance = exampleComponent.createInstance(); // Insert the example component 277 | 278 | exampleInstance.y = 500; // Move it down below the heading 279 | var exampleInstanceWidth = 3000; // Define a new width 280 | var exampleInstanceHeight = 2000; // Define a new height 281 | exampleInstance.resize(exampleInstanceWidth, exampleInstanceHeight); // Resize the component 282 | 283 | let newSelection = figma.currentPage.findChildren( 284 | (n) => n.type === "INSTANCE" 285 | ); 286 | 287 | figma.currentPage.selection = newSelection; 288 | figma.viewport.scrollAndZoomIntoView(newSelection); 289 | figma.currentPage.selection = []; 290 | } 291 | 292 | // Go back to the Cover page 293 | figma.currentPage = coverPage; 294 | 295 | // Remove the initial 'Page 1' that isn't required any longer 296 | let initialPage = figma.root.children[0]; 297 | initialPage.remove(); 298 | 299 | figma.closePlugin("Design Toolkit template applied"); 300 | }); 301 | }); 302 | showUI({ 303 | width: 320, 304 | height: 320, 305 | }); 306 | } 307 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | import { EventHandler } from '@create-figma-plugin/utilities' 2 | 3 | 4 | export interface CreatePageHandler extends EventHandler { 5 | name: 'CREATE_PAGES' 6 | handler: () => void 7 | } 8 | -------------------------------------------------------------------------------- /src/ui.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | Banner, 3 | Button, 4 | Container, 5 | Divider, 6 | Inline, 7 | IconMegaphone32, 8 | render, 9 | Stack, 10 | Text, 11 | VerticalSpace, 12 | } from "@create-figma-plugin/ui"; 13 | import { emit } from "@create-figma-plugin/utilities"; 14 | 15 | import { h } from 'preact' 16 | import { useCallback, useState } from "preact/hooks"; 17 | 18 | import { CreatePageHandler } from "./types"; 19 | 20 | function Plugin() { 21 | const handlePageButtonClick = useCallback(function () { 22 | emit("CREATE_PAGES"); 23 | }, []); 24 | 25 | return ( 26 | 27 | }> 28 | Welcome to the Design Toolkit plugin 29 | 30 | 31 | 32 | Automations 33 | 34 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | Documentation 45 | 46 | 47 | 48 | 🌐 Storybook 49 | 50 | 51 | 52 | 56 | 🌐 Documentation 57 | 58 | 59 | 60 | 61 | 62 | Design Support 63 | 64 | 65 | 69 | 🌐 Social channel 70 | 71 | 72 | 73 | 77 | 🌐 Jira 78 | 79 | 80 | 81 | {" "} 82 | 83 | 84 | 85 | ); 86 | } 87 | 88 | export default render(Plugin); 89 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@create-figma-plugin/tsconfig", 3 | "compilerOptions": { 4 | "typeRoots": ["node_modules/@figma", "node_modules/@types"] 5 | }, 6 | "include": ["src/**/*.ts", "src/**/*.tsx"] 7 | } --------------------------------------------------------------------------------