├── .devcontainer
├── devcontainer.json
└── docker-compose.dev.yml
├── .editorconfig
├── .eslintrc.cjs
├── .github
├── dependabot.yml
└── workflows
│ ├── main.yml
│ └── upgrade-deps.yml
├── .gitignore
├── .prettierrc
├── .stylelintrc.json
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── README.md
├── docker-compose.yml
├── favicon.svg
├── index.html
├── package.json
├── playwright.config.js
├── src
├── base.css
├── css-toggles.js
├── store.js
├── styles.css
└── walkers.js
├── tests
├── accordion.spec.js
├── mode.spec.js
├── named-states.spec.js
├── self-toggles.spec.js
├── state-machine.spec.js
├── tabs.spec.js
└── tree.spec.js
└── yarn.lock
/.devcontainer/devcontainer.json:
--------------------------------------------------------------------------------
1 | // See https://aka.ms/vscode-remote/devcontainer.json for format details.
2 | {
3 | "name": "CSS Toggles",
4 | "dockerComposeFile": ["../docker-compose.yml", "./docker-compose.dev.yml"],
5 | "service": "web",
6 | "workspaceFolder": "/app",
7 | "shutdownAction": "stopCompose",
8 | "extensions": [
9 | "dbaeumer.vscode-eslint",
10 | "esbenp.prettier-vscode",
11 | "formulahendry.auto-rename-tag",
12 | "ms-azuretools.vscode-docker",
13 | "stylelint.vscode-stylelint",
14 | "tyriar.sort-lines",
15 | "xabikos.javascriptsnippets"
16 | ],
17 | "settings": {
18 | "terminal.integrated.profiles.linux": {
19 | "bash": {
20 | "path": "/bin/bash"
21 | }
22 | },
23 | "terminal.integrated.defaultProfile.linux": "bash",
24 | "editor.bracketPairColorization.enabled": true,
25 | "editor.codeActionsOnSave": {
26 | "source.fixAll.eslint": true,
27 | "source.fixAll.stylelint": true
28 | },
29 | "editor.defaultFormatter": "esbenp.prettier-vscode",
30 | "editor.formatOnSave": true,
31 | "editor.tabSize": 2,
32 | "eslint.validate": ["javascript", "typescript"],
33 | "files.insertFinalNewline": true,
34 | "files.trimFinalNewlines": true,
35 | "files.trimTrailingWhitespace": true,
36 | "javascript.suggestionActions.enabled": false,
37 | "typescript.preferences.quoteStyle": "single",
38 | "remote.extensionKind": {
39 | "ms-azuretools.vscode-docker": "workspace"
40 | },
41 | "typescript.tsdk": "node_modules/typescript/lib",
42 | "css.validate": false,
43 | "[css]": {
44 | "editor.defaultFormatter": "stylelint.vscode-stylelint"
45 | },
46 | "[javascript]": {
47 | "editor.rulers": [80]
48 | },
49 | "[restructuredtext]": {
50 | "editor.rulers": [80]
51 | },
52 | "[markdown]": {
53 | "editor.rulers": [80]
54 | },
55 | "[typescript]": {
56 | "editor.rulers": [80]
57 | },
58 | "[html]": {
59 | "editor.formatOnSave": false
60 | },
61 | "files.exclude": {
62 | "**/.git": true,
63 | "**/.DS_Store": true,
64 | ".coverage": true,
65 | "coverage": true,
66 | "htmlcov": true,
67 | ".tags": true,
68 | ".cache": true,
69 | ".vscode": true,
70 | "collected-assets": true,
71 | "staticfiles": true,
72 | "**/*.egg-info": true
73 | },
74 | "search.exclude": {
75 | "**/node_modules": true,
76 | "**/*.css.map": true,
77 | "**/*.js.map": true,
78 | "yarn.lock": true,
79 | "yarn-debug.log": true,
80 | "yarn-error.log": true
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/.devcontainer/docker-compose.dev.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 |
3 | services:
4 | web:
5 | volumes:
6 | - .:/app:delegated
7 | - vscode-server:/root/.vscode-server:cached
8 | - /var/run/docker.sock:/var/run/docker.sock:cached
9 | # Override command to prevent container crashing if webpack build exits
10 | command: sleep infinity
11 |
12 | volumes:
13 | vscode-server: {}
14 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | end_of_line = lf
3 | insert_final_newline = true
4 | trim_trailing_whitespace = true
5 | tab_width = 2
6 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | browser: true,
4 | es2021: true,
5 | },
6 | extends: ['standard', 'prettier'],
7 | parserOptions: {
8 | ecmaVersion: 'latest',
9 | sourceType: 'module',
10 | },
11 | rules: {},
12 | }
13 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: github-actions
4 | directory: '/'
5 | schedule:
6 | interval: weekly
7 | time: '04:00'
8 | timezone: America/New_York
9 | - package-ecosystem: 'docker'
10 | directory: '/'
11 | schedule:
12 | interval: weekly
13 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: Test & Release
2 |
3 | on:
4 | push:
5 |
6 | concurrency:
7 | group: ${{ github.workflow }}-${{ github.ref }}
8 | cancel-in-progress: true
9 |
10 | env:
11 | NODE_VERSION: '16'
12 |
13 | jobs:
14 | test:
15 | name: Test
16 | runs-on: ubuntu-latest
17 | steps:
18 | - uses: actions/checkout@v4
19 | - uses: actions/setup-node@v4
20 | with:
21 | node-version: ${{ env.NODE_VERSION }}
22 | cache: yarn
23 | - name: Install dependencies
24 | run: |
25 | yarn install --frozen-lockfile
26 | npx playwright install --with-deps
27 | - run: yarn test:ci
28 |
29 | lint:
30 | name: Lint
31 | runs-on: ubuntu-latest
32 | steps:
33 | - uses: actions/checkout@v4
34 | - uses: actions/setup-node@v4
35 | with:
36 | node-version: ${{ env.NODE_VERSION }}
37 | cache: yarn
38 | - name: Lint
39 | run: |
40 | yarn install --frozen-lockfile
41 | yarn lint
42 |
43 | release:
44 | name: Release
45 | runs-on: ubuntu-latest
46 | needs: [test, lint]
47 | steps:
48 | - uses: actions/checkout@v4
49 | - uses: actions/setup-node@v4
50 | with:
51 | node-version: ${{ env.NODE_VERSION }}
52 | cache: yarn
53 | - run: yarn install
54 | - name: Release
55 | uses: cycjimmy/semantic-release-action@v4
56 | with:
57 | semantic_version: '19'
58 | branches: |
59 | [
60 | 'stable',
61 | { name: 'main', channel: 'next', prerelease: true },
62 | ]
63 | env:
64 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
65 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
66 |
--------------------------------------------------------------------------------
/.github/workflows/upgrade-deps.yml:
--------------------------------------------------------------------------------
1 | name: Upgrade dependencies
2 |
3 | on:
4 | workflow_dispatch: # Allow running on-demand
5 | schedule:
6 | # Every Monday at 8:00 UTC (4:00 Eastern)
7 | - cron: '0 8 * * 1'
8 |
9 | concurrency:
10 | group: ${{ github.workflow }}-${{ github.ref }}
11 | cancel-in-progress: true
12 |
13 | jobs:
14 | upgrade:
15 | name: Upgrade & Open Pull Request
16 | runs-on: ubuntu-latest
17 | env:
18 | BRANCH_NAME: auto-dependency-upgrades
19 | steps:
20 | - uses: actions/checkout@v4
21 | with:
22 | # Use a separate key so the resulting PR also runs GH Actions
23 | # https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs
24 | ssh-key: ${{ secrets.DEPLOY_KEY }}
25 | - uses: actions/setup-node@v4
26 | with:
27 | node-version: '16'
28 | cache: yarn
29 | - name: Upgrade dependencies
30 | run: |
31 | rm -f yarn.lock
32 | npx --yes yarn-upgrade-all
33 | - name: Build
34 | run: yarn build
35 | - name: Detect changes
36 | id: changes
37 | run: echo "count=$(git status --porcelain=v1 2>/dev/null | wc -l)" >> $GITHUB_OUTPUT
38 | - name: Commit & push changes
39 | if: steps.changes.outputs.count > 0
40 | run: |
41 | git config user.name github-actions
42 | git config user.email github-actions@github.com
43 | git add .
44 | git commit -m "chore(deps): automated dependency upgrades"
45 | git push -f origin ${{ github.ref_name }}:$BRANCH_NAME
46 | - name: Open pull request if needed
47 | if: steps.changes.outputs.count > 0
48 | env:
49 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50 | run: |
51 | PR=$(gh pr list --head $BRANCH_NAME --json number -q '.[0].number')
52 | if [ -z $PR ]; then
53 | gh pr create \
54 | --head $BRANCH_NAME \
55 | --title "Automated dependency upgrades" \
56 | --body "Full log: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
57 | else
58 | echo "Pull request already exists, won't create a new one."
59 | fi
60 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "semi": false,
4 | "printWidth": 90,
5 | "arrowParens": "avoid"
6 | }
7 |
--------------------------------------------------------------------------------
/.stylelintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "stylelint-config-standard",
3 | "rules": {
4 | "selector-type-no-unknown": null,
5 | "at-rule-no-unknown": [true, { "ignoreAtRules": ["machine"] }],
6 | "function-no-unknown": [true, { "ignoreFunctions": ["machine", "do"] }],
7 | "selector-pseudo-class-no-unknown": [true, { "ignorePseudoClasses": ["toggle"] }],
8 | "property-no-unknown": [
9 | true,
10 | {
11 | "ignoreProperties": [
12 | "toggle",
13 | "toggle-root",
14 | "toggle-trigger",
15 | "toggle-visibility"
16 | ]
17 | }
18 | ],
19 | "media-feature-range-notation": ["prefix"]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to CSS Toggles
2 |
3 | Ideas, issues, and pull-requests are welcome!
4 |
5 | - [**Github Issues**](https://github.com/oddbird/css-toggles/issues/) are the
6 | best place to request a feature, file a bug, or just ask a question. Also a
7 | great place to discuss possible features before you submit a PR.
8 | - **Pull Requests** are a big help, if you're willing to jump in and make things
9 | happen. For a bugfix, or documentation, just jump right in. For major changes
10 | or new features, it's best to discuss in an issue first.
11 |
12 | ## Conduct
13 |
14 | Please follow the [OddBird Code of Conduct](https://www.oddbird.net/conduct/).
15 |
16 | ## Development
17 |
18 | - Clone the repository.
19 | - Install dependencies: `yarn install`.
20 | - Start dev server: `yarn dev`. Visit `localhost:3000`.
21 |
22 | ## Code style
23 |
24 | JS code is formatted with prettier, and CSS is formatted with stylelint. You can
25 | lint the code by running `yarn lint` and format it with `yarn format`. We
26 | recommend setting up your IDE to automatically format code for you.
27 |
28 | ## Testing
29 |
30 | A complete end-to-end test suite is available in the `tests/` folder.
31 |
32 | - Configure Playwright (this step is only required once or when the version of
33 | `@playwright/test` changes in package.json): `npx playwright install --with-deps`
34 | - Run tests (Chromium only): `yarn test`
35 | - Run tests (Chromium, Firefox & Webkit): `yarn test:ci`
36 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM mcr.microsoft.com/playwright:v1.45.1-focal
2 |
3 | WORKDIR /app
4 |
5 | COPY ./package.json package.json
6 | COPY ./yarn.lock yarn.lock
7 | RUN yarn install --check-files
8 |
9 | COPY . /app
10 |
11 | CMD yarn dev
12 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2022, OddBird. All rights reserved.
4 |
5 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6 |
7 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8 |
9 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
10 |
11 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
12 |
13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # CSS Toggles preview
2 |
3 | - [Demo](https://toggles.oddbird.net)
4 | - [Explainer](https://css.oddbird.net/toggles/explainer/)
5 | - [Draft Spec](https://tabatkins.github.io/css-toggle/)
6 |
7 | ## Polyfill Installation
8 |
9 | ### Download a copy
10 |
11 | The simplest, recommended way to install the polyfill is to copy it into your
12 | project.
13 |
14 | Download `css-toggles.min.js` [from
15 | unpkg.com](https://unpkg.com/browse/@oddbird/css-toggles/dist/) and add it to
16 | the appropriate directory in your project. Then, include it where necessary with
17 | a `
21 | ```
22 |
23 | You can also use an
24 | [IIFE](https://developer.mozilla.org/en-US/docs/Glossary/IIFE) version if your
25 | target browsers require it:
26 |
27 | ```html
28 |
29 | ```
30 |
31 | ### With npm
32 |
33 | For more advanced configuration, you can install with
34 | [npm](https://www.npmjs.com/):
35 |
36 | ```sh
37 | npm install @oddbird/css-toggles
38 | ```
39 |
40 | After installing, you’ll need to use appropriate tooling to use `node_modules/@oddbird/css-toggles/dist/css-toggles.js` (or `.min.js`).
41 |
42 | ### Via CDN
43 |
44 | For prototyping or testing, you can use the npm package via a Content Delivery
45 | Network. Avoid using JavaScript CDN’s in production, for [many good
46 | reasons](https://blog.wesleyac.com/posts/why-not-javascript-cdn) such as
47 | performance and robustness.
48 |
49 | ```html
50 |
55 | ```
56 |
57 | ## Usage
58 |
59 | After installation the polyfill will automatically parse all stylesheets present
60 | in the HTML document (both inline and linked) for the proposed CSS Toggles
61 | syntax. Once the styles are parsed the toggling behavior will be polyfilled with
62 | JavaScript.
63 |
64 | ## Contributing
65 |
66 | Visit our [contribution guidelines](https://github.com/oddbird/css-toggles/blob/main/CONTRIBUTING.md).
67 |
68 | ## Sponsor OddBird's OSS Work
69 |
70 | At OddBird, we love contributing to the languages & tools developers rely on.
71 | We're currently working on polyfills
72 | for new Popover & Anchor Positioning functionality,
73 | as well as CSS specifications for functions, mixins, and responsive typography.
74 | Help us keep this work sustainable
75 | and centered on your needs as a developer!
76 | We display sponsor logos and avatars
77 | on our [website](https://www.oddbird.net/polyfill/#open-source-sponsors).
78 |
79 | [Sponsor OddBird's OSS Work](https://opencollective.com/oddbird-open-source)
80 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 |
3 | services:
4 | web:
5 | build:
6 | context: .
7 | dockerfile: Dockerfile
8 | volumes:
9 | - .:/app:cached
10 | - /app/node_modules
11 | ports:
12 | - '3000:3000'
13 | stdin_open: true
14 | tty: true
15 |
--------------------------------------------------------------------------------
/favicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | CSS Toggles demo
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
24 |
25 |
26 |
27 | What are CSS Toggles?
28 |
29 |
30 | The goal of this (work in progress) feature
31 | is to make it possible for CSS to manage
32 | presentational state
33 | for patterns such as tabs/accordians, carousels, color modes, etc.
34 | There are still many questions to be answered
35 | around the scope, syntax,
36 | and (most importantly) accessibility
37 | of a feature like this in CSS.
38 |
39 |
40 | This polyfill is designed to help us
41 | explore those questions.
42 | It implements the
43 | draft spec syntax
44 | as currently written, where possible --
45 | in addition to some of the
46 | extensions proposed in our
47 | explainer .
48 |
49 |
50 |
51 | The current polyfill implementation is a naive attempt
52 | to uncover and document any issues in the spec —
53 | which means that several of the following demos
54 |
55 | are currently inaccessible.
56 |
57 |
58 | While we hope that some of those issues
59 | can be resolved here in the polyfill,
60 | others may require changes to the spec itself,
61 | or access to browser-internals
62 | that cannot be polyfilled well using JS.
63 |
64 |
65 | We're excited for you to play with this,
66 | suggest additional use-cases,
67 | help uncover undocumented issues,
68 | and provide us with feedback:
69 |
70 |
78 |
79 |
80 |
81 |
82 | 🔗
83 | Global color toggle
84 |
85 | colors
86 | html {
87 | toggle-root: mode [auto light dark];
88 | }
89 |
90 | html:toggle(mode light) { ... }
91 | html:toggle(mode dark) { ... }
92 |
93 | .mode-btn {
94 | toggle-trigger: mode;
95 | }
96 |
97 |
98 |
99 |
100 | 🔗
101 | Binary self-toggle switches
102 |
103 |
104 | Issue 20 :
105 | There's a conflict between the HTML listitem role
106 | and the added ARIA role of 'button'
107 | used to make these interactive.
108 |
109 |
110 | write an explainer
111 | draft a specification
112 | create a polyfill
113 | make a demo page
114 |
115 | .todo li {
116 | toggle: todo self;
117 | list-style-type: '❌ ';
118 | }
119 |
120 | .todo li:toggle(todo) {
121 | list-style-type: '✅ ';
122 | }
123 |
124 |
125 |
126 |
127 | 🔗
128 | Accordion/disclosure components
129 |
130 |
131 | The goal of toggle-visibility
132 | is for browsers to handle accessibility
133 | and discoverability by default.
134 | We'll keep working to improve the polyfill a11y as well,
135 | but may not be able to achieve the same results.
136 |
137 |
138 | Issue 13 :
139 | While aria-expanded
may work in some situations,
140 | it has the same issues listed above with conflicting semantics/roles.
141 |
142 |
143 |
144 | Establish a toggle
145 | .accordion>dt {
146 | toggle: glossary;
147 | }
148 |
149 | Toggle item visibility
150 | .accordion>dd {
151 | toggle-visibility: toggle glossary;
152 | }
153 |
154 | Style the summary
155 | .accordion>dt::marker {
156 | content: '👉🏽 ';
157 | }
158 |
159 | .accordion>dt:toggle(glossary) {
160 | background-color: var(--brand);
161 | color: var(--bg);
162 | }
163 |
164 | .accordion>dt:toggle(glossary)::marker {
165 | content: '👇🏽 ';
166 | }
167 |
168 |
169 |
170 |
171 |
172 |
173 | 🔗
174 | Tree view
175 |
176 |
177 | Issue 23 :
178 | Does 'tree view' require different semantics
179 | than simply 'nested disclosures'
180 | (which may better describe the current behavior)?
181 |
182 |
183 | home
184 |
185 |
186 | resources
187 |
188 |
189 | articles
190 | demos
191 |
192 |
193 | media
194 |
195 |
199 |
200 |
201 |
202 |
203 | .nested {
204 | toggle: tree;
205 | }
206 |
207 | .nested+ul {
208 | toggle-visibility: toggle tree;
209 | }
210 |
211 |
212 |
213 |
214 | 🔗
215 | Tabs or exclusive accordions
216 |
217 |
218 |
219 | Issue 9 :
220 | Not possible to change initial state for one toggle in a group.
221 |
222 |
223 | Issue 13 :
224 | In this case,
225 | the expected a11y handling requires the
226 | tab
role
227 | and aria-selected
.
228 | Is there a way to clearly support both
229 | disclosure and tab a11y using this shared syntax?
230 |
231 |
232 |
233 | Establishing Tabs
234 | panel-tab {
235 | toggle: tab 1 at 0 group sticky;
236 | grid-row: tab;
237 | }
238 |
239 | Styling Content
240 | panel-tab:toggle(tab) {
241 | background-color: var(--callout);
242 | }
243 |
244 | panel-card {
245 | toggle-visibility: toggle tab;
246 | grid-area: card;
247 | }
248 |
249 |
250 |
251 |
252 |
253 | 🔗
254 | Named states
255 |
256 |
257 | Issue 21 :
258 | These act like radio buttons,
259 | but the proper a11y handling is not obvious from the syntax.
260 |
261 |
262 |
Cycle
263 |
Grape
264 |
Green
265 |
Blue
266 |
Red
267 |
.colors {
268 | toggle-root: colors [grape green blue red] at blue;
269 | }
270 |
271 | .colors button {
272 | toggle-trigger: colors;
273 | }
274 |
275 | /* for each color */
276 | .colors button.grape {
277 | toggle-trigger: colors grape;
278 | }
279 |
280 | .show-colors:toggle(colors grape) {
281 | background-color: var(--grape-9);
282 | }
283 |
284 |
285 |
286 |
287 |
288 |
289 | 🔗
290 | State machine transitions
291 |
292 |
293 | This functionality & syntax is proposed
294 | in the explainer
295 | as syntax sugar on top of the existing functionality.
296 | However, it's not yet clear that there are
297 | entirely presentational (CSS-only) use-cases.
298 | If you have ideas, we'd love to hear from you.
299 | The following example would involve JS in production.
300 |
301 |
302 | Issue 22 :
303 | It is not clear in the a11y tree which 'transitions'
304 | are currently allowed/disabled,
305 | and the resulting generated content
306 | is not propery announced or selectable.
307 |
308 |
309 |
Try
310 |
Resolve
311 |
Reject
312 |
Reset
313 |
314 |
315 | @machine request {
316 | idle {
317 | try: loading;
318 | }
319 |
320 | loading {
321 | resolve: success;
322 | reject: failure;
323 | reset: idle;
324 | }
325 |
326 | failure {
327 | try: loading;
328 | reset: idle;
329 | }
330 |
331 | success {
332 | reset: idle;
333 | }
334 | }
335 |
336 | /* establish a toggle based on the machine */
337 | .request {
338 | toggle-root: machine(request);
339 | }
340 |
341 | /* the individual trigger buttons call 'transitions' */
342 | .request button[data-do="try"] {
343 | toggle-trigger: request do(try);
344 | }
345 |
346 |
347 |
354 |
355 |
356 |
357 |
358 |
359 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@oddbird/css-toggles",
3 | "version": "0.0.0-development",
4 | "description": "Polyfill for the proposed CSS Toggles syntax",
5 | "license": "BSD-3-Clause",
6 | "publishConfig": {
7 | "access": "public"
8 | },
9 | "author": "OddBird (oddbird.net)",
10 | "repository": {
11 | "type": "git",
12 | "url": "https://github.com/oddbird/css-toggles.git"
13 | },
14 | "bugs": "https://github.com/oddbird/css-toggles/issues",
15 | "homepage": "https://toggles.oddbird.net",
16 | "keywords": [
17 | "css",
18 | "polyfill",
19 | "toggle"
20 | ],
21 | "type": "module",
22 | "main": "dist/css-toggles.js",
23 | "module": "dist/css-toggles.js",
24 | "files": [
25 | "README.md",
26 | "src/**/*.js",
27 | "dist/css-toggles.iife.min.js",
28 | "dist/css-toggles.min.js",
29 | "dist/css-toggles.js",
30 | "package.json"
31 | ],
32 | "scripts": {
33 | "build:iife:minified": "esbuild --bundle src/css-toggles.js --outfile=dist/css-toggles.iife.min.js --format=iife --minify",
34 | "build:esm:minified": "esbuild --bundle src/css-toggles.js --outfile=dist/css-toggles.min.js --format=esm --minify",
35 | "build:esm:debug": "esbuild --bundle src/css-toggles.js --outfile=dist/css-toggles.js --format=esm",
36 | "build": "rm -rf dist && yarn build:esm:debug && yarn build:esm:minified && yarn build:iife:minified",
37 | "dev": "rm -rf dist && esbuild --bundle src/css-toggles.js --format=esm --servedir=. --outdir=dist --sourcemap --serve=3000",
38 | "format:css": "stylelint --fix src/**/*.css",
39 | "format:js": "prettier --write {src,tests}/**/*.js && eslint --fix {src,tests}/**/*.js",
40 | "format": "yarn format:css && yarn format:js",
41 | "lint:css": "stylelint src/**/*.css",
42 | "lint:js": "prettier --check {src,tests}/**/*.js && eslint {src,tests}/**/*.js",
43 | "lint": "yarn lint:css && yarn lint:js",
44 | "prepack": "yarn build",
45 | "preview": "yarn build && esbuild --servedir=. --serve=\"${PORT:-3000}\" --log-level=\"${LEVEL:-info}\"",
46 | "test": "playwright test",
47 | "test:ci": "playwright test --browser=all"
48 | },
49 | "devDependencies": {
50 | "@playwright/test": "^1.35.1",
51 | "esbuild": "^0.25.0",
52 | "eslint": "^8.44.0",
53 | "eslint-config-prettier": "^8.8.0",
54 | "eslint-config-standard": "^17.1.0",
55 | "eslint-plugin-import": "^2.27.5",
56 | "eslint-plugin-n": "^16.0.1",
57 | "eslint-plugin-promise": "^6.1.1",
58 | "prettier": "^3.0.0",
59 | "stylelint": "^15.10.1",
60 | "stylelint-config-standard": "^34.0.0"
61 | },
62 | "dependencies": {
63 | "stylis": "^4.3.0"
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/playwright.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | timeout: process.env.CI ? undefined : 10 * 1000, // Max execution time of any single test
3 | expect: {
4 | timeout: 1000, // Max execution time of single expect() calls
5 | },
6 | webServer: {
7 | command: 'PORT=4000 LEVEL=warning yarn preview',
8 | port: 4000,
9 | timeout: process.env.CI ? 60 * 1000 : 10 * 1000,
10 | reuseExistingServer: !process.env.CI,
11 | },
12 | use: {
13 | baseURL: 'http://localhost:4000/',
14 | browserName: 'chromium',
15 | headless: true,
16 | forbidOnly: process.env.CI,
17 | },
18 | }
19 |
--------------------------------------------------------------------------------
/src/base.css:
--------------------------------------------------------------------------------
1 | /* base */
2 | * {
3 | box-sizing: border-box;
4 | }
5 |
6 | html {
7 | font-family: var(--font-sans);
8 | color: var(--text);
9 | background-color: var(--bg);
10 |
11 | --brand: var(--pink-9);
12 | --bg: var(--gray-1);
13 | --callout: var(--gray-2);
14 | --text: var(--gray-9);
15 | --grad: var(--violet-1);
16 | }
17 |
18 | @media (prefers-color-scheme: dark) {
19 | html {
20 | --brand: var(--pink-3);
21 | --bg: var(--gray-9);
22 | --callout: var(--gray-8);
23 | --text: var(--gray-2);
24 | --grad: var(--violet-9);
25 | }
26 | }
27 |
28 | body {
29 | display: grid;
30 | grid-template-columns:
31 | [full-start] minmax(0, 1fr)
32 | [main-start] minmax(0, 75ch) [main-end]
33 | minmax(0, 1fr) [full-end];
34 | margin: 0;
35 | }
36 |
37 | /* layout */
38 | header,
39 | section {
40 | padding: 1em;
41 | }
42 |
43 | header,
44 | footer {
45 | grid-column: full;
46 | }
47 |
48 | header {
49 | background: linear-gradient(to top right, var(--bg), var(--grad));
50 | border-block-end: thin dotted var(--text);
51 | text-shadow: 1px 1px 0 var(--bg);
52 | display: grid;
53 | gap: 0.5em;
54 | }
55 |
56 | h1 {
57 | margin: 0;
58 | }
59 |
60 | nav {
61 | display: flex;
62 | flex-wrap: wrap;
63 | gap: 0.5em;
64 | }
65 |
66 | section {
67 | grid-column: main;
68 | }
69 |
70 | footer {
71 | border-block-start: thin dotted var(--text);
72 | background: linear-gradient(to bottom right, var(--bg), var(--grad));
73 | padding: 2em 0;
74 | display: grid;
75 | grid-template-columns: minmax(0, 75ch);
76 | justify-content: center;
77 | }
78 |
79 | footer p {
80 | padding-inline: 1em;
81 | }
82 |
83 | /* links & buttons */
84 | [href*='://']::after {
85 | content: ' ↗';
86 | }
87 |
88 | a:any-link {
89 | color: var(--brand);
90 | }
91 |
92 | button {
93 | background-color: var(--brand);
94 | color: var(--bg);
95 | border: thin solid var(--text);
96 | border-radius: 0.25em 0.5em;
97 | cursor: pointer;
98 | padding: 0.5em 1em;
99 | font: inherit;
100 | }
101 |
102 | /* other type */
103 | pre {
104 | border: thin dotted gray;
105 | background-color: var(--callout);
106 | padding: 1em;
107 | font-family: var(--font-mono);
108 | overflow-x: auto;
109 | max-width: 100%;
110 | }
111 |
112 | dd {
113 | margin: 1em;
114 | }
115 |
116 | nav a:any-link {
117 | padding: 0.25em;
118 | }
119 |
120 | .issue {
121 | font-style: italic;
122 | }
123 |
124 | .issue a:any-link {
125 | font-style: normal;
126 | }
127 |
128 | .issue::before {
129 | content: '⚠️ ';
130 | font-style: normal;
131 | }
132 |
133 | /* heading links */
134 | h2 {
135 | position: relative;
136 | }
137 |
138 | h2 [aria-hidden]:any-link {
139 | display: inline-block;
140 | filter: grayscale(var(--grayscale, 100%));
141 | text-decoration: none;
142 | transform: scale(var(--scale, 0.75));
143 | transition: all 200ms ease-in-out;
144 | padding: 0.4em;
145 | margin-block-start: -0.4em;
146 | }
147 |
148 | h2 [aria-hidden]:hover,
149 | h2 [aria-hidden]:focus,
150 | h2 [aria-hidden]:active {
151 | --grayscale: 0;
152 | --scale: 1;
153 | }
154 |
155 | @media (min-width: 50em) {
156 | h2 [aria-hidden]:any-link {
157 | position: absolute;
158 | right: 100%;
159 | }
160 | }
161 |
--------------------------------------------------------------------------------
/src/css-toggles.js:
--------------------------------------------------------------------------------
1 | import * as stylis from 'stylis'
2 | import { toggles, toggleMachines } from './store'
3 | import {
4 | toggleMachineWalker,
5 | togglePseudoClassWalker,
6 | toggleRootWalker,
7 | toggleTriggerWalker,
8 | toggleVisibilityWalker,
9 | toggleWalker,
10 | togglePseudoClassRe,
11 | } from './walkers'
12 |
13 | // https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements#index
14 | const pseudoElements = [
15 | 'after',
16 | 'backdrop',
17 | 'before',
18 | 'cue',
19 | 'cue-region',
20 | 'first-letter',
21 | 'first-line',
22 | 'file-selector-button',
23 | 'grammar-error',
24 | 'marker',
25 | 'placeholder',
26 | 'selection',
27 | 'spelling-error',
28 | 'target-text',
29 | ]
30 | const pseudoElementRe = RegExp(`::?(${pseudoElements.join('|')})`)
31 |
32 | /**
33 | * Get a list of the `element` and its next siblings
34 | * @param {HTMLElement} element
35 | */
36 | function withNextSiblings(element) {
37 | const siblings = [element]
38 | let next = element.nextElementSibling
39 | while (next !== null) {
40 | siblings.push(next)
41 | next = next.nextElementSibling
42 | }
43 | return siblings
44 | }
45 |
46 | /**
47 | * Perform initial DOM setup for the toggle identified by `name`
48 | * @param {string} name
49 | */
50 | function initToggle(name) {
51 | const { rootSelector, isNarrow, triggers, watchers, collapsibles, initialIndex } =
52 | toggles[name]
53 | toggles[name].activeIndices = {}
54 |
55 | // Toggle roots
56 | document.querySelectorAll(rootSelector).forEach((el, i) => {
57 | const id = `${name}-${i}`
58 | const elements = isNarrow ? [el] : withNextSiblings(el)
59 | elements.forEach(el => (el.dataset.toggleRoot = id))
60 | toggles[name].activeIndices[id] = initialIndex
61 | })
62 |
63 | // Toggle triggers
64 | triggers?.forEach(({ selector, targetState, transition }) => {
65 | document.querySelectorAll(selector).forEach(el => {
66 | el.dataset.toggleTrigger = [name, targetState, transition].join('/')
67 | if (['button', 'a', 'input'].includes(el.nodeName.toLowerCase())) return
68 |
69 | // Emulate button behavior on non-button trigger
70 | el.setAttribute('tabindex', 0)
71 | el.setAttribute('role', 'button')
72 | el.setAttribute('aria-pressed', false)
73 | })
74 | })
75 |
76 | // :toggle() selector: Remove the custom syntax and polyfill a `data-toggle`
77 | // attribute on the matching nodes
78 | watchers?.forEach(selector => {
79 | const baseSelector = selector
80 | .slice(0, selector.search(togglePseudoClassRe))
81 | .replace(pseudoElementRe, '')
82 | document.querySelectorAll(baseSelector).forEach(el => (el.dataset.toggle = ''))
83 | })
84 |
85 | // Toggle visibility
86 | collapsibles?.forEach(selector => {
87 | document.querySelectorAll(selector).forEach(el => (el.dataset.toggleVisibility = ''))
88 | })
89 | }
90 |
91 | /**
92 | * Sync the DOM to the current state of a toggle
93 | * @param {string} domId: unique identifier of the toggle to update
94 | */
95 | function renderToggle(domId) {
96 | const [name] = domId.split('-')
97 | const toggleRoot = toggles[name]
98 | const activeIndex = toggleRoot.activeIndices[domId]
99 |
100 | // Find elements that need their visibility toggled
101 | document
102 | .querySelectorAll(
103 | `
104 | [data-toggle-root="${domId}"][data-toggle-visibility],
105 | [data-toggle-root="${domId}"] [data-toggle-visibility]
106 | `,
107 | )
108 | .forEach(el => {
109 | // Avoid interfering with other nested toggles that don't match the current one
110 | const closestRoot = el.closest('[data-toggle-root]')
111 | if (closestRoot?.dataset.toggleRoot !== domId) return
112 | el.dataset.toggleVisibility = activeIndex > 0 ? 'visible' : 'hidden'
113 | })
114 |
115 | // Write the toggle state on elements selected by [data-toggle]
116 | document
117 | .querySelectorAll(
118 | `
119 | [data-toggle-root="${domId}"][data-toggle],
120 | [data-toggle-root="${domId}"] [data-toggle]
121 | `,
122 | )
123 | .forEach(el => {
124 | // Avoid interfering with other nested toggles that don't match the current one
125 | const closestRoot = el.closest('[data-toggle-root]')
126 | if (closestRoot?.dataset.toggleRoot !== domId) return
127 | el.dataset.toggle = `${toggleRoot.name} ${toggleRoot.states[activeIndex]}`
128 | })
129 |
130 | // Update pressed state of polyfilled triggers
131 | document
132 | .querySelectorAll(
133 | `
134 | [data-toggle-root="${domId}"][data-toggle-trigger][aria-pressed],
135 | [data-toggle-root="${domId}"] [data-toggle-trigger][aria-pressed]
136 | `,
137 | )
138 | .forEach(el => {
139 | // Avoid interfering with other nested toggles that don't match the current one
140 | const closestRoot = el.closest('[data-toggle-root]')
141 | if (closestRoot?.dataset.toggleRoot !== domId) return
142 | el.setAttribute('aria-pressed', activeIndex > 0)
143 | })
144 | }
145 |
146 | /**
147 | * Execute all walkers on the text source of a stylesheet.
148 | * @param {string} sheetSrc
149 | * @param {string} url
150 | * @returns {string} transpiled source, or empty string if no transpilation is required
151 | */
152 | function initStylesheet(sheetSrc, url) {
153 | let didReplace = false
154 | function walk(element) {
155 | if (element.type === 'comm') return
156 |
157 | toggleMachineWalker(element)
158 | didReplace |= togglePseudoClassWalker(element)
159 | toggleVisibilityWalker(element)
160 | toggleRootWalker(element)
161 | toggleTriggerWalker(element)
162 | toggleWalker(element)
163 |
164 | const size = (element.children || []).length
165 | for (let i = 0; i < size; i++) walk(element.children[i])
166 | }
167 |
168 | const cssAst = stylis.compile(sheetSrc)
169 | cssAst.forEach(walk)
170 | return didReplace ? stylis.serialize(cssAst, stylis.stringify) : ''
171 | }
172 |
173 | /**
174 | * Parse and transpile inline ',
295 | )
296 |
--------------------------------------------------------------------------------
/src/store.js:
--------------------------------------------------------------------------------
1 | /** Build a regex from an array of parts */
2 | const makeRegex = (parts, opts) => RegExp(parts.map(p => p.source).join(''), opts)
3 |
4 | const toggleRootRe = makeRegex([
5 | /(?[\w-]+)/, // Toggle root name
6 | / */, // Whitespace
7 | /((?\d+)\/)?/, // Initial state: Integer followed by slash (optional)
8 | /(?\d*)?/, // Number of active states (optional)
9 | /(\[(?.+)\])?/, // List of named states enclosed in [] (optional)
10 | / */, // Whitespace
11 | /(at +(?[\w-]+))?/, // Literal 'at' followed by initial state (optional)
12 | / */, // Whitespace
13 | /(?.*)/, // Anything else (optional)
14 | ])
15 | const toggleRootMachineRe = makeRegex([
16 | /((?[\w-]+) +)?/, // Toggle root name (optional)
17 | /(machine\((?[\w-]+)(? *, *strict)?\))/, // State machine name
18 | / */, // Whitespace
19 | /(at +(?[\w-]+))?/, // Literal 'at' followed by initial state (optional)
20 | / */, // Whitespace
21 | /(?.*)/, // Anything else (optional)
22 | ])
23 | const toggleTriggerRe = makeRegex([
24 | /(?[\w-]+)/, // Target toggle root
25 | / */, // Whitespace
26 | /(do[ (](?[\w-]+)\)?)?/, // Transition name wrapped in `do()` (optional)
27 | /(?[\w-]*)/, // Target state name (optional)
28 | ])
29 |
30 | /** Stores the global toggle definitions and state */
31 | export const toggles = {}
32 | /** Stores the global state machine definitions */
33 | export const toggleMachines = {}
34 |
35 | /**
36 | * Update a toggle by name, merging keys and creating the record if necessary
37 | */
38 | export function updateToggle(name, config) {
39 | const obj = toggles[name] || { name }
40 | toggles[name] = Object.assign(obj, config)
41 | }
42 |
43 | /**
44 | * Create a new toggle record with a root selector.
45 | * @param {string} ruleValue: value of the `toggle-root` or `toggle` rule
46 | * @param {string} selector: CSS selector of elements to be used as roots
47 | */
48 | export function createToggleRoots(ruleValue, selector) {
49 | const regex = ruleValue.includes('machine(') ? toggleRootMachineRe : toggleRootRe
50 | let { name, machine, strict, initial, numActive, states, at, modifiers } =
51 | regex.exec(ruleValue).groups
52 | name = name || machine
53 | if (name === undefined) return
54 |
55 | let total
56 | const machineDef = toggleMachines[machine]
57 | if (machineDef !== undefined) {
58 | states = Object.keys(machineDef.states)
59 | total = states.length
60 | } else if (states !== undefined) {
61 | states = states.split(/ +/)
62 | total = states.length
63 | } else {
64 | total = parseInt(numActive || 1) + 1
65 | states = [...Array(total).keys()].map(String)
66 | }
67 |
68 | modifiers = modifiers?.split(/ +/) || []
69 | const group = modifiers.includes('group')
70 | const isNarrow = modifiers.includes('self')
71 |
72 | let initialIndex = states.indexOf(initial)
73 | if (initialIndex === -1) initialIndex = states.indexOf(at)
74 | if (initialIndex === -1) initialIndex = 0
75 |
76 | let resetTo = 0
77 | if (modifiers.includes('linear')) resetTo = total - 1
78 | if (modifiers.includes('sticky')) resetTo = 1
79 |
80 | updateToggle(name, {
81 | resetTo,
82 | group,
83 | isNarrow,
84 | total,
85 | states,
86 | machine,
87 | initialIndex,
88 | strict: Boolean(strict),
89 | rootSelector: selector,
90 | })
91 | }
92 |
93 | /**
94 | * Add triggers to a toggle record.
95 | * @param {string} ruleValue: value of the `toggle-trigger` rule
96 | * @param {string} selector: CSS selector of elements to be used as triggers
97 | */
98 | export function createToggleTriggers(ruleValue, selector) {
99 | const { name, targetState, transition } = toggleTriggerRe.exec(ruleValue).groups
100 | if (name === undefined) return
101 |
102 | const currentTriggers = toggles[name]?.triggers || []
103 | updateToggle(name, {
104 | triggers: [...currentTriggers, { selector, targetState, transition }],
105 | })
106 | }
107 |
--------------------------------------------------------------------------------
/src/styles.css:
--------------------------------------------------------------------------------
1 | /* Root color scheme */
2 | html {
3 | toggle-root: mode [auto light dark];
4 | }
5 |
6 | html:toggle(mode light) {
7 | --mode: 'light';
8 | --brand: var(--violet-9);
9 | --bg: var(--gray-1);
10 | --callout: var(--gray-2);
11 | --text: var(--gray-9);
12 | --grad: var(--pink-1);
13 | }
14 |
15 | html:toggle(mode dark) {
16 | --mode: 'dark';
17 | --brand: var(--violet-3);
18 | --bg: var(--gray-9);
19 | --callout: var(--gray-8);
20 | --text: var(--gray-2);
21 | --grad: var(--pink-9);
22 | }
23 |
24 | .mode-btn {
25 | toggle-trigger: mode;
26 | }
27 |
28 | .mode-btn::after {
29 | content: ': ' var(--mode, 'auto');
30 | }
31 |
32 | /* Binary switch */
33 | .todo li {
34 | toggle: todo self;
35 | cursor: pointer;
36 | padding: 0.25em;
37 | list-style-type: '❌ ';
38 | }
39 |
40 | .todo li:hover {
41 | background-color: var(--callout);
42 | }
43 |
44 | .todo li:toggle(todo) {
45 | list-style-type: '✅ ';
46 | }
47 |
48 | /* Accordion */
49 | .accordion > dt {
50 | toggle: glossary;
51 | cursor: pointer;
52 | display: list-item;
53 | padding: 0.25em;
54 | list-style-type: '👉🏽 ';
55 | }
56 |
57 | .accordion > dt:hover {
58 | background-color: var(--callout);
59 | color: var(--brand);
60 | }
61 |
62 | .accordion > dt:toggle(glossary) {
63 | background-color: var(--brand);
64 | color: var(--bg);
65 | list-style-type: '👇🏽 ';
66 | }
67 |
68 | .accordion > dd {
69 | toggle-visibility: toggle glossary;
70 | }
71 |
72 | /* Tree view */
73 | .nested {
74 | toggle: tree;
75 | background: none;
76 | border: none;
77 | padding: 0;
78 | color: var(--brand);
79 | }
80 |
81 | .nested + ul {
82 | toggle-visibility: toggle tree;
83 | }
84 |
85 | .nested::before {
86 | content: '+ ';
87 | }
88 |
89 | .nested:toggle(tree)::before {
90 | content: '- ';
91 | }
92 |
93 | /* Tabs */
94 | panel-set {
95 | display: grid;
96 | grid-template: 'tab tab tab' auto 'card card card' auto / auto auto 1fr;
97 | }
98 |
99 | /* Each tab creates a sticky toggle
100 | (so once it’s open, clicking again won’t close it),
101 | opts into the group,
102 | and declares itself a toggle activator */
103 | panel-tab {
104 | toggle: tab 1 at 0 group sticky;
105 | grid-row: tab;
106 | padding: 0.5em 1em;
107 | cursor: pointer;
108 | }
109 |
110 | /* first tab toggled by default */
111 |
112 | /* panel-tab:first-child {
113 | toggle: tab 1 at 1 group sticky;
114 | } */
115 |
116 | panel-tab:toggle(tab) {
117 | background-color: var(--callout);
118 | }
119 |
120 | panel-card {
121 | toggle-visibility: toggle tab;
122 | grid-area: card;
123 | padding: 1em;
124 | background-color: var(--callout);
125 | }
126 |
127 | panel-card pre {
128 | padding: 0;
129 | border: 0;
130 | }
131 |
132 | /* Named states */
133 | .colors {
134 | toggle-root: colors [grape green blue red] at blue;
135 | }
136 |
137 | .colors button {
138 | toggle-trigger: colors;
139 | }
140 |
141 | .colors button.grape {
142 | toggle-trigger: colors grape;
143 | }
144 |
145 | .colors button.green {
146 | toggle-trigger: colors green;
147 | }
148 |
149 | .colors button.blue {
150 | toggle-trigger: colors blue;
151 | }
152 |
153 | .colors button.red {
154 | toggle-trigger: colors red;
155 | }
156 |
157 | .show-colors {
158 | background: var(--gray-9);
159 | color: var(--gray-1);
160 | }
161 |
162 | .show-colors:toggle(colors grape) {
163 | background-color: var(--grape-9);
164 | }
165 |
166 | .show-colors:toggle(colors green) {
167 | background-color: var(--green-9);
168 | }
169 |
170 | .show-colors:toggle(colors blue) {
171 | background-color: var(--blue-9);
172 | }
173 |
174 | .show-colors:toggle(colors red) {
175 | background-color: var(--red-9);
176 | }
177 |
178 | /* State machines */
179 | @machine request {
180 | /* stylelint-disable property-no-unknown */
181 | idle {
182 | try: loading;
183 | }
184 |
185 | loading {
186 | resolve: success;
187 | reject: failure;
188 | reset: idle;
189 | }
190 |
191 | failure {
192 | try: loading;
193 | reset: idle;
194 | }
195 |
196 | success {
197 | reset: idle;
198 | }
199 | /* stylelint-enable property-no-unknown */
200 | }
201 |
202 | .request {
203 | toggle-root: machine(request);
204 | }
205 |
206 | .request button[data-do='try'] {
207 | toggle-trigger: request do(try);
208 | }
209 |
210 | .request button[data-do='resolve'] {
211 | toggle-trigger: request do(resolve);
212 | }
213 |
214 | .request button[data-do='reject'] {
215 | toggle-trigger: request do(reject);
216 | }
217 |
218 | .request button[data-do='reset'] {
219 | toggle-trigger: request do(reset);
220 | }
221 |
222 | .request .status {
223 | padding: 1em;
224 | margin: 1em 0;
225 | background: var(--gray-9);
226 | color: var(--gray-1);
227 | }
228 |
229 | .request .status:toggle(request idle) {
230 | background-color: var(--gray-8);
231 |
232 | --status-note: 'try';
233 | }
234 |
235 | .request .status:toggle(request loading) {
236 | background-color: var(--yellow-9);
237 |
238 | --status-note: 'resolve | reject';
239 | }
240 |
241 | .request .status:toggle(request failure) {
242 | background-color: var(--red-9);
243 |
244 | --status-note: 'try (again)';
245 | }
246 |
247 | .request .status:toggle(request success) {
248 | background-color: var(--green-9);
249 |
250 | --status-note: 'none';
251 | }
252 |
253 | .request .status::before {
254 | content: attr(data-toggle);
255 | }
256 |
257 | .request .status::after {
258 | content: ' » ' var(--status-note);
259 | }
260 |
--------------------------------------------------------------------------------
/src/walkers.js:
--------------------------------------------------------------------------------
1 | import {
2 | toggleMachines,
3 | createToggleRoots,
4 | createToggleTriggers,
5 | updateToggle,
6 | toggles,
7 | } from './store'
8 |
9 | export const togglePseudoClassRe = /:toggle\((?[\w-]+) *(?[\w-]*)\)/
10 | const toggleVisibilityRe = /toggle *(?[\w-]+)/
11 |
12 | /**
13 | * Parse `@machine` at-rules and convert them to machine objects
14 | * @param {stylis Element} element
15 | */
16 | export function toggleMachineWalker(element) {
17 | const name = (element.props || [])[0]
18 | if (!(element.type === '@machine' && name)) return
19 |
20 | const states = {}
21 | element.children
22 | .filter(child => child.type === 'rule')
23 | .forEach(rule => {
24 | states[rule.value] = Object.fromEntries(
25 | rule.children
26 | .filter(child => child.type === 'decl')
27 | .map(decl => [decl.props, decl.children]),
28 | )
29 | })
30 | toggleMachines[name] = { name, states }
31 | }
32 |
33 | /**
34 | * Parse and mutate rules that use a `:toggle()` pseudoclass. Add matching
35 | * elements to a list of "watchers".
36 | * @param {stylis Element} element
37 | * @returns {bool} indicates if the AST was mutated and transpilation is
38 | * required
39 | */
40 | export function togglePseudoClassWalker(element) {
41 | if (element.type !== 'rule') return
42 |
43 | let didReplace = false
44 | element.props = element.props.map(selector => {
45 | const { name, value } = togglePseudoClassRe.exec(selector)?.groups || {}
46 | if (!name) return selector
47 |
48 | const currentWatchers = toggles[name]?.watchers || []
49 | updateToggle(name, {
50 | watchers: [...currentWatchers, selector],
51 | })
52 |
53 | // Mutate the AST to convert the pseudoclass into `data-toggle` selector
54 | let replacement
55 | if (value) {
56 | replacement = `[data-toggle="${name} ${value}"]`
57 | } else {
58 | // Flexible selector that should match any non-zero state
59 | replacement = `[data-toggle^="${name} "]:not([data-toggle="${name} 0"])`
60 | }
61 | didReplace = true
62 | return selector.replace(togglePseudoClassRe, replacement)
63 | })
64 |
65 | return didReplace
66 | }
67 |
68 | /**
69 | * Parse declarations that use the `toggle-visibility` property and add them to
70 | * a list of "collapsibles"
71 | * @param {stylis Element} element
72 | */
73 | export function toggleVisibilityWalker(element) {
74 | if (!(element.type === 'decl' && element.props === 'toggle-visibility')) return
75 | const { name } = toggleVisibilityRe.exec(element.children).groups
76 | if (name === undefined) return
77 |
78 | const currentCollapsibles = toggles[name]?.collapsibles || []
79 | updateToggle(name, {
80 | collapsibles: [...currentCollapsibles, ...element.parent.props],
81 | })
82 | }
83 |
84 | /**
85 | * Parse declarations that use the `toggle-root` property and create toggle root
86 | * records.
87 | * @param {stylis Element} element
88 | */
89 | export function toggleRootWalker(element) {
90 | if (!(element.type === 'decl' && element.props === 'toggle-root')) return
91 | createToggleRoots(element.children, element.parent.value)
92 | }
93 |
94 | /**
95 | * Parse declarations that use the `toggle-trigger` property and initialize
96 | * trigger logic.
97 | * @param {stylis Element} element
98 | */
99 | export function toggleTriggerWalker(element) {
100 | if (!(element.type === 'decl' && element.props === 'toggle-trigger')) return
101 | createToggleTriggers(element.children, element.parent.value)
102 | }
103 |
104 | /**
105 | * Parse declarations that use the `toggle` shorthand property and initialize
106 | * roots and triggers.
107 | * @param {stylis Element} element
108 | */
109 | export function toggleWalker(element) {
110 | if (!(element.type === 'decl' && element.props === 'toggle')) return
111 | const selector = element.parent.value
112 | const ruleValue = element.children
113 |
114 | createToggleRoots(ruleValue, selector)
115 |
116 | // In shorthand mode pass only the toggle name to the trigger as the rest of
117 | // the rule value should not be parsed
118 | const [toggleName] = ruleValue.split(' ')
119 | createToggleTriggers(toggleName, selector)
120 | }
121 |
--------------------------------------------------------------------------------
/tests/accordion.spec.js:
--------------------------------------------------------------------------------
1 | import { test, expect } from '@playwright/test'
2 |
3 | test.beforeEach(async ({ page }) => {
4 | await page.goto('/')
5 | })
6 |
7 | test('toggle visibility', async ({ page }) => {
8 | const terms = await page.locator('data-testid=accordion >> dt')
9 | const dfns = await page.locator('data-testid=accordion >> dd')
10 |
11 | await expect(dfns.nth(0)).not.toBeVisible()
12 | await expect(dfns.nth(1)).not.toBeVisible()
13 | await expect(dfns.nth(2)).not.toBeVisible()
14 |
15 | await terms.nth(0).click()
16 | await expect(dfns.nth(0)).toBeVisible()
17 | await expect(dfns.nth(1)).not.toBeVisible()
18 | await expect(dfns.nth(2)).not.toBeVisible()
19 |
20 | await terms.nth(1).click()
21 | await expect(dfns.nth(0)).toBeVisible()
22 | await expect(dfns.nth(1)).toBeVisible()
23 | await expect(dfns.nth(2)).not.toBeVisible()
24 | })
25 |
--------------------------------------------------------------------------------
/tests/mode.spec.js:
--------------------------------------------------------------------------------
1 | import { test, expect } from '@playwright/test'
2 |
3 | test.beforeEach(async ({ page }) => {
4 | await page.goto('/')
5 | })
6 |
7 | test('cycle trough modes', async ({ page }) => {
8 | const button = await page.locator('data-testid=mode-btn')
9 | const html = await page.locator('html')
10 |
11 | await expect(html).toHaveAttribute('data-toggle', 'mode auto')
12 |
13 | await button.click()
14 | await expect(html).toHaveAttribute('data-toggle', 'mode light')
15 |
16 | await button.click()
17 | await expect(html).toHaveAttribute('data-toggle', 'mode dark')
18 |
19 | await button.click()
20 | await expect(html).toHaveAttribute('data-toggle', 'mode auto')
21 | })
22 |
--------------------------------------------------------------------------------
/tests/named-states.spec.js:
--------------------------------------------------------------------------------
1 | import { test as base, expect } from '@playwright/test'
2 |
3 | base.beforeEach(async ({ page }) => {
4 | await page.goto('/')
5 | })
6 |
7 | const test = base.extend({
8 | buttons: async ({ page }, use) => {
9 | const buttons = await page.locator('data-testid=colors >> button')
10 | await use(buttons)
11 | },
12 | target: async ({ page }, use) => {
13 | const target = await page.locator('data-testid=colors-target')
14 | await use(target)
15 | },
16 | })
17 |
18 | test('cycle', async ({ buttons, target }) => {
19 | await expect(target).toHaveAttribute('data-toggle', 'colors blue')
20 |
21 | await buttons.first().click()
22 | await expect(target).toHaveAttribute('data-toggle', 'colors red')
23 |
24 | await buttons.first().click()
25 | await expect(target).toHaveAttribute('data-toggle', 'colors grape')
26 |
27 | await buttons.first().click()
28 | await expect(target).toHaveAttribute('data-toggle', 'colors green')
29 |
30 | await buttons.first().click()
31 | await expect(target).toHaveAttribute('data-toggle', 'colors blue')
32 | })
33 |
34 | for (const color of ['grape', 'green', 'blue', 'red']) {
35 | test(`switch to ${color}`, async ({ buttons, target }) => {
36 | const button = await buttons.locator(`text=${color}`)
37 |
38 | await button.click()
39 | await expect(target).toHaveAttribute('data-toggle', `colors ${color}`)
40 |
41 | await button.click()
42 | await expect(target, 'Clicking again should produce no change').toHaveAttribute(
43 | 'data-toggle',
44 | `colors ${color}`,
45 | )
46 | })
47 | }
48 |
--------------------------------------------------------------------------------
/tests/self-toggles.spec.js:
--------------------------------------------------------------------------------
1 | import { test as base, expect } from '@playwright/test'
2 |
3 | base.beforeEach(async ({ page }) => {
4 | await page.goto('/')
5 | })
6 |
7 | const test = base.extend({
8 | items: async ({ page }, use) => {
9 | const items = await page.locator('data-testid=todo-list >> li')
10 | await use(items)
11 | },
12 | firstItem: async ({ page }, use) => {
13 | const firstItem = await page.locator('data-testid=todo-list >> li').first()
14 | await use(firstItem)
15 | },
16 | })
17 |
18 | test('toggle on click', async ({ firstItem }) => {
19 | await firstItem.click()
20 | await expect(firstItem).toHaveAttribute('data-toggle', 'todo 1')
21 | await expect(firstItem).toHaveAttribute('aria-pressed', 'true')
22 |
23 | await firstItem.click()
24 | await expect(firstItem).toHaveAttribute('data-toggle', 'todo 0')
25 | await expect(firstItem).toHaveAttribute('aria-pressed', 'false')
26 | })
27 |
28 | for (const key of ['Space', 'Enter']) {
29 | test(`toggle on ${key} key press`, async ({ firstItem }) => {
30 | await firstItem.press(key)
31 | await expect(firstItem).toHaveAttribute('data-toggle', 'todo 1')
32 | await expect(firstItem).toHaveAttribute('aria-pressed', 'true')
33 |
34 | await firstItem.press(key)
35 | await expect(firstItem).toHaveAttribute('data-toggle', 'todo 0')
36 | await expect(firstItem).toHaveAttribute('aria-pressed', 'false')
37 | })
38 | }
39 |
40 | for (const key of ['F1', 'KeyA', 'Control', 'Digit1']) {
41 | test(`ignore ${key} key press`, async ({ firstItem }) => {
42 | await firstItem.press(key)
43 | await expect(firstItem).toHaveAttribute('data-toggle', 'todo 0')
44 | await expect(firstItem).toHaveAttribute('aria-pressed', 'false')
45 | })
46 | }
47 |
48 | test('only toggle itself', async ({ items }) => {
49 | await items.nth(0).click()
50 | await expect(items.nth(0)).toHaveAttribute('data-toggle', 'todo 1')
51 | await expect(items.nth(1)).toHaveAttribute('data-toggle', 'todo 0')
52 | await expect(items.nth(2)).toHaveAttribute('data-toggle', 'todo 0')
53 | await expect(items.nth(3)).toHaveAttribute('data-toggle', 'todo 0')
54 |
55 | await items.nth(2).click()
56 | await expect(items.nth(0)).toHaveAttribute('data-toggle', 'todo 1')
57 | await expect(items.nth(1)).toHaveAttribute('data-toggle', 'todo 0')
58 | await expect(items.nth(2)).toHaveAttribute('data-toggle', 'todo 1')
59 | await expect(items.nth(3)).toHaveAttribute('data-toggle', 'todo 0')
60 | })
61 |
--------------------------------------------------------------------------------
/tests/state-machine.spec.js:
--------------------------------------------------------------------------------
1 | import { test as base, expect } from '@playwright/test'
2 |
3 | base.beforeEach(async ({ page }) => {
4 | await page.goto('/')
5 | })
6 |
7 | const test = base.extend({
8 | buttons: async ({ page }, use) => {
9 | const buttons = await page.locator('data-testid=machine >> button')
10 | await use(buttons)
11 | },
12 | status: async ({ page }, use) => {
13 | const status = await page.locator('data-testid=machine-status')
14 | await use(status)
15 | },
16 | })
17 |
18 | test('prevent skipping', async ({ buttons, status }) => {
19 | await buttons.locator('text=resolve').click()
20 | await expect(status).toHaveAttribute('data-toggle', 'request idle')
21 |
22 | await buttons.locator('text=reject').click()
23 | await expect(status).toHaveAttribute('data-toggle', 'request idle')
24 |
25 | await buttons.locator('text=reset').click()
26 | await expect(status).toHaveAttribute('data-toggle', 'request idle')
27 | })
28 |
29 | test('reject', async ({ buttons, status }) => {
30 | await buttons.locator('text=try').click()
31 | await expect(status).toHaveAttribute('data-toggle', 'request loading')
32 |
33 | await buttons.locator('text=reject').click()
34 | await expect(status).toHaveAttribute('data-toggle', 'request failure')
35 |
36 | await buttons.locator('text=reset').click()
37 | await expect(status).toHaveAttribute('data-toggle', 'request idle')
38 | })
39 |
40 | test('succeed', async ({ buttons, status }) => {
41 | await buttons.locator('text=try').click()
42 | await expect(status).toHaveAttribute('data-toggle', 'request loading')
43 |
44 | await buttons.locator('text=resolve').click()
45 | await expect(status).toHaveAttribute('data-toggle', 'request success')
46 |
47 | await buttons.locator('text=reset').click()
48 | await expect(status).toHaveAttribute('data-toggle', 'request idle')
49 | })
50 |
--------------------------------------------------------------------------------
/tests/tabs.spec.js:
--------------------------------------------------------------------------------
1 | import { test as base, expect } from '@playwright/test'
2 |
3 | base.beforeEach(async ({ page }) => {
4 | await page.goto('/')
5 | })
6 |
7 | const test = base.extend({
8 | tabs: async ({ page }, use) => {
9 | const tabs = await page.locator('data-testid=tabs >> panel-tab')
10 | await use(tabs)
11 | },
12 | cards: async ({ page }, use) => {
13 | const cards = await page.locator('data-testid=tabs >> panel-card')
14 | await use(cards)
15 | },
16 | })
17 |
18 | // https://github.com/oddbird/css-toggles/issues/9
19 | test.fixme('first card open by default', async ({ cards }) => {
20 | await expect(cards.first()).toBeVisible()
21 | })
22 |
23 | test('stay open on repeated trigger', async ({ tabs, cards }) => {
24 | await tabs.first().click()
25 | await expect(cards.first()).toBeVisible()
26 |
27 | await tabs.first().click()
28 | await expect(cards.first()).toBeVisible()
29 |
30 | await tabs.first().click()
31 | await expect(cards.first()).toBeVisible()
32 | })
33 |
34 | test('auto-close others', async ({ tabs, cards }) => {
35 | await tabs.first().click()
36 | await expect(cards.first()).toBeVisible()
37 | await expect(cards.last()).not.toBeVisible()
38 |
39 | await tabs.last().click()
40 | await expect(cards.first()).not.toBeVisible()
41 | await expect(cards.last()).toBeVisible()
42 |
43 | await tabs.first().click()
44 | await expect(cards.first()).toBeVisible()
45 | await expect(cards.last()).not.toBeVisible()
46 | })
47 |
--------------------------------------------------------------------------------
/tests/tree.spec.js:
--------------------------------------------------------------------------------
1 | import { test, expect } from '@playwright/test'
2 |
3 | test.beforeEach(async ({ page }) => {
4 | await page.goto('/')
5 | })
6 |
7 | test('nested visibility', async ({ page }) => {
8 | const resources = await page.locator('data-testid=resources-branch')
9 | const resourcesBtn = await page.locator('data-testid=resources-button')
10 | const media = await page.locator('data-testid=media-branch')
11 | const mediaBtn = await page.locator('data-testid=media-button')
12 |
13 | await expect(resourcesBtn).toHaveAttribute('data-toggle', 'tree 0')
14 | await expect(resources).not.toBeVisible()
15 | await expect(mediaBtn).toHaveAttribute('data-toggle', 'tree 0')
16 | await expect(media).not.toBeVisible()
17 |
18 | await resourcesBtn.click()
19 | await expect(resourcesBtn).toHaveAttribute('data-toggle', 'tree 1')
20 | await expect(resources).toBeVisible()
21 | await expect(mediaBtn).toHaveAttribute('data-toggle', 'tree 0')
22 | await expect(media).not.toBeVisible()
23 |
24 | await mediaBtn.click()
25 | await expect(resourcesBtn).toHaveAttribute('data-toggle', 'tree 1')
26 | await expect(resources).toBeVisible()
27 | await expect(mediaBtn).toHaveAttribute('data-toggle', 'tree 1')
28 | await expect(media).toBeVisible()
29 |
30 | await resourcesBtn.click()
31 | await expect(resourcesBtn).toHaveAttribute('data-toggle', 'tree 0')
32 | await expect(resources).not.toBeVisible()
33 | await expect(mediaBtn).toHaveAttribute('data-toggle', 'tree 1')
34 | await expect(media).not.toBeVisible()
35 | })
36 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@aashutoshrathi/word-wrap@^1.2.3":
6 | version "1.2.6"
7 | resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
8 | integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
9 |
10 | "@babel/code-frame@^7.0.0":
11 | version "7.22.5"
12 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658"
13 | integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==
14 | dependencies:
15 | "@babel/highlight" "^7.22.5"
16 |
17 | "@babel/helper-validator-identifier@^7.22.5":
18 | version "7.22.5"
19 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193"
20 | integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==
21 |
22 | "@babel/highlight@^7.22.5":
23 | version "7.22.5"
24 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031"
25 | integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==
26 | dependencies:
27 | "@babel/helper-validator-identifier" "^7.22.5"
28 | chalk "^2.0.0"
29 | js-tokens "^4.0.0"
30 |
31 | "@csstools/css-parser-algorithms@^2.3.0":
32 | version "2.3.0"
33 | resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.0.tgz#0cc3a656dc2d638370ecf6f98358973bfbd00141"
34 | integrity sha512-dTKSIHHWc0zPvcS5cqGP+/TPFUJB0ekJ9dGKvMAFoNuBFhDPBt9OMGNZiIA5vTiNdGHHBeScYPXIGBMnVOahsA==
35 |
36 | "@csstools/css-tokenizer@^2.1.1":
37 | version "2.1.1"
38 | resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz#07ae11a0a06365d7ec686549db7b729bc036528e"
39 | integrity sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==
40 |
41 | "@csstools/media-query-list-parser@^2.1.2":
42 | version "2.1.2"
43 | resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.2.tgz#6ef642b728d30c1009bfbba3211c7e4c11302728"
44 | integrity sha512-M8cFGGwl866o6++vIY7j1AKuq9v57cf+dGepScwCcbut9ypJNr4Cj+LLTWligYUZ0uyhEoJDKt5lvyBfh2L3ZQ==
45 |
46 | "@csstools/selector-specificity@^3.0.0":
47 | version "3.0.0"
48 | resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz#798622546b63847e82389e473fd67f2707d82247"
49 | integrity sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==
50 |
51 | "@esbuild/aix-ppc64@0.25.0":
52 | version "0.25.0"
53 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz#499600c5e1757a524990d5d92601f0ac3ce87f64"
54 | integrity sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==
55 |
56 | "@esbuild/android-arm64@0.25.0":
57 | version "0.25.0"
58 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz#b9b8231561a1dfb94eb31f4ee056b92a985c324f"
59 | integrity sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==
60 |
61 | "@esbuild/android-arm@0.25.0":
62 | version "0.25.0"
63 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.0.tgz#ca6e7888942505f13e88ac9f5f7d2a72f9facd2b"
64 | integrity sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==
65 |
66 | "@esbuild/android-x64@0.25.0":
67 | version "0.25.0"
68 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.0.tgz#e765ea753bac442dfc9cb53652ce8bd39d33e163"
69 | integrity sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==
70 |
71 | "@esbuild/darwin-arm64@0.25.0":
72 | version "0.25.0"
73 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz#fa394164b0d89d4fdc3a8a21989af70ef579fa2c"
74 | integrity sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==
75 |
76 | "@esbuild/darwin-x64@0.25.0":
77 | version "0.25.0"
78 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz#91979d98d30ba6e7d69b22c617cc82bdad60e47a"
79 | integrity sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==
80 |
81 | "@esbuild/freebsd-arm64@0.25.0":
82 | version "0.25.0"
83 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz#b97e97073310736b430a07b099d837084b85e9ce"
84 | integrity sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==
85 |
86 | "@esbuild/freebsd-x64@0.25.0":
87 | version "0.25.0"
88 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz#f3b694d0da61d9910ec7deff794d444cfbf3b6e7"
89 | integrity sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==
90 |
91 | "@esbuild/linux-arm64@0.25.0":
92 | version "0.25.0"
93 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz#f921f699f162f332036d5657cad9036f7a993f73"
94 | integrity sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==
95 |
96 | "@esbuild/linux-arm@0.25.0":
97 | version "0.25.0"
98 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz#cc49305b3c6da317c900688995a4050e6cc91ca3"
99 | integrity sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==
100 |
101 | "@esbuild/linux-ia32@0.25.0":
102 | version "0.25.0"
103 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz#3e0736fcfab16cff042dec806247e2c76e109e19"
104 | integrity sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==
105 |
106 | "@esbuild/linux-loong64@0.25.0":
107 | version "0.25.0"
108 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz#ea2bf730883cddb9dfb85124232b5a875b8020c7"
109 | integrity sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==
110 |
111 | "@esbuild/linux-mips64el@0.25.0":
112 | version "0.25.0"
113 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz#4cababb14eede09248980a2d2d8b966464294ff1"
114 | integrity sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==
115 |
116 | "@esbuild/linux-ppc64@0.25.0":
117 | version "0.25.0"
118 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz#8860a4609914c065373a77242e985179658e1951"
119 | integrity sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==
120 |
121 | "@esbuild/linux-riscv64@0.25.0":
122 | version "0.25.0"
123 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz#baf26e20bb2d38cfb86ee282dff840c04f4ed987"
124 | integrity sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==
125 |
126 | "@esbuild/linux-s390x@0.25.0":
127 | version "0.25.0"
128 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz#8323afc0d6cb1b6dc6e9fd21efd9e1542c3640a4"
129 | integrity sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==
130 |
131 | "@esbuild/linux-x64@0.25.0":
132 | version "0.25.0"
133 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz#08fcf60cb400ed2382e9f8e0f5590bac8810469a"
134 | integrity sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==
135 |
136 | "@esbuild/netbsd-arm64@0.25.0":
137 | version "0.25.0"
138 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz#935c6c74e20f7224918fbe2e6c6fe865b6c6ea5b"
139 | integrity sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==
140 |
141 | "@esbuild/netbsd-x64@0.25.0":
142 | version "0.25.0"
143 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz#414677cef66d16c5a4d210751eb2881bb9c1b62b"
144 | integrity sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==
145 |
146 | "@esbuild/openbsd-arm64@0.25.0":
147 | version "0.25.0"
148 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz#8fd55a4d08d25cdc572844f13c88d678c84d13f7"
149 | integrity sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==
150 |
151 | "@esbuild/openbsd-x64@0.25.0":
152 | version "0.25.0"
153 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz#0c48ddb1494bbc2d6bcbaa1429a7f465fa1dedde"
154 | integrity sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==
155 |
156 | "@esbuild/sunos-x64@0.25.0":
157 | version "0.25.0"
158 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz#86ff9075d77962b60dd26203d7352f92684c8c92"
159 | integrity sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==
160 |
161 | "@esbuild/win32-arm64@0.25.0":
162 | version "0.25.0"
163 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz#849c62327c3229467f5b5cd681bf50588442e96c"
164 | integrity sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==
165 |
166 | "@esbuild/win32-ia32@0.25.0":
167 | version "0.25.0"
168 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz#f62eb480cd7cca088cb65bb46a6db25b725dc079"
169 | integrity sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==
170 |
171 | "@esbuild/win32-x64@0.25.0":
172 | version "0.25.0"
173 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz#c8e119a30a7c8d60b9d2e22d2073722dde3b710b"
174 | integrity sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==
175 |
176 | "@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
177 | version "4.4.0"
178 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
179 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
180 | dependencies:
181 | eslint-visitor-keys "^3.3.0"
182 |
183 | "@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.5.0":
184 | version "4.5.1"
185 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
186 | integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
187 |
188 | "@eslint/eslintrc@^2.1.0":
189 | version "2.1.0"
190 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.0.tgz#82256f164cc9e0b59669efc19d57f8092706841d"
191 | integrity sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==
192 | dependencies:
193 | ajv "^6.12.4"
194 | debug "^4.3.2"
195 | espree "^9.6.0"
196 | globals "^13.19.0"
197 | ignore "^5.2.0"
198 | import-fresh "^3.2.1"
199 | js-yaml "^4.1.0"
200 | minimatch "^3.1.2"
201 | strip-json-comments "^3.1.1"
202 |
203 | "@eslint/js@8.44.0":
204 | version "8.44.0"
205 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.44.0.tgz#961a5903c74139390478bdc808bcde3fc45ab7af"
206 | integrity sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==
207 |
208 | "@humanwhocodes/config-array@^0.11.10":
209 | version "0.11.10"
210 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2"
211 | integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==
212 | dependencies:
213 | "@humanwhocodes/object-schema" "^1.2.1"
214 | debug "^4.1.1"
215 | minimatch "^3.0.5"
216 |
217 | "@humanwhocodes/module-importer@^1.0.1":
218 | version "1.0.1"
219 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
220 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
221 |
222 | "@humanwhocodes/object-schema@^1.2.1":
223 | version "1.2.1"
224 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
225 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
226 |
227 | "@nodelib/fs.scandir@2.1.5":
228 | version "2.1.5"
229 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
230 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
231 | dependencies:
232 | "@nodelib/fs.stat" "2.0.5"
233 | run-parallel "^1.1.9"
234 |
235 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
236 | version "2.0.5"
237 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
238 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
239 |
240 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
241 | version "1.2.8"
242 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
243 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
244 | dependencies:
245 | "@nodelib/fs.scandir" "2.1.5"
246 | fastq "^1.6.0"
247 |
248 | "@playwright/test@^1.35.1":
249 | version "1.35.1"
250 | resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.35.1.tgz#a596b61e15b980716696f149cc7a2002f003580c"
251 | integrity sha512-b5YoFe6J9exsMYg0pQAobNDR85T1nLumUYgUTtKm4d21iX2L7WqKq9dW8NGJ+2vX0etZd+Y7UeuqsxDXm9+5ZA==
252 | dependencies:
253 | "@types/node" "*"
254 | playwright-core "1.35.1"
255 | optionalDependencies:
256 | fsevents "2.3.2"
257 |
258 | "@types/json5@^0.0.29":
259 | version "0.0.29"
260 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
261 | integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
262 |
263 | "@types/minimist@^1.2.2":
264 | version "1.2.2"
265 | resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
266 | integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
267 |
268 | "@types/node@*":
269 | version "20.4.1"
270 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.1.tgz#a6033a8718653c50ac4962977e14d0f984d9527d"
271 | integrity sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==
272 |
273 | "@types/normalize-package-data@^2.4.0":
274 | version "2.4.1"
275 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
276 | integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
277 |
278 | acorn-jsx@^5.3.2:
279 | version "5.3.2"
280 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
281 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
282 |
283 | acorn@^8.9.0:
284 | version "8.10.0"
285 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
286 | integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
287 |
288 | ajv@^6.10.0, ajv@^6.12.4:
289 | version "6.12.6"
290 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
291 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
292 | dependencies:
293 | fast-deep-equal "^3.1.1"
294 | fast-json-stable-stringify "^2.0.0"
295 | json-schema-traverse "^0.4.1"
296 | uri-js "^4.2.2"
297 |
298 | ajv@^8.0.1:
299 | version "8.12.0"
300 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
301 | integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
302 | dependencies:
303 | fast-deep-equal "^3.1.1"
304 | json-schema-traverse "^1.0.0"
305 | require-from-string "^2.0.2"
306 | uri-js "^4.2.2"
307 |
308 | ansi-regex@^5.0.1:
309 | version "5.0.1"
310 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
311 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
312 |
313 | ansi-styles@^3.2.1:
314 | version "3.2.1"
315 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
316 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
317 | dependencies:
318 | color-convert "^1.9.0"
319 |
320 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
321 | version "4.3.0"
322 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
323 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
324 | dependencies:
325 | color-convert "^2.0.1"
326 |
327 | argparse@^2.0.1:
328 | version "2.0.1"
329 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
330 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
331 |
332 | array-buffer-byte-length@^1.0.0:
333 | version "1.0.0"
334 | resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
335 | integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
336 | dependencies:
337 | call-bind "^1.0.2"
338 | is-array-buffer "^3.0.1"
339 |
340 | array-includes@^3.1.6:
341 | version "3.1.6"
342 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
343 | integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
344 | dependencies:
345 | call-bind "^1.0.2"
346 | define-properties "^1.1.4"
347 | es-abstract "^1.20.4"
348 | get-intrinsic "^1.1.3"
349 | is-string "^1.0.7"
350 |
351 | array-union@^2.1.0:
352 | version "2.1.0"
353 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
354 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
355 |
356 | array.prototype.flat@^1.3.1:
357 | version "1.3.1"
358 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2"
359 | integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==
360 | dependencies:
361 | call-bind "^1.0.2"
362 | define-properties "^1.1.4"
363 | es-abstract "^1.20.4"
364 | es-shim-unscopables "^1.0.0"
365 |
366 | array.prototype.flatmap@^1.3.1:
367 | version "1.3.1"
368 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183"
369 | integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==
370 | dependencies:
371 | call-bind "^1.0.2"
372 | define-properties "^1.1.4"
373 | es-abstract "^1.20.4"
374 | es-shim-unscopables "^1.0.0"
375 |
376 | arrify@^1.0.1:
377 | version "1.0.1"
378 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
379 | integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
380 |
381 | astral-regex@^2.0.0:
382 | version "2.0.0"
383 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
384 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
385 |
386 | available-typed-arrays@^1.0.5:
387 | version "1.0.5"
388 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
389 | integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
390 |
391 | balanced-match@^1.0.0:
392 | version "1.0.2"
393 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
394 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
395 |
396 | balanced-match@^2.0.0:
397 | version "2.0.0"
398 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9"
399 | integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==
400 |
401 | brace-expansion@^1.1.7:
402 | version "1.1.11"
403 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
404 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
405 | dependencies:
406 | balanced-match "^1.0.0"
407 | concat-map "0.0.1"
408 |
409 | braces@^3.0.3:
410 | version "3.0.3"
411 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
412 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
413 | dependencies:
414 | fill-range "^7.1.1"
415 |
416 | builtins@^5.0.1:
417 | version "5.0.1"
418 | resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9"
419 | integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==
420 | dependencies:
421 | semver "^7.0.0"
422 |
423 | call-bind@^1.0.0, call-bind@^1.0.2:
424 | version "1.0.2"
425 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
426 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
427 | dependencies:
428 | function-bind "^1.1.1"
429 | get-intrinsic "^1.0.2"
430 |
431 | callsites@^3.0.0:
432 | version "3.1.0"
433 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
434 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
435 |
436 | camelcase-keys@^7.0.0:
437 | version "7.0.2"
438 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252"
439 | integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==
440 | dependencies:
441 | camelcase "^6.3.0"
442 | map-obj "^4.1.0"
443 | quick-lru "^5.1.1"
444 | type-fest "^1.2.1"
445 |
446 | camelcase@^6.3.0:
447 | version "6.3.0"
448 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
449 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
450 |
451 | chalk@^2.0.0:
452 | version "2.4.2"
453 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
454 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
455 | dependencies:
456 | ansi-styles "^3.2.1"
457 | escape-string-regexp "^1.0.5"
458 | supports-color "^5.3.0"
459 |
460 | chalk@^4.0.0:
461 | version "4.1.2"
462 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
463 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
464 | dependencies:
465 | ansi-styles "^4.1.0"
466 | supports-color "^7.1.0"
467 |
468 | color-convert@^1.9.0:
469 | version "1.9.3"
470 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
471 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
472 | dependencies:
473 | color-name "1.1.3"
474 |
475 | color-convert@^2.0.1:
476 | version "2.0.1"
477 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
478 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
479 | dependencies:
480 | color-name "~1.1.4"
481 |
482 | color-name@1.1.3:
483 | version "1.1.3"
484 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
485 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
486 |
487 | color-name@~1.1.4:
488 | version "1.1.4"
489 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
490 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
491 |
492 | colord@^2.9.3:
493 | version "2.9.3"
494 | resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
495 | integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
496 |
497 | concat-map@0.0.1:
498 | version "0.0.1"
499 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
500 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
501 |
502 | cosmiconfig@^8.2.0:
503 | version "8.2.0"
504 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd"
505 | integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==
506 | dependencies:
507 | import-fresh "^3.2.1"
508 | js-yaml "^4.1.0"
509 | parse-json "^5.0.0"
510 | path-type "^4.0.0"
511 |
512 | cross-spawn@^7.0.2:
513 | version "7.0.6"
514 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
515 | integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
516 | dependencies:
517 | path-key "^3.1.0"
518 | shebang-command "^2.0.0"
519 | which "^2.0.1"
520 |
521 | css-functions-list@^3.1.0:
522 | version "3.2.0"
523 | resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.2.0.tgz#8290b7d064bf483f48d6559c10e98dc4d1ad19ee"
524 | integrity sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==
525 |
526 | css-tree@^2.3.1:
527 | version "2.3.1"
528 | resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
529 | integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
530 | dependencies:
531 | mdn-data "2.0.30"
532 | source-map-js "^1.0.1"
533 |
534 | cssesc@^3.0.0:
535 | version "3.0.0"
536 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
537 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
538 |
539 | debug@^3.2.7:
540 | version "3.2.7"
541 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
542 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
543 | dependencies:
544 | ms "^2.1.1"
545 |
546 | debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
547 | version "4.3.4"
548 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
549 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
550 | dependencies:
551 | ms "2.1.2"
552 |
553 | decamelize-keys@^1.1.0:
554 | version "1.1.1"
555 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8"
556 | integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==
557 | dependencies:
558 | decamelize "^1.1.0"
559 | map-obj "^1.0.0"
560 |
561 | decamelize@^1.1.0:
562 | version "1.2.0"
563 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
564 | integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
565 |
566 | decamelize@^5.0.0:
567 | version "5.0.1"
568 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9"
569 | integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==
570 |
571 | deep-is@^0.1.3:
572 | version "0.1.4"
573 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
574 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
575 |
576 | define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
577 | version "1.2.0"
578 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
579 | integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
580 | dependencies:
581 | has-property-descriptors "^1.0.0"
582 | object-keys "^1.1.1"
583 |
584 | dir-glob@^3.0.1:
585 | version "3.0.1"
586 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
587 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
588 | dependencies:
589 | path-type "^4.0.0"
590 |
591 | doctrine@^2.1.0:
592 | version "2.1.0"
593 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
594 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
595 | dependencies:
596 | esutils "^2.0.2"
597 |
598 | doctrine@^3.0.0:
599 | version "3.0.0"
600 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
601 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
602 | dependencies:
603 | esutils "^2.0.2"
604 |
605 | emoji-regex@^8.0.0:
606 | version "8.0.0"
607 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
608 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
609 |
610 | error-ex@^1.3.1:
611 | version "1.3.2"
612 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
613 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
614 | dependencies:
615 | is-arrayish "^0.2.1"
616 |
617 | es-abstract@^1.19.0, es-abstract@^1.20.4:
618 | version "1.21.2"
619 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff"
620 | integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==
621 | dependencies:
622 | array-buffer-byte-length "^1.0.0"
623 | available-typed-arrays "^1.0.5"
624 | call-bind "^1.0.2"
625 | es-set-tostringtag "^2.0.1"
626 | es-to-primitive "^1.2.1"
627 | function.prototype.name "^1.1.5"
628 | get-intrinsic "^1.2.0"
629 | get-symbol-description "^1.0.0"
630 | globalthis "^1.0.3"
631 | gopd "^1.0.1"
632 | has "^1.0.3"
633 | has-property-descriptors "^1.0.0"
634 | has-proto "^1.0.1"
635 | has-symbols "^1.0.3"
636 | internal-slot "^1.0.5"
637 | is-array-buffer "^3.0.2"
638 | is-callable "^1.2.7"
639 | is-negative-zero "^2.0.2"
640 | is-regex "^1.1.4"
641 | is-shared-array-buffer "^1.0.2"
642 | is-string "^1.0.7"
643 | is-typed-array "^1.1.10"
644 | is-weakref "^1.0.2"
645 | object-inspect "^1.12.3"
646 | object-keys "^1.1.1"
647 | object.assign "^4.1.4"
648 | regexp.prototype.flags "^1.4.3"
649 | safe-regex-test "^1.0.0"
650 | string.prototype.trim "^1.2.7"
651 | string.prototype.trimend "^1.0.6"
652 | string.prototype.trimstart "^1.0.6"
653 | typed-array-length "^1.0.4"
654 | unbox-primitive "^1.0.2"
655 | which-typed-array "^1.1.9"
656 |
657 | es-set-tostringtag@^2.0.1:
658 | version "2.0.1"
659 | resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
660 | integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
661 | dependencies:
662 | get-intrinsic "^1.1.3"
663 | has "^1.0.3"
664 | has-tostringtag "^1.0.0"
665 |
666 | es-shim-unscopables@^1.0.0:
667 | version "1.0.0"
668 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
669 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
670 | dependencies:
671 | has "^1.0.3"
672 |
673 | es-to-primitive@^1.2.1:
674 | version "1.2.1"
675 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
676 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
677 | dependencies:
678 | is-callable "^1.1.4"
679 | is-date-object "^1.0.1"
680 | is-symbol "^1.0.2"
681 |
682 | esbuild@^0.25.0:
683 | version "0.25.0"
684 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.0.tgz#0de1787a77206c5a79eeb634a623d39b5006ce92"
685 | integrity sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==
686 | optionalDependencies:
687 | "@esbuild/aix-ppc64" "0.25.0"
688 | "@esbuild/android-arm" "0.25.0"
689 | "@esbuild/android-arm64" "0.25.0"
690 | "@esbuild/android-x64" "0.25.0"
691 | "@esbuild/darwin-arm64" "0.25.0"
692 | "@esbuild/darwin-x64" "0.25.0"
693 | "@esbuild/freebsd-arm64" "0.25.0"
694 | "@esbuild/freebsd-x64" "0.25.0"
695 | "@esbuild/linux-arm" "0.25.0"
696 | "@esbuild/linux-arm64" "0.25.0"
697 | "@esbuild/linux-ia32" "0.25.0"
698 | "@esbuild/linux-loong64" "0.25.0"
699 | "@esbuild/linux-mips64el" "0.25.0"
700 | "@esbuild/linux-ppc64" "0.25.0"
701 | "@esbuild/linux-riscv64" "0.25.0"
702 | "@esbuild/linux-s390x" "0.25.0"
703 | "@esbuild/linux-x64" "0.25.0"
704 | "@esbuild/netbsd-arm64" "0.25.0"
705 | "@esbuild/netbsd-x64" "0.25.0"
706 | "@esbuild/openbsd-arm64" "0.25.0"
707 | "@esbuild/openbsd-x64" "0.25.0"
708 | "@esbuild/sunos-x64" "0.25.0"
709 | "@esbuild/win32-arm64" "0.25.0"
710 | "@esbuild/win32-ia32" "0.25.0"
711 | "@esbuild/win32-x64" "0.25.0"
712 |
713 | escape-string-regexp@^1.0.5:
714 | version "1.0.5"
715 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
716 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
717 |
718 | escape-string-regexp@^4.0.0:
719 | version "4.0.0"
720 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
721 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
722 |
723 | eslint-config-prettier@^8.8.0:
724 | version "8.8.0"
725 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348"
726 | integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==
727 |
728 | eslint-config-standard@^17.1.0:
729 | version "17.1.0"
730 | resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#40ffb8595d47a6b242e07cbfd49dc211ed128975"
731 | integrity sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==
732 |
733 | eslint-import-resolver-node@^0.3.7:
734 | version "0.3.7"
735 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7"
736 | integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==
737 | dependencies:
738 | debug "^3.2.7"
739 | is-core-module "^2.11.0"
740 | resolve "^1.22.1"
741 |
742 | eslint-module-utils@^2.7.4:
743 | version "2.8.0"
744 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
745 | integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
746 | dependencies:
747 | debug "^3.2.7"
748 |
749 | eslint-plugin-es-x@^7.1.0:
750 | version "7.1.0"
751 | resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.1.0.tgz#f0d5421e658cca95c1cfb2355831851bdc83322d"
752 | integrity sha512-AhiaF31syh4CCQ+C5ccJA0VG6+kJK8+5mXKKE7Qs1xcPRg02CDPOj3mWlQxuWS/AYtg7kxrDNgW9YW3vc0Q+Mw==
753 | dependencies:
754 | "@eslint-community/eslint-utils" "^4.1.2"
755 | "@eslint-community/regexpp" "^4.5.0"
756 |
757 | eslint-plugin-import@^2.27.5:
758 | version "2.27.5"
759 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65"
760 | integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==
761 | dependencies:
762 | array-includes "^3.1.6"
763 | array.prototype.flat "^1.3.1"
764 | array.prototype.flatmap "^1.3.1"
765 | debug "^3.2.7"
766 | doctrine "^2.1.0"
767 | eslint-import-resolver-node "^0.3.7"
768 | eslint-module-utils "^2.7.4"
769 | has "^1.0.3"
770 | is-core-module "^2.11.0"
771 | is-glob "^4.0.3"
772 | minimatch "^3.1.2"
773 | object.values "^1.1.6"
774 | resolve "^1.22.1"
775 | semver "^6.3.0"
776 | tsconfig-paths "^3.14.1"
777 |
778 | eslint-plugin-n@^16.0.1:
779 | version "16.0.1"
780 | resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.0.1.tgz#baa62bb3af52940a53ba15386348ad9b0b425ada"
781 | integrity sha512-CDmHegJN0OF3L5cz5tATH84RPQm9kG+Yx39wIqIwPR2C0uhBGMWfbbOtetR83PQjjidA5aXMu+LEFw1jaSwvTA==
782 | dependencies:
783 | "@eslint-community/eslint-utils" "^4.4.0"
784 | builtins "^5.0.1"
785 | eslint-plugin-es-x "^7.1.0"
786 | ignore "^5.2.4"
787 | is-core-module "^2.12.1"
788 | minimatch "^3.1.2"
789 | resolve "^1.22.2"
790 | semver "^7.5.3"
791 |
792 | eslint-plugin-promise@^6.1.1:
793 | version "6.1.1"
794 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816"
795 | integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==
796 |
797 | eslint-scope@^7.2.0:
798 | version "7.2.0"
799 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
800 | integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
801 | dependencies:
802 | esrecurse "^4.3.0"
803 | estraverse "^5.2.0"
804 |
805 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
806 | version "3.4.1"
807 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
808 | integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
809 |
810 | eslint@^8.44.0:
811 | version "8.44.0"
812 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.44.0.tgz#51246e3889b259bbcd1d7d736a0c10add4f0e500"
813 | integrity sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==
814 | dependencies:
815 | "@eslint-community/eslint-utils" "^4.2.0"
816 | "@eslint-community/regexpp" "^4.4.0"
817 | "@eslint/eslintrc" "^2.1.0"
818 | "@eslint/js" "8.44.0"
819 | "@humanwhocodes/config-array" "^0.11.10"
820 | "@humanwhocodes/module-importer" "^1.0.1"
821 | "@nodelib/fs.walk" "^1.2.8"
822 | ajv "^6.10.0"
823 | chalk "^4.0.0"
824 | cross-spawn "^7.0.2"
825 | debug "^4.3.2"
826 | doctrine "^3.0.0"
827 | escape-string-regexp "^4.0.0"
828 | eslint-scope "^7.2.0"
829 | eslint-visitor-keys "^3.4.1"
830 | espree "^9.6.0"
831 | esquery "^1.4.2"
832 | esutils "^2.0.2"
833 | fast-deep-equal "^3.1.3"
834 | file-entry-cache "^6.0.1"
835 | find-up "^5.0.0"
836 | glob-parent "^6.0.2"
837 | globals "^13.19.0"
838 | graphemer "^1.4.0"
839 | ignore "^5.2.0"
840 | import-fresh "^3.0.0"
841 | imurmurhash "^0.1.4"
842 | is-glob "^4.0.0"
843 | is-path-inside "^3.0.3"
844 | js-yaml "^4.1.0"
845 | json-stable-stringify-without-jsonify "^1.0.1"
846 | levn "^0.4.1"
847 | lodash.merge "^4.6.2"
848 | minimatch "^3.1.2"
849 | natural-compare "^1.4.0"
850 | optionator "^0.9.3"
851 | strip-ansi "^6.0.1"
852 | strip-json-comments "^3.1.0"
853 | text-table "^0.2.0"
854 |
855 | espree@^9.6.0:
856 | version "9.6.0"
857 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.0.tgz#80869754b1c6560f32e3b6929194a3fe07c5b82f"
858 | integrity sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==
859 | dependencies:
860 | acorn "^8.9.0"
861 | acorn-jsx "^5.3.2"
862 | eslint-visitor-keys "^3.4.1"
863 |
864 | esquery@^1.4.2:
865 | version "1.5.0"
866 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
867 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
868 | dependencies:
869 | estraverse "^5.1.0"
870 |
871 | esrecurse@^4.3.0:
872 | version "4.3.0"
873 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
874 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
875 | dependencies:
876 | estraverse "^5.2.0"
877 |
878 | estraverse@^5.1.0, estraverse@^5.2.0:
879 | version "5.3.0"
880 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
881 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
882 |
883 | esutils@^2.0.2:
884 | version "2.0.3"
885 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
886 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
887 |
888 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
889 | version "3.1.3"
890 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
891 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
892 |
893 | fast-glob@^3.2.9, fast-glob@^3.3.0:
894 | version "3.3.0"
895 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0"
896 | integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==
897 | dependencies:
898 | "@nodelib/fs.stat" "^2.0.2"
899 | "@nodelib/fs.walk" "^1.2.3"
900 | glob-parent "^5.1.2"
901 | merge2 "^1.3.0"
902 | micromatch "^4.0.4"
903 |
904 | fast-json-stable-stringify@^2.0.0:
905 | version "2.1.0"
906 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
907 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
908 |
909 | fast-levenshtein@^2.0.6:
910 | version "2.0.6"
911 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
912 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
913 |
914 | fastest-levenshtein@^1.0.16:
915 | version "1.0.16"
916 | resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5"
917 | integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==
918 |
919 | fastq@^1.6.0:
920 | version "1.15.0"
921 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
922 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
923 | dependencies:
924 | reusify "^1.0.4"
925 |
926 | file-entry-cache@^6.0.1:
927 | version "6.0.1"
928 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
929 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
930 | dependencies:
931 | flat-cache "^3.0.4"
932 |
933 | fill-range@^7.1.1:
934 | version "7.1.1"
935 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
936 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
937 | dependencies:
938 | to-regex-range "^5.0.1"
939 |
940 | find-up@^5.0.0:
941 | version "5.0.0"
942 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
943 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
944 | dependencies:
945 | locate-path "^6.0.0"
946 | path-exists "^4.0.0"
947 |
948 | flat-cache@^3.0.4:
949 | version "3.0.4"
950 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
951 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
952 | dependencies:
953 | flatted "^3.1.0"
954 | rimraf "^3.0.2"
955 |
956 | flatted@^3.1.0:
957 | version "3.2.7"
958 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
959 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
960 |
961 | for-each@^0.3.3:
962 | version "0.3.3"
963 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
964 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
965 | dependencies:
966 | is-callable "^1.1.3"
967 |
968 | fs.realpath@^1.0.0:
969 | version "1.0.0"
970 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
971 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
972 |
973 | fsevents@2.3.2:
974 | version "2.3.2"
975 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
976 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
977 |
978 | function-bind@^1.1.1:
979 | version "1.1.1"
980 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
981 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
982 |
983 | function.prototype.name@^1.1.5:
984 | version "1.1.5"
985 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
986 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
987 | dependencies:
988 | call-bind "^1.0.2"
989 | define-properties "^1.1.3"
990 | es-abstract "^1.19.0"
991 | functions-have-names "^1.2.2"
992 |
993 | functions-have-names@^1.2.2, functions-have-names@^1.2.3:
994 | version "1.2.3"
995 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
996 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
997 |
998 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:
999 | version "1.2.1"
1000 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82"
1001 | integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==
1002 | dependencies:
1003 | function-bind "^1.1.1"
1004 | has "^1.0.3"
1005 | has-proto "^1.0.1"
1006 | has-symbols "^1.0.3"
1007 |
1008 | get-symbol-description@^1.0.0:
1009 | version "1.0.0"
1010 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
1011 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
1012 | dependencies:
1013 | call-bind "^1.0.2"
1014 | get-intrinsic "^1.1.1"
1015 |
1016 | glob-parent@^5.1.2:
1017 | version "5.1.2"
1018 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
1019 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1020 | dependencies:
1021 | is-glob "^4.0.1"
1022 |
1023 | glob-parent@^6.0.2:
1024 | version "6.0.2"
1025 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
1026 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
1027 | dependencies:
1028 | is-glob "^4.0.3"
1029 |
1030 | glob@^7.1.3:
1031 | version "7.2.3"
1032 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
1033 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
1034 | dependencies:
1035 | fs.realpath "^1.0.0"
1036 | inflight "^1.0.4"
1037 | inherits "2"
1038 | minimatch "^3.1.1"
1039 | once "^1.3.0"
1040 | path-is-absolute "^1.0.0"
1041 |
1042 | global-modules@^2.0.0:
1043 | version "2.0.0"
1044 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
1045 | integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
1046 | dependencies:
1047 | global-prefix "^3.0.0"
1048 |
1049 | global-prefix@^3.0.0:
1050 | version "3.0.0"
1051 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
1052 | integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
1053 | dependencies:
1054 | ini "^1.3.5"
1055 | kind-of "^6.0.2"
1056 | which "^1.3.1"
1057 |
1058 | globals@^13.19.0:
1059 | version "13.20.0"
1060 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
1061 | integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
1062 | dependencies:
1063 | type-fest "^0.20.2"
1064 |
1065 | globalthis@^1.0.3:
1066 | version "1.0.3"
1067 | resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
1068 | integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
1069 | dependencies:
1070 | define-properties "^1.1.3"
1071 |
1072 | globby@^11.1.0:
1073 | version "11.1.0"
1074 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
1075 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
1076 | dependencies:
1077 | array-union "^2.1.0"
1078 | dir-glob "^3.0.1"
1079 | fast-glob "^3.2.9"
1080 | ignore "^5.2.0"
1081 | merge2 "^1.4.1"
1082 | slash "^3.0.0"
1083 |
1084 | globjoin@^0.1.4:
1085 | version "0.1.4"
1086 | resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43"
1087 | integrity sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==
1088 |
1089 | gopd@^1.0.1:
1090 | version "1.0.1"
1091 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
1092 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
1093 | dependencies:
1094 | get-intrinsic "^1.1.3"
1095 |
1096 | graphemer@^1.4.0:
1097 | version "1.4.0"
1098 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
1099 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
1100 |
1101 | hard-rejection@^2.1.0:
1102 | version "2.1.0"
1103 | resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
1104 | integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
1105 |
1106 | has-bigints@^1.0.1, has-bigints@^1.0.2:
1107 | version "1.0.2"
1108 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
1109 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
1110 |
1111 | has-flag@^3.0.0:
1112 | version "3.0.0"
1113 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1114 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
1115 |
1116 | has-flag@^4.0.0:
1117 | version "4.0.0"
1118 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1119 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1120 |
1121 | has-property-descriptors@^1.0.0:
1122 | version "1.0.0"
1123 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
1124 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==
1125 | dependencies:
1126 | get-intrinsic "^1.1.1"
1127 |
1128 | has-proto@^1.0.1:
1129 | version "1.0.1"
1130 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
1131 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
1132 |
1133 | has-symbols@^1.0.2, has-symbols@^1.0.3:
1134 | version "1.0.3"
1135 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
1136 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
1137 |
1138 | has-tostringtag@^1.0.0:
1139 | version "1.0.0"
1140 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
1141 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
1142 | dependencies:
1143 | has-symbols "^1.0.2"
1144 |
1145 | has@^1.0.3:
1146 | version "1.0.3"
1147 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1148 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1149 | dependencies:
1150 | function-bind "^1.1.1"
1151 |
1152 | hosted-git-info@^4.0.1:
1153 | version "4.1.0"
1154 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
1155 | integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
1156 | dependencies:
1157 | lru-cache "^6.0.0"
1158 |
1159 | html-tags@^3.3.1:
1160 | version "3.3.1"
1161 | resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce"
1162 | integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
1163 |
1164 | ignore@^5.2.0, ignore@^5.2.4:
1165 | version "5.2.4"
1166 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
1167 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
1168 |
1169 | import-fresh@^3.0.0, import-fresh@^3.2.1:
1170 | version "3.3.0"
1171 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
1172 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1173 | dependencies:
1174 | parent-module "^1.0.0"
1175 | resolve-from "^4.0.0"
1176 |
1177 | import-lazy@^4.0.0:
1178 | version "4.0.0"
1179 | resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153"
1180 | integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==
1181 |
1182 | imurmurhash@^0.1.4:
1183 | version "0.1.4"
1184 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1185 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
1186 |
1187 | indent-string@^5.0.0:
1188 | version "5.0.0"
1189 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5"
1190 | integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==
1191 |
1192 | inflight@^1.0.4:
1193 | version "1.0.6"
1194 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1195 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
1196 | dependencies:
1197 | once "^1.3.0"
1198 | wrappy "1"
1199 |
1200 | inherits@2:
1201 | version "2.0.4"
1202 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1203 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1204 |
1205 | ini@^1.3.5:
1206 | version "1.3.8"
1207 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
1208 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
1209 |
1210 | internal-slot@^1.0.5:
1211 | version "1.0.5"
1212 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
1213 | integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
1214 | dependencies:
1215 | get-intrinsic "^1.2.0"
1216 | has "^1.0.3"
1217 | side-channel "^1.0.4"
1218 |
1219 | is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
1220 | version "3.0.2"
1221 | resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
1222 | integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
1223 | dependencies:
1224 | call-bind "^1.0.2"
1225 | get-intrinsic "^1.2.0"
1226 | is-typed-array "^1.1.10"
1227 |
1228 | is-arrayish@^0.2.1:
1229 | version "0.2.1"
1230 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1231 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
1232 |
1233 | is-bigint@^1.0.1:
1234 | version "1.0.4"
1235 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
1236 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
1237 | dependencies:
1238 | has-bigints "^1.0.1"
1239 |
1240 | is-boolean-object@^1.1.0:
1241 | version "1.1.2"
1242 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
1243 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
1244 | dependencies:
1245 | call-bind "^1.0.2"
1246 | has-tostringtag "^1.0.0"
1247 |
1248 | is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
1249 | version "1.2.7"
1250 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
1251 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
1252 |
1253 | is-core-module@^2.11.0, is-core-module@^2.12.1, is-core-module@^2.5.0:
1254 | version "2.12.1"
1255 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
1256 | integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
1257 | dependencies:
1258 | has "^1.0.3"
1259 |
1260 | is-date-object@^1.0.1:
1261 | version "1.0.5"
1262 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
1263 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
1264 | dependencies:
1265 | has-tostringtag "^1.0.0"
1266 |
1267 | is-extglob@^2.1.1:
1268 | version "2.1.1"
1269 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1270 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
1271 |
1272 | is-fullwidth-code-point@^3.0.0:
1273 | version "3.0.0"
1274 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1275 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1276 |
1277 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
1278 | version "4.0.3"
1279 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
1280 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
1281 | dependencies:
1282 | is-extglob "^2.1.1"
1283 |
1284 | is-negative-zero@^2.0.2:
1285 | version "2.0.2"
1286 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
1287 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
1288 |
1289 | is-number-object@^1.0.4:
1290 | version "1.0.7"
1291 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
1292 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
1293 | dependencies:
1294 | has-tostringtag "^1.0.0"
1295 |
1296 | is-number@^7.0.0:
1297 | version "7.0.0"
1298 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1299 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1300 |
1301 | is-path-inside@^3.0.3:
1302 | version "3.0.3"
1303 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
1304 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
1305 |
1306 | is-plain-obj@^1.1.0:
1307 | version "1.1.0"
1308 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
1309 | integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
1310 |
1311 | is-plain-object@^5.0.0:
1312 | version "5.0.0"
1313 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
1314 | integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
1315 |
1316 | is-regex@^1.1.4:
1317 | version "1.1.4"
1318 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
1319 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
1320 | dependencies:
1321 | call-bind "^1.0.2"
1322 | has-tostringtag "^1.0.0"
1323 |
1324 | is-shared-array-buffer@^1.0.2:
1325 | version "1.0.2"
1326 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
1327 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
1328 | dependencies:
1329 | call-bind "^1.0.2"
1330 |
1331 | is-string@^1.0.5, is-string@^1.0.7:
1332 | version "1.0.7"
1333 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
1334 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
1335 | dependencies:
1336 | has-tostringtag "^1.0.0"
1337 |
1338 | is-symbol@^1.0.2, is-symbol@^1.0.3:
1339 | version "1.0.4"
1340 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
1341 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
1342 | dependencies:
1343 | has-symbols "^1.0.2"
1344 |
1345 | is-typed-array@^1.1.10, is-typed-array@^1.1.9:
1346 | version "1.1.10"
1347 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
1348 | integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
1349 | dependencies:
1350 | available-typed-arrays "^1.0.5"
1351 | call-bind "^1.0.2"
1352 | for-each "^0.3.3"
1353 | gopd "^1.0.1"
1354 | has-tostringtag "^1.0.0"
1355 |
1356 | is-weakref@^1.0.2:
1357 | version "1.0.2"
1358 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
1359 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
1360 | dependencies:
1361 | call-bind "^1.0.2"
1362 |
1363 | isexe@^2.0.0:
1364 | version "2.0.0"
1365 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1366 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
1367 |
1368 | js-tokens@^4.0.0:
1369 | version "4.0.0"
1370 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1371 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1372 |
1373 | js-yaml@^4.1.0:
1374 | version "4.1.0"
1375 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
1376 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
1377 | dependencies:
1378 | argparse "^2.0.1"
1379 |
1380 | json-parse-even-better-errors@^2.3.0:
1381 | version "2.3.1"
1382 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
1383 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
1384 |
1385 | json-schema-traverse@^0.4.1:
1386 | version "0.4.1"
1387 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1388 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1389 |
1390 | json-schema-traverse@^1.0.0:
1391 | version "1.0.0"
1392 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
1393 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
1394 |
1395 | json-stable-stringify-without-jsonify@^1.0.1:
1396 | version "1.0.1"
1397 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1398 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
1399 |
1400 | json5@^1.0.2:
1401 | version "1.0.2"
1402 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
1403 | integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
1404 | dependencies:
1405 | minimist "^1.2.0"
1406 |
1407 | kind-of@^6.0.2, kind-of@^6.0.3:
1408 | version "6.0.3"
1409 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
1410 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
1411 |
1412 | known-css-properties@^0.27.0:
1413 | version "0.27.0"
1414 | resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.27.0.tgz#82a9358dda5fe7f7bd12b5e7142c0a205393c0c5"
1415 | integrity sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==
1416 |
1417 | levn@^0.4.1:
1418 | version "0.4.1"
1419 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1420 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1421 | dependencies:
1422 | prelude-ls "^1.2.1"
1423 | type-check "~0.4.0"
1424 |
1425 | lines-and-columns@^1.1.6:
1426 | version "1.2.4"
1427 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
1428 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
1429 |
1430 | locate-path@^6.0.0:
1431 | version "6.0.0"
1432 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
1433 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
1434 | dependencies:
1435 | p-locate "^5.0.0"
1436 |
1437 | lodash.merge@^4.6.2:
1438 | version "4.6.2"
1439 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1440 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1441 |
1442 | lodash.truncate@^4.4.2:
1443 | version "4.4.2"
1444 | resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
1445 | integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
1446 |
1447 | lru-cache@^6.0.0:
1448 | version "6.0.0"
1449 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1450 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1451 | dependencies:
1452 | yallist "^4.0.0"
1453 |
1454 | map-obj@^1.0.0:
1455 | version "1.0.1"
1456 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
1457 | integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==
1458 |
1459 | map-obj@^4.1.0:
1460 | version "4.3.0"
1461 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
1462 | integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
1463 |
1464 | mathml-tag-names@^2.1.3:
1465 | version "2.1.3"
1466 | resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
1467 | integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
1468 |
1469 | mdn-data@2.0.30:
1470 | version "2.0.30"
1471 | resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
1472 | integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
1473 |
1474 | meow@^10.1.5:
1475 | version "10.1.5"
1476 | resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.5.tgz#be52a1d87b5f5698602b0f32875ee5940904aa7f"
1477 | integrity sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==
1478 | dependencies:
1479 | "@types/minimist" "^1.2.2"
1480 | camelcase-keys "^7.0.0"
1481 | decamelize "^5.0.0"
1482 | decamelize-keys "^1.1.0"
1483 | hard-rejection "^2.1.0"
1484 | minimist-options "4.1.0"
1485 | normalize-package-data "^3.0.2"
1486 | read-pkg-up "^8.0.0"
1487 | redent "^4.0.0"
1488 | trim-newlines "^4.0.2"
1489 | type-fest "^1.2.2"
1490 | yargs-parser "^20.2.9"
1491 |
1492 | merge2@^1.3.0, merge2@^1.4.1:
1493 | version "1.4.1"
1494 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
1495 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1496 |
1497 | micromatch@^4.0.4, micromatch@^4.0.5:
1498 | version "4.0.8"
1499 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
1500 | integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
1501 | dependencies:
1502 | braces "^3.0.3"
1503 | picomatch "^2.3.1"
1504 |
1505 | min-indent@^1.0.1:
1506 | version "1.0.1"
1507 | resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
1508 | integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
1509 |
1510 | minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
1511 | version "3.1.2"
1512 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
1513 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1514 | dependencies:
1515 | brace-expansion "^1.1.7"
1516 |
1517 | minimist-options@4.1.0:
1518 | version "4.1.0"
1519 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
1520 | integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
1521 | dependencies:
1522 | arrify "^1.0.1"
1523 | is-plain-obj "^1.1.0"
1524 | kind-of "^6.0.3"
1525 |
1526 | minimist@^1.2.0, minimist@^1.2.6:
1527 | version "1.2.8"
1528 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
1529 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
1530 |
1531 | ms@2.1.2:
1532 | version "2.1.2"
1533 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1534 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1535 |
1536 | ms@^2.1.1:
1537 | version "2.1.3"
1538 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
1539 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
1540 |
1541 | nanoid@^3.3.6:
1542 | version "3.3.8"
1543 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
1544 | integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
1545 |
1546 | natural-compare@^1.4.0:
1547 | version "1.4.0"
1548 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1549 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
1550 |
1551 | normalize-package-data@^3.0.2:
1552 | version "3.0.3"
1553 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
1554 | integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
1555 | dependencies:
1556 | hosted-git-info "^4.0.1"
1557 | is-core-module "^2.5.0"
1558 | semver "^7.3.4"
1559 | validate-npm-package-license "^3.0.1"
1560 |
1561 | normalize-path@^3.0.0:
1562 | version "3.0.0"
1563 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1564 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1565 |
1566 | object-inspect@^1.12.3, object-inspect@^1.9.0:
1567 | version "1.12.3"
1568 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
1569 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
1570 |
1571 | object-keys@^1.1.1:
1572 | version "1.1.1"
1573 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
1574 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
1575 |
1576 | object.assign@^4.1.4:
1577 | version "4.1.4"
1578 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
1579 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
1580 | dependencies:
1581 | call-bind "^1.0.2"
1582 | define-properties "^1.1.4"
1583 | has-symbols "^1.0.3"
1584 | object-keys "^1.1.1"
1585 |
1586 | object.values@^1.1.6:
1587 | version "1.1.6"
1588 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
1589 | integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==
1590 | dependencies:
1591 | call-bind "^1.0.2"
1592 | define-properties "^1.1.4"
1593 | es-abstract "^1.20.4"
1594 |
1595 | once@^1.3.0:
1596 | version "1.4.0"
1597 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1598 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
1599 | dependencies:
1600 | wrappy "1"
1601 |
1602 | optionator@^0.9.3:
1603 | version "0.9.3"
1604 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
1605 | integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
1606 | dependencies:
1607 | "@aashutoshrathi/word-wrap" "^1.2.3"
1608 | deep-is "^0.1.3"
1609 | fast-levenshtein "^2.0.6"
1610 | levn "^0.4.1"
1611 | prelude-ls "^1.2.1"
1612 | type-check "^0.4.0"
1613 |
1614 | p-limit@^3.0.2:
1615 | version "3.1.0"
1616 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
1617 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
1618 | dependencies:
1619 | yocto-queue "^0.1.0"
1620 |
1621 | p-locate@^5.0.0:
1622 | version "5.0.0"
1623 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
1624 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
1625 | dependencies:
1626 | p-limit "^3.0.2"
1627 |
1628 | parent-module@^1.0.0:
1629 | version "1.0.1"
1630 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1631 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1632 | dependencies:
1633 | callsites "^3.0.0"
1634 |
1635 | parse-json@^5.0.0, parse-json@^5.2.0:
1636 | version "5.2.0"
1637 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
1638 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
1639 | dependencies:
1640 | "@babel/code-frame" "^7.0.0"
1641 | error-ex "^1.3.1"
1642 | json-parse-even-better-errors "^2.3.0"
1643 | lines-and-columns "^1.1.6"
1644 |
1645 | path-exists@^4.0.0:
1646 | version "4.0.0"
1647 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
1648 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1649 |
1650 | path-is-absolute@^1.0.0:
1651 | version "1.0.1"
1652 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1653 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
1654 |
1655 | path-key@^3.1.0:
1656 | version "3.1.1"
1657 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1658 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1659 |
1660 | path-parse@^1.0.7:
1661 | version "1.0.7"
1662 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1663 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1664 |
1665 | path-type@^4.0.0:
1666 | version "4.0.0"
1667 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
1668 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1669 |
1670 | picocolors@^1.0.0:
1671 | version "1.0.0"
1672 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
1673 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
1674 |
1675 | picomatch@^2.3.1:
1676 | version "2.3.1"
1677 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
1678 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
1679 |
1680 | playwright-core@1.35.1:
1681 | version "1.35.1"
1682 | resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.35.1.tgz#52c1e6ffaa6a8c29de1a5bdf8cce0ce290ffb81d"
1683 | integrity sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==
1684 |
1685 | postcss-resolve-nested-selector@^0.1.1:
1686 | version "0.1.1"
1687 | resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e"
1688 | integrity sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==
1689 |
1690 | postcss-safe-parser@^6.0.0:
1691 | version "6.0.0"
1692 | resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1"
1693 | integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==
1694 |
1695 | postcss-selector-parser@^6.0.13:
1696 | version "6.0.13"
1697 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
1698 | integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
1699 | dependencies:
1700 | cssesc "^3.0.0"
1701 | util-deprecate "^1.0.2"
1702 |
1703 | postcss-value-parser@^4.2.0:
1704 | version "4.2.0"
1705 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
1706 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
1707 |
1708 | postcss@^8.4.24:
1709 | version "8.4.31"
1710 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
1711 | integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
1712 | dependencies:
1713 | nanoid "^3.3.6"
1714 | picocolors "^1.0.0"
1715 | source-map-js "^1.0.2"
1716 |
1717 | prelude-ls@^1.2.1:
1718 | version "1.2.1"
1719 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1720 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
1721 |
1722 | prettier@^3.0.0:
1723 | version "3.0.0"
1724 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.0.tgz#e7b19f691245a21d618c68bc54dc06122f6105ae"
1725 | integrity sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==
1726 |
1727 | punycode@^2.1.0:
1728 | version "2.3.0"
1729 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
1730 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
1731 |
1732 | queue-microtask@^1.2.2:
1733 | version "1.2.3"
1734 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1735 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1736 |
1737 | quick-lru@^5.1.1:
1738 | version "5.1.1"
1739 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
1740 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
1741 |
1742 | read-pkg-up@^8.0.0:
1743 | version "8.0.0"
1744 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-8.0.0.tgz#72f595b65e66110f43b052dd9af4de6b10534670"
1745 | integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==
1746 | dependencies:
1747 | find-up "^5.0.0"
1748 | read-pkg "^6.0.0"
1749 | type-fest "^1.0.1"
1750 |
1751 | read-pkg@^6.0.0:
1752 | version "6.0.0"
1753 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-6.0.0.tgz#a67a7d6a1c2b0c3cd6aa2ea521f40c458a4a504c"
1754 | integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==
1755 | dependencies:
1756 | "@types/normalize-package-data" "^2.4.0"
1757 | normalize-package-data "^3.0.2"
1758 | parse-json "^5.2.0"
1759 | type-fest "^1.0.1"
1760 |
1761 | redent@^4.0.0:
1762 | version "4.0.0"
1763 | resolved "https://registry.yarnpkg.com/redent/-/redent-4.0.0.tgz#0c0ba7caabb24257ab3bb7a4fd95dd1d5c5681f9"
1764 | integrity sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==
1765 | dependencies:
1766 | indent-string "^5.0.0"
1767 | strip-indent "^4.0.0"
1768 |
1769 | regexp.prototype.flags@^1.4.3:
1770 | version "1.5.0"
1771 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
1772 | integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
1773 | dependencies:
1774 | call-bind "^1.0.2"
1775 | define-properties "^1.2.0"
1776 | functions-have-names "^1.2.3"
1777 |
1778 | require-from-string@^2.0.2:
1779 | version "2.0.2"
1780 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
1781 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
1782 |
1783 | resolve-from@^4.0.0:
1784 | version "4.0.0"
1785 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1786 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1787 |
1788 | resolve-from@^5.0.0:
1789 | version "5.0.0"
1790 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
1791 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
1792 |
1793 | resolve@^1.22.1, resolve@^1.22.2:
1794 | version "1.22.2"
1795 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
1796 | integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
1797 | dependencies:
1798 | is-core-module "^2.11.0"
1799 | path-parse "^1.0.7"
1800 | supports-preserve-symlinks-flag "^1.0.0"
1801 |
1802 | reusify@^1.0.4:
1803 | version "1.0.4"
1804 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1805 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1806 |
1807 | rimraf@^3.0.2:
1808 | version "3.0.2"
1809 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1810 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1811 | dependencies:
1812 | glob "^7.1.3"
1813 |
1814 | run-parallel@^1.1.9:
1815 | version "1.2.0"
1816 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1817 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1818 | dependencies:
1819 | queue-microtask "^1.2.2"
1820 |
1821 | safe-regex-test@^1.0.0:
1822 | version "1.0.0"
1823 | resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
1824 | integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
1825 | dependencies:
1826 | call-bind "^1.0.2"
1827 | get-intrinsic "^1.1.3"
1828 | is-regex "^1.1.4"
1829 |
1830 | semver@^6.3.0:
1831 | version "6.3.1"
1832 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
1833 | integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
1834 |
1835 | semver@^7.0.0, semver@^7.3.4, semver@^7.5.3:
1836 | version "7.5.4"
1837 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
1838 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
1839 | dependencies:
1840 | lru-cache "^6.0.0"
1841 |
1842 | shebang-command@^2.0.0:
1843 | version "2.0.0"
1844 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1845 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1846 | dependencies:
1847 | shebang-regex "^3.0.0"
1848 |
1849 | shebang-regex@^3.0.0:
1850 | version "3.0.0"
1851 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1852 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1853 |
1854 | side-channel@^1.0.4:
1855 | version "1.0.4"
1856 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
1857 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
1858 | dependencies:
1859 | call-bind "^1.0.0"
1860 | get-intrinsic "^1.0.2"
1861 | object-inspect "^1.9.0"
1862 |
1863 | signal-exit@^4.0.1:
1864 | version "4.0.2"
1865 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967"
1866 | integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==
1867 |
1868 | slash@^3.0.0:
1869 | version "3.0.0"
1870 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
1871 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
1872 |
1873 | slice-ansi@^4.0.0:
1874 | version "4.0.0"
1875 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
1876 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
1877 | dependencies:
1878 | ansi-styles "^4.0.0"
1879 | astral-regex "^2.0.0"
1880 | is-fullwidth-code-point "^3.0.0"
1881 |
1882 | source-map-js@^1.0.1, source-map-js@^1.0.2:
1883 | version "1.0.2"
1884 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1885 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1886 |
1887 | spdx-correct@^3.0.0:
1888 | version "3.2.0"
1889 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c"
1890 | integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==
1891 | dependencies:
1892 | spdx-expression-parse "^3.0.0"
1893 | spdx-license-ids "^3.0.0"
1894 |
1895 | spdx-exceptions@^2.1.0:
1896 | version "2.3.0"
1897 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
1898 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
1899 |
1900 | spdx-expression-parse@^3.0.0:
1901 | version "3.0.1"
1902 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
1903 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
1904 | dependencies:
1905 | spdx-exceptions "^2.1.0"
1906 | spdx-license-ids "^3.0.0"
1907 |
1908 | spdx-license-ids@^3.0.0:
1909 | version "3.0.13"
1910 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5"
1911 | integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==
1912 |
1913 | string-width@^4.2.3:
1914 | version "4.2.3"
1915 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1916 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
1917 | dependencies:
1918 | emoji-regex "^8.0.0"
1919 | is-fullwidth-code-point "^3.0.0"
1920 | strip-ansi "^6.0.1"
1921 |
1922 | string.prototype.trim@^1.2.7:
1923 | version "1.2.7"
1924 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533"
1925 | integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==
1926 | dependencies:
1927 | call-bind "^1.0.2"
1928 | define-properties "^1.1.4"
1929 | es-abstract "^1.20.4"
1930 |
1931 | string.prototype.trimend@^1.0.6:
1932 | version "1.0.6"
1933 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533"
1934 | integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
1935 | dependencies:
1936 | call-bind "^1.0.2"
1937 | define-properties "^1.1.4"
1938 | es-abstract "^1.20.4"
1939 |
1940 | string.prototype.trimstart@^1.0.6:
1941 | version "1.0.6"
1942 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
1943 | integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
1944 | dependencies:
1945 | call-bind "^1.0.2"
1946 | define-properties "^1.1.4"
1947 | es-abstract "^1.20.4"
1948 |
1949 | strip-ansi@^6.0.1:
1950 | version "6.0.1"
1951 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1952 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1953 | dependencies:
1954 | ansi-regex "^5.0.1"
1955 |
1956 | strip-bom@^3.0.0:
1957 | version "3.0.0"
1958 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
1959 | integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
1960 |
1961 | strip-indent@^4.0.0:
1962 | version "4.0.0"
1963 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-4.0.0.tgz#b41379433dd06f5eae805e21d631e07ee670d853"
1964 | integrity sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==
1965 | dependencies:
1966 | min-indent "^1.0.1"
1967 |
1968 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
1969 | version "3.1.1"
1970 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1971 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1972 |
1973 | style-search@^0.1.0:
1974 | version "0.1.0"
1975 | resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
1976 | integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==
1977 |
1978 | stylelint-config-recommended@^13.0.0:
1979 | version "13.0.0"
1980 | resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz#c48a358cc46b629ea01f22db60b351f703e00597"
1981 | integrity sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==
1982 |
1983 | stylelint-config-standard@^34.0.0:
1984 | version "34.0.0"
1985 | resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz#309f3c48118a02aae262230c174282e40e766cf4"
1986 | integrity sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==
1987 | dependencies:
1988 | stylelint-config-recommended "^13.0.0"
1989 |
1990 | stylelint@^15.10.1:
1991 | version "15.10.1"
1992 | resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-15.10.1.tgz#93f189958687e330c106b010cbec0c41dcae506d"
1993 | integrity sha512-CYkzYrCFfA/gnOR+u9kJ1PpzwG10WLVnoxHDuBA/JiwGqdM9+yx9+ou6SE/y9YHtfv1mcLo06fdadHTOx4gBZQ==
1994 | dependencies:
1995 | "@csstools/css-parser-algorithms" "^2.3.0"
1996 | "@csstools/css-tokenizer" "^2.1.1"
1997 | "@csstools/media-query-list-parser" "^2.1.2"
1998 | "@csstools/selector-specificity" "^3.0.0"
1999 | balanced-match "^2.0.0"
2000 | colord "^2.9.3"
2001 | cosmiconfig "^8.2.0"
2002 | css-functions-list "^3.1.0"
2003 | css-tree "^2.3.1"
2004 | debug "^4.3.4"
2005 | fast-glob "^3.3.0"
2006 | fastest-levenshtein "^1.0.16"
2007 | file-entry-cache "^6.0.1"
2008 | global-modules "^2.0.0"
2009 | globby "^11.1.0"
2010 | globjoin "^0.1.4"
2011 | html-tags "^3.3.1"
2012 | ignore "^5.2.4"
2013 | import-lazy "^4.0.0"
2014 | imurmurhash "^0.1.4"
2015 | is-plain-object "^5.0.0"
2016 | known-css-properties "^0.27.0"
2017 | mathml-tag-names "^2.1.3"
2018 | meow "^10.1.5"
2019 | micromatch "^4.0.5"
2020 | normalize-path "^3.0.0"
2021 | picocolors "^1.0.0"
2022 | postcss "^8.4.24"
2023 | postcss-resolve-nested-selector "^0.1.1"
2024 | postcss-safe-parser "^6.0.0"
2025 | postcss-selector-parser "^6.0.13"
2026 | postcss-value-parser "^4.2.0"
2027 | resolve-from "^5.0.0"
2028 | string-width "^4.2.3"
2029 | strip-ansi "^6.0.1"
2030 | style-search "^0.1.0"
2031 | supports-hyperlinks "^3.0.0"
2032 | svg-tags "^1.0.0"
2033 | table "^6.8.1"
2034 | write-file-atomic "^5.0.1"
2035 |
2036 | stylis@^4.3.0:
2037 | version "4.3.0"
2038 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.0.tgz#abe305a669fc3d8777e10eefcfc73ad861c5588c"
2039 | integrity sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==
2040 |
2041 | supports-color@^5.3.0:
2042 | version "5.5.0"
2043 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
2044 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
2045 | dependencies:
2046 | has-flag "^3.0.0"
2047 |
2048 | supports-color@^7.0.0, supports-color@^7.1.0:
2049 | version "7.2.0"
2050 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
2051 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
2052 | dependencies:
2053 | has-flag "^4.0.0"
2054 |
2055 | supports-hyperlinks@^3.0.0:
2056 | version "3.0.0"
2057 | resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz#c711352a5c89070779b4dad54c05a2f14b15c94b"
2058 | integrity sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==
2059 | dependencies:
2060 | has-flag "^4.0.0"
2061 | supports-color "^7.0.0"
2062 |
2063 | supports-preserve-symlinks-flag@^1.0.0:
2064 | version "1.0.0"
2065 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
2066 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
2067 |
2068 | svg-tags@^1.0.0:
2069 | version "1.0.0"
2070 | resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
2071 | integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==
2072 |
2073 | table@^6.8.1:
2074 | version "6.8.1"
2075 | resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf"
2076 | integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==
2077 | dependencies:
2078 | ajv "^8.0.1"
2079 | lodash.truncate "^4.4.2"
2080 | slice-ansi "^4.0.0"
2081 | string-width "^4.2.3"
2082 | strip-ansi "^6.0.1"
2083 |
2084 | text-table@^0.2.0:
2085 | version "0.2.0"
2086 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
2087 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
2088 |
2089 | to-regex-range@^5.0.1:
2090 | version "5.0.1"
2091 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
2092 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
2093 | dependencies:
2094 | is-number "^7.0.0"
2095 |
2096 | trim-newlines@^4.0.2:
2097 | version "4.1.1"
2098 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125"
2099 | integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==
2100 |
2101 | tsconfig-paths@^3.14.1:
2102 | version "3.14.2"
2103 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088"
2104 | integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==
2105 | dependencies:
2106 | "@types/json5" "^0.0.29"
2107 | json5 "^1.0.2"
2108 | minimist "^1.2.6"
2109 | strip-bom "^3.0.0"
2110 |
2111 | type-check@^0.4.0, type-check@~0.4.0:
2112 | version "0.4.0"
2113 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
2114 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
2115 | dependencies:
2116 | prelude-ls "^1.2.1"
2117 |
2118 | type-fest@^0.20.2:
2119 | version "0.20.2"
2120 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
2121 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
2122 |
2123 | type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2:
2124 | version "1.4.0"
2125 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
2126 | integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
2127 |
2128 | typed-array-length@^1.0.4:
2129 | version "1.0.4"
2130 | resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
2131 | integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
2132 | dependencies:
2133 | call-bind "^1.0.2"
2134 | for-each "^0.3.3"
2135 | is-typed-array "^1.1.9"
2136 |
2137 | unbox-primitive@^1.0.2:
2138 | version "1.0.2"
2139 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
2140 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
2141 | dependencies:
2142 | call-bind "^1.0.2"
2143 | has-bigints "^1.0.2"
2144 | has-symbols "^1.0.3"
2145 | which-boxed-primitive "^1.0.2"
2146 |
2147 | uri-js@^4.2.2:
2148 | version "4.4.1"
2149 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
2150 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
2151 | dependencies:
2152 | punycode "^2.1.0"
2153 |
2154 | util-deprecate@^1.0.2:
2155 | version "1.0.2"
2156 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
2157 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
2158 |
2159 | validate-npm-package-license@^3.0.1:
2160 | version "3.0.4"
2161 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
2162 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
2163 | dependencies:
2164 | spdx-correct "^3.0.0"
2165 | spdx-expression-parse "^3.0.0"
2166 |
2167 | which-boxed-primitive@^1.0.2:
2168 | version "1.0.2"
2169 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
2170 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
2171 | dependencies:
2172 | is-bigint "^1.0.1"
2173 | is-boolean-object "^1.1.0"
2174 | is-number-object "^1.0.4"
2175 | is-string "^1.0.5"
2176 | is-symbol "^1.0.3"
2177 |
2178 | which-typed-array@^1.1.9:
2179 | version "1.1.9"
2180 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
2181 | integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
2182 | dependencies:
2183 | available-typed-arrays "^1.0.5"
2184 | call-bind "^1.0.2"
2185 | for-each "^0.3.3"
2186 | gopd "^1.0.1"
2187 | has-tostringtag "^1.0.0"
2188 | is-typed-array "^1.1.10"
2189 |
2190 | which@^1.3.1:
2191 | version "1.3.1"
2192 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
2193 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
2194 | dependencies:
2195 | isexe "^2.0.0"
2196 |
2197 | which@^2.0.1:
2198 | version "2.0.2"
2199 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
2200 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2201 | dependencies:
2202 | isexe "^2.0.0"
2203 |
2204 | wrappy@1:
2205 | version "1.0.2"
2206 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2207 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
2208 |
2209 | write-file-atomic@^5.0.1:
2210 | version "5.0.1"
2211 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7"
2212 | integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==
2213 | dependencies:
2214 | imurmurhash "^0.1.4"
2215 | signal-exit "^4.0.1"
2216 |
2217 | yallist@^4.0.0:
2218 | version "4.0.0"
2219 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
2220 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
2221 |
2222 | yargs-parser@^20.2.9:
2223 | version "20.2.9"
2224 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
2225 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
2226 |
2227 | yocto-queue@^0.1.0:
2228 | version "0.1.0"
2229 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
2230 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
2231 |
--------------------------------------------------------------------------------