├── .changeset
├── README.md
└── config.json
├── .github
├── FUNDING.yml
└── workflows
│ ├── main.yml
│ └── publish.yml
├── .gitignore
├── .prettierrc
├── .vscode
└── settings.json
├── CHANGELOG.md
├── README.md
├── package.json
├── pnpm-lock.yaml
├── src
├── components
│ ├── end
│ │ └── end.tsx
│ ├── field
│ │ └── field.tsx
│ ├── index.ts
│ ├── onboarding
│ │ └── onboarding.tsx
│ └── step
│ │ └── step.tsx
├── core
│ ├── constants
│ │ └── index.ts
│ ├── index.core.ts
│ ├── services
│ │ ├── core.service.ts
│ │ └── onboarding-context.ts
│ └── utils
│ │ ├── index.ts
│ │ └── snake-case.util.ts
└── index.ts
└── tsconfig.json
/.changeset/README.md:
--------------------------------------------------------------------------------
1 | # Changesets
2 |
3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4 | with multi-package repos, or single-package repos to help you version and publish your code. You can
5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6 |
7 | We have a quick list of common questions to get you started engaging with this project in
8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
9 |
--------------------------------------------------------------------------------
/.changeset/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json",
3 | "changelog": "@changesets/cli/changelog",
4 | "commit": false,
5 | "fixed": [],
6 | "linked": [],
7 | "access": "public",
8 | "baseBranch": "main",
9 | "updateInternalDependencies": "patch",
10 | "ignore": []
11 | }
12 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: alexvcasillas
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 | on:
3 | push:
4 | branches:
5 | - "**"
6 |
7 | jobs:
8 | build:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v3
12 | - uses: pnpm/action-setup@v2
13 | with:
14 | version: 7
15 | - uses: actions/setup-node@v3
16 | with:
17 | node-version: 16.x
18 | cache: "pnpm"
19 |
20 | - run: pnpm install --frozen-lockfile
21 | - run: pnpm run lint && pnpm run build
22 |
--------------------------------------------------------------------------------
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | name: Publish
2 | on:
3 | push:
4 | branches:
5 | - 'main'
6 |
7 | concurrency: ${{ github.workflow }}-${{ github.ref }}
8 |
9 | jobs:
10 | build:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v3
14 | - uses: pnpm/action-setup@v2
15 | with:
16 | version: 7
17 | - uses: actions/setup-node@v3
18 | with:
19 | node-version: 16.x
20 | cache: 'pnpm'
21 |
22 | - run: pnpm install --frozen-lockfile
23 |
24 | - name: Create Release Pull Request or Publish
25 | id: changesets
26 | uses: changesets/action@v1
27 | with:
28 | publish: pnpm run build
29 | env:
30 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 |
3 | # Logs
4 | logs
5 | *.log
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 |
10 | # Runtime data
11 | pids
12 | *.pid
13 | *.seed
14 | *.pid.lock
15 |
16 | # Directory for instrumented libs generated by jscoverage/JSCover
17 | lib-cov
18 |
19 | # Coverage directory used by tools like istanbul
20 | coverage
21 |
22 | # nyc test coverage
23 | .nyc_output
24 |
25 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
26 | .grunt
27 |
28 | # Bower dependency directory (https://bower.io/)
29 | bower_components
30 |
31 | # node-waf configuration
32 | .lock-wscript
33 |
34 | # Compiled binary addons (https://nodejs.org/api/addons.html)
35 | build/Release
36 |
37 | # Dependency directories
38 | node_modules/
39 | jspm_packages/
40 |
41 | # TypeScript v1 declaration files
42 | typings/
43 |
44 | # Optional npm cache directory
45 | .npm
46 |
47 | # Optional eslint cache
48 | .eslintcache
49 |
50 | # Optional REPL history
51 | .node_repl_history
52 |
53 | # Output of 'npm pack'
54 | *.tgz
55 |
56 | # Yarn Integrity file
57 | .yarn-integrity
58 |
59 | # dotenv environment variables file
60 | .env
61 | .env.test
62 |
63 | # parcel-bundler cache (https://parceljs.org/)
64 | .cache
65 |
66 | # next.js build output
67 | .next
68 |
69 | # nuxt.js build output
70 | .nuxt
71 |
72 | # vuepress build output
73 | .vuepress/dist
74 |
75 | # Serverless directories
76 | .serverless/
77 |
78 | # FuseBox cache
79 | .fusebox/
80 |
81 | # DynamoDB Local files
82 | .dynamodb/
83 |
84 | # RTS2 Cache
85 | .rts2_cache_cjs
86 | .rts2_cache_es
87 | .rts2_cache_umd
88 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "all",
3 | "tabWidth": 2,
4 | "semi": true,
5 | "singleQuote": true
6 | }
7 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.defaultFormatter": "esbenp.prettier-vscode",
3 | "editor.formatOnSave": true
4 | }
5 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # @alexvcasillas/react-onboarding
2 |
3 | ## 1.0.0
4 |
5 | ### Major Changes
6 |
7 | - 59629f9: Move to React 18 and improve Core
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Onboarding
2 |
3 | - [Motivation](#motivation)
4 | - [Demo](#demo)
5 | - [Why Onboarding?](#why-onboarding)
6 | - [What Onboarding is not](#what-onboarding-is-not)
7 | - [Installation](#installation)
8 | - [Onboarding components](#onboarding-components)
9 |
10 | # Motivation
11 |
12 | TLDR; **Onboarding** is an open source library that aims to create a robust onboarding system for your web application without any headaches or having to manage complex form logics.
13 |
14 | After working for long days building onboarding applications for clients and companies and their clients; having to build almost the same over and over again but adapting the logic for each of the use cases, I though that maybe we could have some generic solution easy to import in whatever project we're working on and being able to easily declare specific onboarding logics like validations and related stuff, that's why this project started taking shape and became what's nowdays: **Onboarding**.
15 |
16 | We also knew that the user would like to use any UI component library so we have to develop **Onboarding** as generic as possible and providing the enough abstractions to link the internal logic of this library with the logic of a UI component, like field statuses, triggers, event handlers, etc. This way we came up with a, as much as generic as we could, solution. We developed some components that will provide you with the logic needed to build the onboarding process. Using this components should be as simple and straightforward as to put them into your React application without doing any configurations or other related stuff. We tried to keep things as simple as possible within some reasonable React limitations.
17 |
18 | # Demo
19 |
20 | If you would like to take a look at what **Onboarding** could do for you, you should take a look at this demo:
21 |
22 | Reactive Labs demo | [https://onboarding-demo.reactive-labs.com/](https://onboarding-demo.reactive-labs.com/)
23 |
24 | If you've created some open-source project that relies on **Onboarding** and would like to showcase your project here, feel free to send a PR with the link to your website/demo.
25 |
26 | # Why Onboarding?
27 |
28 | Currently there are formidable solutions in the React ecosystem to handle form's state and logic but we haven't found a solution that let you deal with a full onboarding process, and putting together this solutions could give you a hard time and maybe you could end up giving up. **Onboarding** is a complete solution that will delight you from the beginning to the end of your onboarding application development process. **Onboarding** will provide you all of the tools that you could need to create a delightful onboarding experience for your company or any project that you wanted to use it on.
29 |
30 | # What onboarding is not
31 |
32 | **Onboarding** doesn't provide any UI components, it only provides with logical components that you would use in your application and then you'll tie your UI components to **Onboarding**'s logical components. So, if you're here thinking that this is an UI library for React, we have to tell you that this is not what you're looking for. Or maybe it is and you can take a look around and realize that this is what you need for your project.
33 |
34 | # Installation
35 |
36 | NPM
37 |
38 | ```
39 | npm i --save @alexvcasillas/react-onboarding
40 | ```
41 |
42 | Yarn
43 |
44 | ```
45 | yarn add @alexvcasillas/react-onboarding
46 | ```
47 |
48 | # Onboarding components
49 |
50 | **Onboarding** provides you a series of components that you will combine to generate the full onboarding experience. Those components are:
51 |
52 | - [Onboarding component](#onboarding-component)
53 | - [Step component](#step-component)
54 | - [Field component](#field-component)
55 | - [Info component](#info-component)
56 | - [End component](#end-component)
57 |
58 | ## Onboarding component
59 |
60 | The Onboarding Component is what you'll need at the top-level of your application. It's that one that will be in charge of handling the Step generations and dealing with rendering Steps, Infos, End components and rending everything that's not related to a particular step or end page.
61 |
62 | ```
63 | import { Onboarding } from '@alexvcasillas/react-onboarding';
64 |
65 |
66 | ...
67 |
68 | ```
69 |
70 | It won't take any props so you just drop it there and it will start working out of the box for you.
71 |
72 | ## Step component
73 |
74 | The Step component is what you will have to include within an Onboarding component to tell the system that you would want a step to be rendered and therefore, displayed in the browser.
75 |
76 | ```
77 | import { Step } from '@alexvcasillas/react-onboarding';
78 |
79 |
80 | {({ nextStep, prevStep, validStep, finish }) => (
81 | ...
82 | )}
83 |
84 | ```
85 |
86 | The Step component that's a single prop that's called `name` and it has to be a unique identifier of this step as it would be used later on to fill the data that's gonna be provided to you at the end or any point of the onboarding process.
87 |
88 | As you can see, the Step component is a component that takes a function as a child and provides you with data a logical functions that we're gonna describe right now:
89 |
90 | - nextStep
91 | - type: Function
92 | - description: This property will let you navigate to the next step of the onboarding process.
93 | - Gotchas: this function won't let you move forwards to the next step if the step is not valid, meaning that the fields within this step have processed and valid.
94 | - prevSte
95 | - type: Function
96 | - description: this function will let you navigate to the previous step of the onboarding process.
97 | - Gotchas: none.
98 | - validStep
99 | - type: Boolean
100 | - description: this boolean variable will tell you if this step is valid or not, meaning that all the fields within this step that required validation are fulfilling it.
101 | - finish
102 | - type: Function
103 | - description: this function will let you finish the current form. When this function is called, the End component that is within the Onboarding component will be rendered instead of anything else.
104 |
105 | ## Field component
106 |
107 | The Field component is what you will have to include within a Field component to tell the system that this is a field that could have validations attached to them to deal with your business logic.
108 |
109 | ```
110 | import { Step } from '@alexvcasillas/react-onboarding';
111 |
112 |
113 | {({ type, value, onChange, onFocus, onBlur, onEnter, valid, error }) => (
114 | ...
115 | )}
116 |
117 | ```
118 |
119 | The field component has various props as:
120 |
121 | - name
122 | - type: String
123 | - description: a unique identifier of this field that will be user later on to give you back the data.
124 | - type
125 | - type: String
126 | - description: this will define the value type of this field, meaning that if you provide a type of number, we will give you at the end of the process a value with a typeof as the same as you've defined here. This prop is passed down to the child function exactly as you have declared it.
127 | - validations
128 | - type: Validations[]
129 | - description: this property takes an array with the shape of a Validation object. We will explain this with more detail in a section bellow.
130 |
131 | As you can see, the Field component is a component that takes a function as a child and provides you with data a logical functions that we're gonna describe right now:
132 |
133 | - type
134 | - type: String
135 | - description: this will tell you the type of the field you're setting. This will be the exactly same value at the `type` prop you had defined previously.
136 | - value
137 | - type: String
138 | - description: this is the actual value of this field. You would pass this value property to your UI component to display it.
139 | - onChange
140 | - type: Function
141 | - description: this function will be in charge to update the value of the field. You can tie it to your UI component as you with. As an example, you can pass this function to the `onChange` prop of an input element and it will update the property value of the field component for you. This function will also be in charge of running all of the validations that are linked to the "change" event.
142 | - onFocus
143 | - type: Function
144 | - description: this function will be in charge to trigger all of the "focus" validations that you could have declared in the validations prop. You can link this function to an input's "onFocus" property.
145 | - onBlur
146 | - type: Function
147 | - description: this function will be in charge to trigger all of the "blur" validations that you could have declared in the validations prop. You can link this function to an input's "onBlur" property.
148 | - onEnter
149 | - type: Function
150 | - arguments: Function?.
151 | - description: this function will be in charge of running all of the "enter" validations that you could have declared in the validations prop. You can link this function to an input's "onKeyPress" property. This function could be expecting a function callback for when the validations have been run, meaning that you could do something like: `() => onEnter(nextStep)` meaning that when all of the validations have run, it will try to move to the next step if the step is valid. Be aware that this `nextStep` described is provided by the Step component and you have it on scope at the Field level.
152 | - valid
153 | - type: Boolean
154 | - description: this boolean variable will tell you if this field is valid or not based on the validations run for this field, meaning that it will return false if the any of the validations have not met the requirements and true otherwise. You can use this variable to update the visual state of your UI component. As an example, turning an input's border red if some validations are failing.
155 | - error
156 | - type: String
157 | - description: this string will contain the message of the validation that have failed. You would declare this message within the Validation Object that we will see below. It will only contain the message of the first validation that haven't met the requirements.
158 |
159 | ## Info component
160 |
161 | Work in progress.
162 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@alexvcasillas/react-onboarding",
3 | "version": "1.0.0",
4 | "description": "Onboarding library for React",
5 | "main": "dist/index.js",
6 | "module": "dist/index.mjs",
7 | "types": "dist/index.d.ts",
8 | "repository": "https://github.com/alexvcasillas/react-onboarding.git",
9 | "author": "Alex Casillas (https://alexvcasillas.com)",
10 | "license": "MIT",
11 | "private": false,
12 | "scripts": {
13 | "build": "tsup src/index.ts --format cjs,esm --dts",
14 | "lint": "tsc"
15 | },
16 | "dependencies": {
17 | "react": "^18.2.0",
18 | "react-dom": "^18.2.0",
19 | "react-use": "^17.4.0"
20 | },
21 | "devDependencies": {
22 | "@changesets/cli": "^2.26.0",
23 | "@types/react": "^16.8.7",
24 | "prettier": "^2.8.3",
25 | "tsup": "^6.5.0",
26 | "typescript": "^4.9.4"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@changesets/cli': ^2.26.0
5 | '@types/react': ^16.8.7
6 | prettier: ^2.8.3
7 | react: ^18.2.0
8 | react-dom: ^18.2.0
9 | react-use: ^17.4.0
10 | tsup: ^6.5.0
11 | typescript: ^4.9.4
12 |
13 | dependencies:
14 | react: 18.2.0
15 | react-dom: 18.2.0_react@18.2.0
16 | react-use: 17.4.0_biqbaboplfbrettd7655fr4n2y
17 |
18 | devDependencies:
19 | '@changesets/cli': 2.26.0
20 | '@types/react': 16.14.34
21 | prettier: 2.8.3
22 | tsup: 6.5.0_typescript@4.9.4
23 | typescript: 4.9.4
24 |
25 | packages:
26 |
27 | /@babel/code-frame/7.18.6:
28 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
29 | engines: {node: '>=6.9.0'}
30 | dependencies:
31 | '@babel/highlight': 7.18.6
32 | dev: true
33 |
34 | /@babel/helper-validator-identifier/7.19.1:
35 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
36 | engines: {node: '>=6.9.0'}
37 | dev: true
38 |
39 | /@babel/highlight/7.18.6:
40 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
41 | engines: {node: '>=6.9.0'}
42 | dependencies:
43 | '@babel/helper-validator-identifier': 7.19.1
44 | chalk: 2.4.2
45 | js-tokens: 4.0.0
46 | dev: true
47 |
48 | /@babel/runtime/7.20.7:
49 | resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==}
50 | engines: {node: '>=6.9.0'}
51 | dependencies:
52 | regenerator-runtime: 0.13.11
53 |
54 | /@changesets/apply-release-plan/6.1.3:
55 | resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==}
56 | dependencies:
57 | '@babel/runtime': 7.20.7
58 | '@changesets/config': 2.3.0
59 | '@changesets/get-version-range-type': 0.3.2
60 | '@changesets/git': 2.0.0
61 | '@changesets/types': 5.2.1
62 | '@manypkg/get-packages': 1.1.3
63 | detect-indent: 6.1.0
64 | fs-extra: 7.0.1
65 | lodash.startcase: 4.4.0
66 | outdent: 0.5.0
67 | prettier: 2.8.3
68 | resolve-from: 5.0.0
69 | semver: 5.7.1
70 | dev: true
71 |
72 | /@changesets/assemble-release-plan/5.2.3:
73 | resolution: {integrity: sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g==}
74 | dependencies:
75 | '@babel/runtime': 7.20.7
76 | '@changesets/errors': 0.1.4
77 | '@changesets/get-dependents-graph': 1.3.5
78 | '@changesets/types': 5.2.1
79 | '@manypkg/get-packages': 1.1.3
80 | semver: 5.7.1
81 | dev: true
82 |
83 | /@changesets/changelog-git/0.1.14:
84 | resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==}
85 | dependencies:
86 | '@changesets/types': 5.2.1
87 | dev: true
88 |
89 | /@changesets/cli/2.26.0:
90 | resolution: {integrity: sha512-0cbTiDms+ICTVtEwAFLNW0jBNex9f5+fFv3I771nBvdnV/mOjd1QJ4+f8KtVSOrwD9SJkk9xbDkWFb0oXd8d1Q==}
91 | hasBin: true
92 | dependencies:
93 | '@babel/runtime': 7.20.7
94 | '@changesets/apply-release-plan': 6.1.3
95 | '@changesets/assemble-release-plan': 5.2.3
96 | '@changesets/changelog-git': 0.1.14
97 | '@changesets/config': 2.3.0
98 | '@changesets/errors': 0.1.4
99 | '@changesets/get-dependents-graph': 1.3.5
100 | '@changesets/get-release-plan': 3.0.16
101 | '@changesets/git': 2.0.0
102 | '@changesets/logger': 0.0.5
103 | '@changesets/pre': 1.0.14
104 | '@changesets/read': 0.5.9
105 | '@changesets/types': 5.2.1
106 | '@changesets/write': 0.2.3
107 | '@manypkg/get-packages': 1.1.3
108 | '@types/is-ci': 3.0.0
109 | '@types/semver': 6.2.3
110 | ansi-colors: 4.1.3
111 | chalk: 2.4.2
112 | enquirer: 2.3.6
113 | external-editor: 3.1.0
114 | fs-extra: 7.0.1
115 | human-id: 1.0.2
116 | is-ci: 3.0.1
117 | meow: 6.1.1
118 | outdent: 0.5.0
119 | p-limit: 2.3.0
120 | preferred-pm: 3.0.3
121 | resolve-from: 5.0.0
122 | semver: 5.7.1
123 | spawndamnit: 2.0.0
124 | term-size: 2.2.1
125 | tty-table: 4.1.6
126 | dev: true
127 |
128 | /@changesets/config/2.3.0:
129 | resolution: {integrity: sha512-EgP/px6mhCx8QeaMAvWtRrgyxW08k/Bx2tpGT+M84jEdX37v3VKfh4Cz1BkwrYKuMV2HZKeHOh8sHvja/HcXfQ==}
130 | dependencies:
131 | '@changesets/errors': 0.1.4
132 | '@changesets/get-dependents-graph': 1.3.5
133 | '@changesets/logger': 0.0.5
134 | '@changesets/types': 5.2.1
135 | '@manypkg/get-packages': 1.1.3
136 | fs-extra: 7.0.1
137 | micromatch: 4.0.5
138 | dev: true
139 |
140 | /@changesets/errors/0.1.4:
141 | resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==}
142 | dependencies:
143 | extendable-error: 0.1.7
144 | dev: true
145 |
146 | /@changesets/get-dependents-graph/1.3.5:
147 | resolution: {integrity: sha512-w1eEvnWlbVDIY8mWXqWuYE9oKhvIaBhzqzo4ITSJY9hgoqQ3RoBqwlcAzg11qHxv/b8ReDWnMrpjpKrW6m1ZTA==}
148 | dependencies:
149 | '@changesets/types': 5.2.1
150 | '@manypkg/get-packages': 1.1.3
151 | chalk: 2.4.2
152 | fs-extra: 7.0.1
153 | semver: 5.7.1
154 | dev: true
155 |
156 | /@changesets/get-release-plan/3.0.16:
157 | resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==}
158 | dependencies:
159 | '@babel/runtime': 7.20.7
160 | '@changesets/assemble-release-plan': 5.2.3
161 | '@changesets/config': 2.3.0
162 | '@changesets/pre': 1.0.14
163 | '@changesets/read': 0.5.9
164 | '@changesets/types': 5.2.1
165 | '@manypkg/get-packages': 1.1.3
166 | dev: true
167 |
168 | /@changesets/get-version-range-type/0.3.2:
169 | resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==}
170 | dev: true
171 |
172 | /@changesets/git/2.0.0:
173 | resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==}
174 | dependencies:
175 | '@babel/runtime': 7.20.7
176 | '@changesets/errors': 0.1.4
177 | '@changesets/types': 5.2.1
178 | '@manypkg/get-packages': 1.1.3
179 | is-subdir: 1.2.0
180 | micromatch: 4.0.5
181 | spawndamnit: 2.0.0
182 | dev: true
183 |
184 | /@changesets/logger/0.0.5:
185 | resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==}
186 | dependencies:
187 | chalk: 2.4.2
188 | dev: true
189 |
190 | /@changesets/parse/0.3.16:
191 | resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==}
192 | dependencies:
193 | '@changesets/types': 5.2.1
194 | js-yaml: 3.14.1
195 | dev: true
196 |
197 | /@changesets/pre/1.0.14:
198 | resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==}
199 | dependencies:
200 | '@babel/runtime': 7.20.7
201 | '@changesets/errors': 0.1.4
202 | '@changesets/types': 5.2.1
203 | '@manypkg/get-packages': 1.1.3
204 | fs-extra: 7.0.1
205 | dev: true
206 |
207 | /@changesets/read/0.5.9:
208 | resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==}
209 | dependencies:
210 | '@babel/runtime': 7.20.7
211 | '@changesets/git': 2.0.0
212 | '@changesets/logger': 0.0.5
213 | '@changesets/parse': 0.3.16
214 | '@changesets/types': 5.2.1
215 | chalk: 2.4.2
216 | fs-extra: 7.0.1
217 | p-filter: 2.1.0
218 | dev: true
219 |
220 | /@changesets/types/4.1.0:
221 | resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
222 | dev: true
223 |
224 | /@changesets/types/5.2.1:
225 | resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==}
226 | dev: true
227 |
228 | /@changesets/write/0.2.3:
229 | resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==}
230 | dependencies:
231 | '@babel/runtime': 7.20.7
232 | '@changesets/types': 5.2.1
233 | fs-extra: 7.0.1
234 | human-id: 1.0.2
235 | prettier: 2.8.3
236 | dev: true
237 |
238 | /@esbuild/android-arm/0.15.18:
239 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==}
240 | engines: {node: '>=12'}
241 | cpu: [arm]
242 | os: [android]
243 | requiresBuild: true
244 | dev: true
245 | optional: true
246 |
247 | /@esbuild/linux-loong64/0.15.18:
248 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==}
249 | engines: {node: '>=12'}
250 | cpu: [loong64]
251 | os: [linux]
252 | requiresBuild: true
253 | dev: true
254 | optional: true
255 |
256 | /@manypkg/find-root/1.1.0:
257 | resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
258 | dependencies:
259 | '@babel/runtime': 7.20.7
260 | '@types/node': 12.20.55
261 | find-up: 4.1.0
262 | fs-extra: 8.1.0
263 | dev: true
264 |
265 | /@manypkg/get-packages/1.1.3:
266 | resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
267 | dependencies:
268 | '@babel/runtime': 7.20.7
269 | '@changesets/types': 4.1.0
270 | '@manypkg/find-root': 1.1.0
271 | fs-extra: 8.1.0
272 | globby: 11.1.0
273 | read-yaml-file: 1.1.0
274 | dev: true
275 |
276 | /@nodelib/fs.scandir/2.1.5:
277 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
278 | engines: {node: '>= 8'}
279 | dependencies:
280 | '@nodelib/fs.stat': 2.0.5
281 | run-parallel: 1.2.0
282 | dev: true
283 |
284 | /@nodelib/fs.stat/2.0.5:
285 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
286 | engines: {node: '>= 8'}
287 | dev: true
288 |
289 | /@nodelib/fs.walk/1.2.8:
290 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
291 | engines: {node: '>= 8'}
292 | dependencies:
293 | '@nodelib/fs.scandir': 2.1.5
294 | fastq: 1.15.0
295 | dev: true
296 |
297 | /@types/is-ci/3.0.0:
298 | resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==}
299 | dependencies:
300 | ci-info: 3.7.1
301 | dev: true
302 |
303 | /@types/js-cookie/2.2.7:
304 | resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==}
305 | dev: false
306 |
307 | /@types/minimist/1.2.2:
308 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
309 | dev: true
310 |
311 | /@types/node/12.20.55:
312 | resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
313 | dev: true
314 |
315 | /@types/normalize-package-data/2.4.1:
316 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
317 | dev: true
318 |
319 | /@types/prop-types/15.7.5:
320 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
321 | dev: true
322 |
323 | /@types/react/16.14.34:
324 | resolution: {integrity: sha512-b99nWeGGReLh6aKBppghVqp93dFJtgtDOzc8NXM6hewD8PQ2zZG5kBLgbx+VJr7Q7WBMjHxaIl3dwpwwPIUgyA==}
325 | dependencies:
326 | '@types/prop-types': 15.7.5
327 | '@types/scheduler': 0.16.2
328 | csstype: 3.1.1
329 | dev: true
330 |
331 | /@types/scheduler/0.16.2:
332 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
333 | dev: true
334 |
335 | /@types/semver/6.2.3:
336 | resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==}
337 | dev: true
338 |
339 | /@xobotyi/scrollbar-width/1.9.5:
340 | resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==}
341 | dev: false
342 |
343 | /ansi-colors/4.1.3:
344 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
345 | engines: {node: '>=6'}
346 | dev: true
347 |
348 | /ansi-regex/5.0.1:
349 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
350 | engines: {node: '>=8'}
351 | dev: true
352 |
353 | /ansi-styles/3.2.1:
354 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
355 | engines: {node: '>=4'}
356 | dependencies:
357 | color-convert: 1.9.3
358 | dev: true
359 |
360 | /ansi-styles/4.3.0:
361 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
362 | engines: {node: '>=8'}
363 | dependencies:
364 | color-convert: 2.0.1
365 | dev: true
366 |
367 | /any-promise/1.3.0:
368 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
369 | dev: true
370 |
371 | /anymatch/3.1.3:
372 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
373 | engines: {node: '>= 8'}
374 | dependencies:
375 | normalize-path: 3.0.0
376 | picomatch: 2.3.1
377 | dev: true
378 |
379 | /argparse/1.0.10:
380 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
381 | dependencies:
382 | sprintf-js: 1.0.3
383 | dev: true
384 |
385 | /array-union/2.1.0:
386 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
387 | engines: {node: '>=8'}
388 | dev: true
389 |
390 | /array.prototype.flat/1.3.1:
391 | resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
392 | engines: {node: '>= 0.4'}
393 | dependencies:
394 | call-bind: 1.0.2
395 | define-properties: 1.1.4
396 | es-abstract: 1.21.1
397 | es-shim-unscopables: 1.0.0
398 | dev: true
399 |
400 | /arrify/1.0.1:
401 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
402 | engines: {node: '>=0.10.0'}
403 | dev: true
404 |
405 | /available-typed-arrays/1.0.5:
406 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
407 | engines: {node: '>= 0.4'}
408 | dev: true
409 |
410 | /balanced-match/1.0.2:
411 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
412 | dev: true
413 |
414 | /better-path-resolve/1.0.0:
415 | resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
416 | engines: {node: '>=4'}
417 | dependencies:
418 | is-windows: 1.0.2
419 | dev: true
420 |
421 | /binary-extensions/2.2.0:
422 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
423 | engines: {node: '>=8'}
424 | dev: true
425 |
426 | /brace-expansion/1.1.11:
427 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
428 | dependencies:
429 | balanced-match: 1.0.2
430 | concat-map: 0.0.1
431 | dev: true
432 |
433 | /braces/3.0.2:
434 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
435 | engines: {node: '>=8'}
436 | dependencies:
437 | fill-range: 7.0.1
438 | dev: true
439 |
440 | /breakword/1.0.5:
441 | resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==}
442 | dependencies:
443 | wcwidth: 1.0.1
444 | dev: true
445 |
446 | /bundle-require/3.1.2_esbuild@0.15.18:
447 | resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==}
448 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
449 | peerDependencies:
450 | esbuild: '>=0.13'
451 | dependencies:
452 | esbuild: 0.15.18
453 | load-tsconfig: 0.2.3
454 | dev: true
455 |
456 | /cac/6.7.14:
457 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
458 | engines: {node: '>=8'}
459 | dev: true
460 |
461 | /call-bind/1.0.2:
462 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
463 | dependencies:
464 | function-bind: 1.1.1
465 | get-intrinsic: 1.1.3
466 | dev: true
467 |
468 | /camelcase-keys/6.2.2:
469 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
470 | engines: {node: '>=8'}
471 | dependencies:
472 | camelcase: 5.3.1
473 | map-obj: 4.3.0
474 | quick-lru: 4.0.1
475 | dev: true
476 |
477 | /camelcase/5.3.1:
478 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
479 | engines: {node: '>=6'}
480 | dev: true
481 |
482 | /chalk/2.4.2:
483 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
484 | engines: {node: '>=4'}
485 | dependencies:
486 | ansi-styles: 3.2.1
487 | escape-string-regexp: 1.0.5
488 | supports-color: 5.5.0
489 | dev: true
490 |
491 | /chalk/4.1.2:
492 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
493 | engines: {node: '>=10'}
494 | dependencies:
495 | ansi-styles: 4.3.0
496 | supports-color: 7.2.0
497 | dev: true
498 |
499 | /chardet/0.7.0:
500 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
501 | dev: true
502 |
503 | /chokidar/3.5.3:
504 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
505 | engines: {node: '>= 8.10.0'}
506 | dependencies:
507 | anymatch: 3.1.3
508 | braces: 3.0.2
509 | glob-parent: 5.1.2
510 | is-binary-path: 2.1.0
511 | is-glob: 4.0.3
512 | normalize-path: 3.0.0
513 | readdirp: 3.6.0
514 | optionalDependencies:
515 | fsevents: 2.3.2
516 | dev: true
517 |
518 | /ci-info/3.7.1:
519 | resolution: {integrity: sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==}
520 | engines: {node: '>=8'}
521 | dev: true
522 |
523 | /cliui/6.0.0:
524 | resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
525 | dependencies:
526 | string-width: 4.2.3
527 | strip-ansi: 6.0.1
528 | wrap-ansi: 6.2.0
529 | dev: true
530 |
531 | /cliui/8.0.1:
532 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
533 | engines: {node: '>=12'}
534 | dependencies:
535 | string-width: 4.2.3
536 | strip-ansi: 6.0.1
537 | wrap-ansi: 7.0.0
538 | dev: true
539 |
540 | /clone/1.0.4:
541 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
542 | engines: {node: '>=0.8'}
543 | dev: true
544 |
545 | /color-convert/1.9.3:
546 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
547 | dependencies:
548 | color-name: 1.1.3
549 | dev: true
550 |
551 | /color-convert/2.0.1:
552 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
553 | engines: {node: '>=7.0.0'}
554 | dependencies:
555 | color-name: 1.1.4
556 | dev: true
557 |
558 | /color-name/1.1.3:
559 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
560 | dev: true
561 |
562 | /color-name/1.1.4:
563 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
564 | dev: true
565 |
566 | /commander/4.1.1:
567 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
568 | engines: {node: '>= 6'}
569 | dev: true
570 |
571 | /concat-map/0.0.1:
572 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
573 | dev: true
574 |
575 | /copy-to-clipboard/3.3.3:
576 | resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
577 | dependencies:
578 | toggle-selection: 1.0.6
579 | dev: false
580 |
581 | /cross-spawn/5.1.0:
582 | resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
583 | dependencies:
584 | lru-cache: 4.1.5
585 | shebang-command: 1.2.0
586 | which: 1.3.1
587 | dev: true
588 |
589 | /cross-spawn/7.0.3:
590 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
591 | engines: {node: '>= 8'}
592 | dependencies:
593 | path-key: 3.1.1
594 | shebang-command: 2.0.0
595 | which: 2.0.2
596 | dev: true
597 |
598 | /css-in-js-utils/3.1.0:
599 | resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==}
600 | dependencies:
601 | hyphenate-style-name: 1.0.4
602 | dev: false
603 |
604 | /css-tree/1.1.3:
605 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
606 | engines: {node: '>=8.0.0'}
607 | dependencies:
608 | mdn-data: 2.0.14
609 | source-map: 0.6.1
610 | dev: false
611 |
612 | /csstype/3.1.1:
613 | resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
614 |
615 | /csv-generate/3.4.3:
616 | resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==}
617 | dev: true
618 |
619 | /csv-parse/4.16.3:
620 | resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==}
621 | dev: true
622 |
623 | /csv-stringify/5.6.5:
624 | resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==}
625 | dev: true
626 |
627 | /csv/5.5.3:
628 | resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==}
629 | engines: {node: '>= 0.1.90'}
630 | dependencies:
631 | csv-generate: 3.4.3
632 | csv-parse: 4.16.3
633 | csv-stringify: 5.6.5
634 | stream-transform: 2.1.3
635 | dev: true
636 |
637 | /debug/4.3.4:
638 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
639 | engines: {node: '>=6.0'}
640 | peerDependencies:
641 | supports-color: '*'
642 | peerDependenciesMeta:
643 | supports-color:
644 | optional: true
645 | dependencies:
646 | ms: 2.1.2
647 | dev: true
648 |
649 | /decamelize-keys/1.1.1:
650 | resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
651 | engines: {node: '>=0.10.0'}
652 | dependencies:
653 | decamelize: 1.2.0
654 | map-obj: 1.0.1
655 | dev: true
656 |
657 | /decamelize/1.2.0:
658 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
659 | engines: {node: '>=0.10.0'}
660 | dev: true
661 |
662 | /defaults/1.0.4:
663 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
664 | dependencies:
665 | clone: 1.0.4
666 | dev: true
667 |
668 | /define-properties/1.1.4:
669 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
670 | engines: {node: '>= 0.4'}
671 | dependencies:
672 | has-property-descriptors: 1.0.0
673 | object-keys: 1.1.1
674 | dev: true
675 |
676 | /detect-indent/6.1.0:
677 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
678 | engines: {node: '>=8'}
679 | dev: true
680 |
681 | /dir-glob/3.0.1:
682 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
683 | engines: {node: '>=8'}
684 | dependencies:
685 | path-type: 4.0.0
686 | dev: true
687 |
688 | /emoji-regex/8.0.0:
689 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
690 | dev: true
691 |
692 | /enquirer/2.3.6:
693 | resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==}
694 | engines: {node: '>=8.6'}
695 | dependencies:
696 | ansi-colors: 4.1.3
697 | dev: true
698 |
699 | /error-ex/1.3.2:
700 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
701 | dependencies:
702 | is-arrayish: 0.2.1
703 | dev: true
704 |
705 | /error-stack-parser/2.1.4:
706 | resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
707 | dependencies:
708 | stackframe: 1.3.4
709 | dev: false
710 |
711 | /es-abstract/1.21.1:
712 | resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==}
713 | engines: {node: '>= 0.4'}
714 | dependencies:
715 | available-typed-arrays: 1.0.5
716 | call-bind: 1.0.2
717 | es-set-tostringtag: 2.0.1
718 | es-to-primitive: 1.2.1
719 | function-bind: 1.1.1
720 | function.prototype.name: 1.1.5
721 | get-intrinsic: 1.1.3
722 | get-symbol-description: 1.0.0
723 | globalthis: 1.0.3
724 | gopd: 1.0.1
725 | has: 1.0.3
726 | has-property-descriptors: 1.0.0
727 | has-proto: 1.0.1
728 | has-symbols: 1.0.3
729 | internal-slot: 1.0.4
730 | is-array-buffer: 3.0.1
731 | is-callable: 1.2.7
732 | is-negative-zero: 2.0.2
733 | is-regex: 1.1.4
734 | is-shared-array-buffer: 1.0.2
735 | is-string: 1.0.7
736 | is-typed-array: 1.1.10
737 | is-weakref: 1.0.2
738 | object-inspect: 1.12.3
739 | object-keys: 1.1.1
740 | object.assign: 4.1.4
741 | regexp.prototype.flags: 1.4.3
742 | safe-regex-test: 1.0.0
743 | string.prototype.trimend: 1.0.6
744 | string.prototype.trimstart: 1.0.6
745 | typed-array-length: 1.0.4
746 | unbox-primitive: 1.0.2
747 | which-typed-array: 1.1.9
748 | dev: true
749 |
750 | /es-set-tostringtag/2.0.1:
751 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
752 | engines: {node: '>= 0.4'}
753 | dependencies:
754 | get-intrinsic: 1.1.3
755 | has: 1.0.3
756 | has-tostringtag: 1.0.0
757 | dev: true
758 |
759 | /es-shim-unscopables/1.0.0:
760 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
761 | dependencies:
762 | has: 1.0.3
763 | dev: true
764 |
765 | /es-to-primitive/1.2.1:
766 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
767 | engines: {node: '>= 0.4'}
768 | dependencies:
769 | is-callable: 1.2.7
770 | is-date-object: 1.0.5
771 | is-symbol: 1.0.4
772 | dev: true
773 |
774 | /esbuild-android-64/0.15.18:
775 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==}
776 | engines: {node: '>=12'}
777 | cpu: [x64]
778 | os: [android]
779 | requiresBuild: true
780 | dev: true
781 | optional: true
782 |
783 | /esbuild-android-arm64/0.15.18:
784 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==}
785 | engines: {node: '>=12'}
786 | cpu: [arm64]
787 | os: [android]
788 | requiresBuild: true
789 | dev: true
790 | optional: true
791 |
792 | /esbuild-darwin-64/0.15.18:
793 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==}
794 | engines: {node: '>=12'}
795 | cpu: [x64]
796 | os: [darwin]
797 | requiresBuild: true
798 | dev: true
799 | optional: true
800 |
801 | /esbuild-darwin-arm64/0.15.18:
802 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==}
803 | engines: {node: '>=12'}
804 | cpu: [arm64]
805 | os: [darwin]
806 | requiresBuild: true
807 | dev: true
808 | optional: true
809 |
810 | /esbuild-freebsd-64/0.15.18:
811 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==}
812 | engines: {node: '>=12'}
813 | cpu: [x64]
814 | os: [freebsd]
815 | requiresBuild: true
816 | dev: true
817 | optional: true
818 |
819 | /esbuild-freebsd-arm64/0.15.18:
820 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==}
821 | engines: {node: '>=12'}
822 | cpu: [arm64]
823 | os: [freebsd]
824 | requiresBuild: true
825 | dev: true
826 | optional: true
827 |
828 | /esbuild-linux-32/0.15.18:
829 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==}
830 | engines: {node: '>=12'}
831 | cpu: [ia32]
832 | os: [linux]
833 | requiresBuild: true
834 | dev: true
835 | optional: true
836 |
837 | /esbuild-linux-64/0.15.18:
838 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==}
839 | engines: {node: '>=12'}
840 | cpu: [x64]
841 | os: [linux]
842 | requiresBuild: true
843 | dev: true
844 | optional: true
845 |
846 | /esbuild-linux-arm/0.15.18:
847 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==}
848 | engines: {node: '>=12'}
849 | cpu: [arm]
850 | os: [linux]
851 | requiresBuild: true
852 | dev: true
853 | optional: true
854 |
855 | /esbuild-linux-arm64/0.15.18:
856 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==}
857 | engines: {node: '>=12'}
858 | cpu: [arm64]
859 | os: [linux]
860 | requiresBuild: true
861 | dev: true
862 | optional: true
863 |
864 | /esbuild-linux-mips64le/0.15.18:
865 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==}
866 | engines: {node: '>=12'}
867 | cpu: [mips64el]
868 | os: [linux]
869 | requiresBuild: true
870 | dev: true
871 | optional: true
872 |
873 | /esbuild-linux-ppc64le/0.15.18:
874 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==}
875 | engines: {node: '>=12'}
876 | cpu: [ppc64]
877 | os: [linux]
878 | requiresBuild: true
879 | dev: true
880 | optional: true
881 |
882 | /esbuild-linux-riscv64/0.15.18:
883 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==}
884 | engines: {node: '>=12'}
885 | cpu: [riscv64]
886 | os: [linux]
887 | requiresBuild: true
888 | dev: true
889 | optional: true
890 |
891 | /esbuild-linux-s390x/0.15.18:
892 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==}
893 | engines: {node: '>=12'}
894 | cpu: [s390x]
895 | os: [linux]
896 | requiresBuild: true
897 | dev: true
898 | optional: true
899 |
900 | /esbuild-netbsd-64/0.15.18:
901 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==}
902 | engines: {node: '>=12'}
903 | cpu: [x64]
904 | os: [netbsd]
905 | requiresBuild: true
906 | dev: true
907 | optional: true
908 |
909 | /esbuild-openbsd-64/0.15.18:
910 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==}
911 | engines: {node: '>=12'}
912 | cpu: [x64]
913 | os: [openbsd]
914 | requiresBuild: true
915 | dev: true
916 | optional: true
917 |
918 | /esbuild-sunos-64/0.15.18:
919 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==}
920 | engines: {node: '>=12'}
921 | cpu: [x64]
922 | os: [sunos]
923 | requiresBuild: true
924 | dev: true
925 | optional: true
926 |
927 | /esbuild-windows-32/0.15.18:
928 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==}
929 | engines: {node: '>=12'}
930 | cpu: [ia32]
931 | os: [win32]
932 | requiresBuild: true
933 | dev: true
934 | optional: true
935 |
936 | /esbuild-windows-64/0.15.18:
937 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==}
938 | engines: {node: '>=12'}
939 | cpu: [x64]
940 | os: [win32]
941 | requiresBuild: true
942 | dev: true
943 | optional: true
944 |
945 | /esbuild-windows-arm64/0.15.18:
946 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==}
947 | engines: {node: '>=12'}
948 | cpu: [arm64]
949 | os: [win32]
950 | requiresBuild: true
951 | dev: true
952 | optional: true
953 |
954 | /esbuild/0.15.18:
955 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==}
956 | engines: {node: '>=12'}
957 | hasBin: true
958 | requiresBuild: true
959 | optionalDependencies:
960 | '@esbuild/android-arm': 0.15.18
961 | '@esbuild/linux-loong64': 0.15.18
962 | esbuild-android-64: 0.15.18
963 | esbuild-android-arm64: 0.15.18
964 | esbuild-darwin-64: 0.15.18
965 | esbuild-darwin-arm64: 0.15.18
966 | esbuild-freebsd-64: 0.15.18
967 | esbuild-freebsd-arm64: 0.15.18
968 | esbuild-linux-32: 0.15.18
969 | esbuild-linux-64: 0.15.18
970 | esbuild-linux-arm: 0.15.18
971 | esbuild-linux-arm64: 0.15.18
972 | esbuild-linux-mips64le: 0.15.18
973 | esbuild-linux-ppc64le: 0.15.18
974 | esbuild-linux-riscv64: 0.15.18
975 | esbuild-linux-s390x: 0.15.18
976 | esbuild-netbsd-64: 0.15.18
977 | esbuild-openbsd-64: 0.15.18
978 | esbuild-sunos-64: 0.15.18
979 | esbuild-windows-32: 0.15.18
980 | esbuild-windows-64: 0.15.18
981 | esbuild-windows-arm64: 0.15.18
982 | dev: true
983 |
984 | /escalade/3.1.1:
985 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
986 | engines: {node: '>=6'}
987 | dev: true
988 |
989 | /escape-string-regexp/1.0.5:
990 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
991 | engines: {node: '>=0.8.0'}
992 | dev: true
993 |
994 | /esprima/4.0.1:
995 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
996 | engines: {node: '>=4'}
997 | hasBin: true
998 | dev: true
999 |
1000 | /execa/5.1.1:
1001 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
1002 | engines: {node: '>=10'}
1003 | dependencies:
1004 | cross-spawn: 7.0.3
1005 | get-stream: 6.0.1
1006 | human-signals: 2.1.0
1007 | is-stream: 2.0.1
1008 | merge-stream: 2.0.0
1009 | npm-run-path: 4.0.1
1010 | onetime: 5.1.2
1011 | signal-exit: 3.0.7
1012 | strip-final-newline: 2.0.0
1013 | dev: true
1014 |
1015 | /extendable-error/0.1.7:
1016 | resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
1017 | dev: true
1018 |
1019 | /external-editor/3.1.0:
1020 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
1021 | engines: {node: '>=4'}
1022 | dependencies:
1023 | chardet: 0.7.0
1024 | iconv-lite: 0.4.24
1025 | tmp: 0.0.33
1026 | dev: true
1027 |
1028 | /fast-deep-equal/3.1.3:
1029 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1030 | dev: false
1031 |
1032 | /fast-glob/3.2.12:
1033 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
1034 | engines: {node: '>=8.6.0'}
1035 | dependencies:
1036 | '@nodelib/fs.stat': 2.0.5
1037 | '@nodelib/fs.walk': 1.2.8
1038 | glob-parent: 5.1.2
1039 | merge2: 1.4.1
1040 | micromatch: 4.0.5
1041 | dev: true
1042 |
1043 | /fast-loops/1.1.3:
1044 | resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==}
1045 | dev: false
1046 |
1047 | /fast-shallow-equal/1.0.0:
1048 | resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==}
1049 | dev: false
1050 |
1051 | /fastest-stable-stringify/2.0.2:
1052 | resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==}
1053 | dev: false
1054 |
1055 | /fastq/1.15.0:
1056 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1057 | dependencies:
1058 | reusify: 1.0.4
1059 | dev: true
1060 |
1061 | /fill-range/7.0.1:
1062 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1063 | engines: {node: '>=8'}
1064 | dependencies:
1065 | to-regex-range: 5.0.1
1066 | dev: true
1067 |
1068 | /find-up/4.1.0:
1069 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
1070 | engines: {node: '>=8'}
1071 | dependencies:
1072 | locate-path: 5.0.0
1073 | path-exists: 4.0.0
1074 | dev: true
1075 |
1076 | /find-up/5.0.0:
1077 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1078 | engines: {node: '>=10'}
1079 | dependencies:
1080 | locate-path: 6.0.0
1081 | path-exists: 4.0.0
1082 | dev: true
1083 |
1084 | /find-yarn-workspace-root2/1.2.16:
1085 | resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
1086 | dependencies:
1087 | micromatch: 4.0.5
1088 | pkg-dir: 4.2.0
1089 | dev: true
1090 |
1091 | /for-each/0.3.3:
1092 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1093 | dependencies:
1094 | is-callable: 1.2.7
1095 | dev: true
1096 |
1097 | /fs-extra/7.0.1:
1098 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
1099 | engines: {node: '>=6 <7 || >=8'}
1100 | dependencies:
1101 | graceful-fs: 4.2.10
1102 | jsonfile: 4.0.0
1103 | universalify: 0.1.2
1104 | dev: true
1105 |
1106 | /fs-extra/8.1.0:
1107 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
1108 | engines: {node: '>=6 <7 || >=8'}
1109 | dependencies:
1110 | graceful-fs: 4.2.10
1111 | jsonfile: 4.0.0
1112 | universalify: 0.1.2
1113 | dev: true
1114 |
1115 | /fs.realpath/1.0.0:
1116 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1117 | dev: true
1118 |
1119 | /fsevents/2.3.2:
1120 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1121 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1122 | os: [darwin]
1123 | requiresBuild: true
1124 | dev: true
1125 | optional: true
1126 |
1127 | /function-bind/1.1.1:
1128 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1129 | dev: true
1130 |
1131 | /function.prototype.name/1.1.5:
1132 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
1133 | engines: {node: '>= 0.4'}
1134 | dependencies:
1135 | call-bind: 1.0.2
1136 | define-properties: 1.1.4
1137 | es-abstract: 1.21.1
1138 | functions-have-names: 1.2.3
1139 | dev: true
1140 |
1141 | /functions-have-names/1.2.3:
1142 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1143 | dev: true
1144 |
1145 | /get-caller-file/2.0.5:
1146 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
1147 | engines: {node: 6.* || 8.* || >= 10.*}
1148 | dev: true
1149 |
1150 | /get-intrinsic/1.1.3:
1151 | resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==}
1152 | dependencies:
1153 | function-bind: 1.1.1
1154 | has: 1.0.3
1155 | has-symbols: 1.0.3
1156 | dev: true
1157 |
1158 | /get-stream/6.0.1:
1159 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
1160 | engines: {node: '>=10'}
1161 | dev: true
1162 |
1163 | /get-symbol-description/1.0.0:
1164 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
1165 | engines: {node: '>= 0.4'}
1166 | dependencies:
1167 | call-bind: 1.0.2
1168 | get-intrinsic: 1.1.3
1169 | dev: true
1170 |
1171 | /glob-parent/5.1.2:
1172 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1173 | engines: {node: '>= 6'}
1174 | dependencies:
1175 | is-glob: 4.0.3
1176 | dev: true
1177 |
1178 | /glob/7.1.6:
1179 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
1180 | dependencies:
1181 | fs.realpath: 1.0.0
1182 | inflight: 1.0.6
1183 | inherits: 2.0.4
1184 | minimatch: 3.1.2
1185 | once: 1.4.0
1186 | path-is-absolute: 1.0.1
1187 | dev: true
1188 |
1189 | /globalthis/1.0.3:
1190 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
1191 | engines: {node: '>= 0.4'}
1192 | dependencies:
1193 | define-properties: 1.1.4
1194 | dev: true
1195 |
1196 | /globby/11.1.0:
1197 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1198 | engines: {node: '>=10'}
1199 | dependencies:
1200 | array-union: 2.1.0
1201 | dir-glob: 3.0.1
1202 | fast-glob: 3.2.12
1203 | ignore: 5.2.4
1204 | merge2: 1.4.1
1205 | slash: 3.0.0
1206 | dev: true
1207 |
1208 | /gopd/1.0.1:
1209 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1210 | dependencies:
1211 | get-intrinsic: 1.1.3
1212 | dev: true
1213 |
1214 | /graceful-fs/4.2.10:
1215 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
1216 | dev: true
1217 |
1218 | /grapheme-splitter/1.0.4:
1219 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
1220 | dev: true
1221 |
1222 | /hard-rejection/2.1.0:
1223 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
1224 | engines: {node: '>=6'}
1225 | dev: true
1226 |
1227 | /has-bigints/1.0.2:
1228 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1229 | dev: true
1230 |
1231 | /has-flag/3.0.0:
1232 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1233 | engines: {node: '>=4'}
1234 | dev: true
1235 |
1236 | /has-flag/4.0.0:
1237 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1238 | engines: {node: '>=8'}
1239 | dev: true
1240 |
1241 | /has-property-descriptors/1.0.0:
1242 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
1243 | dependencies:
1244 | get-intrinsic: 1.1.3
1245 | dev: true
1246 |
1247 | /has-proto/1.0.1:
1248 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
1249 | engines: {node: '>= 0.4'}
1250 | dev: true
1251 |
1252 | /has-symbols/1.0.3:
1253 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1254 | engines: {node: '>= 0.4'}
1255 | dev: true
1256 |
1257 | /has-tostringtag/1.0.0:
1258 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1259 | engines: {node: '>= 0.4'}
1260 | dependencies:
1261 | has-symbols: 1.0.3
1262 | dev: true
1263 |
1264 | /has/1.0.3:
1265 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1266 | engines: {node: '>= 0.4.0'}
1267 | dependencies:
1268 | function-bind: 1.1.1
1269 | dev: true
1270 |
1271 | /hosted-git-info/2.8.9:
1272 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
1273 | dev: true
1274 |
1275 | /human-id/1.0.2:
1276 | resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==}
1277 | dev: true
1278 |
1279 | /human-signals/2.1.0:
1280 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
1281 | engines: {node: '>=10.17.0'}
1282 | dev: true
1283 |
1284 | /hyphenate-style-name/1.0.4:
1285 | resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==}
1286 | dev: false
1287 |
1288 | /iconv-lite/0.4.24:
1289 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
1290 | engines: {node: '>=0.10.0'}
1291 | dependencies:
1292 | safer-buffer: 2.1.2
1293 | dev: true
1294 |
1295 | /ignore/5.2.4:
1296 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
1297 | engines: {node: '>= 4'}
1298 | dev: true
1299 |
1300 | /indent-string/4.0.0:
1301 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
1302 | engines: {node: '>=8'}
1303 | dev: true
1304 |
1305 | /inflight/1.0.6:
1306 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1307 | dependencies:
1308 | once: 1.4.0
1309 | wrappy: 1.0.2
1310 | dev: true
1311 |
1312 | /inherits/2.0.4:
1313 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1314 | dev: true
1315 |
1316 | /inline-style-prefixer/6.0.4:
1317 | resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==}
1318 | dependencies:
1319 | css-in-js-utils: 3.1.0
1320 | fast-loops: 1.1.3
1321 | dev: false
1322 |
1323 | /internal-slot/1.0.4:
1324 | resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==}
1325 | engines: {node: '>= 0.4'}
1326 | dependencies:
1327 | get-intrinsic: 1.1.3
1328 | has: 1.0.3
1329 | side-channel: 1.0.4
1330 | dev: true
1331 |
1332 | /is-array-buffer/3.0.1:
1333 | resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==}
1334 | dependencies:
1335 | call-bind: 1.0.2
1336 | get-intrinsic: 1.1.3
1337 | is-typed-array: 1.1.10
1338 | dev: true
1339 |
1340 | /is-arrayish/0.2.1:
1341 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
1342 | dev: true
1343 |
1344 | /is-bigint/1.0.4:
1345 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1346 | dependencies:
1347 | has-bigints: 1.0.2
1348 | dev: true
1349 |
1350 | /is-binary-path/2.1.0:
1351 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1352 | engines: {node: '>=8'}
1353 | dependencies:
1354 | binary-extensions: 2.2.0
1355 | dev: true
1356 |
1357 | /is-boolean-object/1.1.2:
1358 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1359 | engines: {node: '>= 0.4'}
1360 | dependencies:
1361 | call-bind: 1.0.2
1362 | has-tostringtag: 1.0.0
1363 | dev: true
1364 |
1365 | /is-callable/1.2.7:
1366 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1367 | engines: {node: '>= 0.4'}
1368 | dev: true
1369 |
1370 | /is-ci/3.0.1:
1371 | resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
1372 | hasBin: true
1373 | dependencies:
1374 | ci-info: 3.7.1
1375 | dev: true
1376 |
1377 | /is-core-module/2.11.0:
1378 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
1379 | dependencies:
1380 | has: 1.0.3
1381 | dev: true
1382 |
1383 | /is-date-object/1.0.5:
1384 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1385 | engines: {node: '>= 0.4'}
1386 | dependencies:
1387 | has-tostringtag: 1.0.0
1388 | dev: true
1389 |
1390 | /is-extglob/2.1.1:
1391 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1392 | engines: {node: '>=0.10.0'}
1393 | dev: true
1394 |
1395 | /is-fullwidth-code-point/3.0.0:
1396 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1397 | engines: {node: '>=8'}
1398 | dev: true
1399 |
1400 | /is-glob/4.0.3:
1401 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1402 | engines: {node: '>=0.10.0'}
1403 | dependencies:
1404 | is-extglob: 2.1.1
1405 | dev: true
1406 |
1407 | /is-negative-zero/2.0.2:
1408 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
1409 | engines: {node: '>= 0.4'}
1410 | dev: true
1411 |
1412 | /is-number-object/1.0.7:
1413 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1414 | engines: {node: '>= 0.4'}
1415 | dependencies:
1416 | has-tostringtag: 1.0.0
1417 | dev: true
1418 |
1419 | /is-number/7.0.0:
1420 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1421 | engines: {node: '>=0.12.0'}
1422 | dev: true
1423 |
1424 | /is-plain-obj/1.1.0:
1425 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
1426 | engines: {node: '>=0.10.0'}
1427 | dev: true
1428 |
1429 | /is-regex/1.1.4:
1430 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1431 | engines: {node: '>= 0.4'}
1432 | dependencies:
1433 | call-bind: 1.0.2
1434 | has-tostringtag: 1.0.0
1435 | dev: true
1436 |
1437 | /is-shared-array-buffer/1.0.2:
1438 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
1439 | dependencies:
1440 | call-bind: 1.0.2
1441 | dev: true
1442 |
1443 | /is-stream/2.0.1:
1444 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
1445 | engines: {node: '>=8'}
1446 | dev: true
1447 |
1448 | /is-string/1.0.7:
1449 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1450 | engines: {node: '>= 0.4'}
1451 | dependencies:
1452 | has-tostringtag: 1.0.0
1453 | dev: true
1454 |
1455 | /is-subdir/1.2.0:
1456 | resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
1457 | engines: {node: '>=4'}
1458 | dependencies:
1459 | better-path-resolve: 1.0.0
1460 | dev: true
1461 |
1462 | /is-symbol/1.0.4:
1463 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1464 | engines: {node: '>= 0.4'}
1465 | dependencies:
1466 | has-symbols: 1.0.3
1467 | dev: true
1468 |
1469 | /is-typed-array/1.1.10:
1470 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==}
1471 | engines: {node: '>= 0.4'}
1472 | dependencies:
1473 | available-typed-arrays: 1.0.5
1474 | call-bind: 1.0.2
1475 | for-each: 0.3.3
1476 | gopd: 1.0.1
1477 | has-tostringtag: 1.0.0
1478 | dev: true
1479 |
1480 | /is-weakref/1.0.2:
1481 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1482 | dependencies:
1483 | call-bind: 1.0.2
1484 | dev: true
1485 |
1486 | /is-windows/1.0.2:
1487 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
1488 | engines: {node: '>=0.10.0'}
1489 | dev: true
1490 |
1491 | /isexe/2.0.0:
1492 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1493 | dev: true
1494 |
1495 | /joycon/3.1.1:
1496 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
1497 | engines: {node: '>=10'}
1498 | dev: true
1499 |
1500 | /js-cookie/2.2.1:
1501 | resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==}
1502 | dev: false
1503 |
1504 | /js-tokens/4.0.0:
1505 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1506 |
1507 | /js-yaml/3.14.1:
1508 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
1509 | hasBin: true
1510 | dependencies:
1511 | argparse: 1.0.10
1512 | esprima: 4.0.1
1513 | dev: true
1514 |
1515 | /json-parse-even-better-errors/2.3.1:
1516 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
1517 | dev: true
1518 |
1519 | /jsonfile/4.0.0:
1520 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
1521 | optionalDependencies:
1522 | graceful-fs: 4.2.10
1523 | dev: true
1524 |
1525 | /kind-of/6.0.3:
1526 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
1527 | engines: {node: '>=0.10.0'}
1528 | dev: true
1529 |
1530 | /kleur/4.1.5:
1531 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
1532 | engines: {node: '>=6'}
1533 | dev: true
1534 |
1535 | /lilconfig/2.0.6:
1536 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
1537 | engines: {node: '>=10'}
1538 | dev: true
1539 |
1540 | /lines-and-columns/1.2.4:
1541 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1542 | dev: true
1543 |
1544 | /load-tsconfig/0.2.3:
1545 | resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==}
1546 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1547 | dev: true
1548 |
1549 | /load-yaml-file/0.2.0:
1550 | resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
1551 | engines: {node: '>=6'}
1552 | dependencies:
1553 | graceful-fs: 4.2.10
1554 | js-yaml: 3.14.1
1555 | pify: 4.0.1
1556 | strip-bom: 3.0.0
1557 | dev: true
1558 |
1559 | /locate-path/5.0.0:
1560 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
1561 | engines: {node: '>=8'}
1562 | dependencies:
1563 | p-locate: 4.1.0
1564 | dev: true
1565 |
1566 | /locate-path/6.0.0:
1567 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1568 | engines: {node: '>=10'}
1569 | dependencies:
1570 | p-locate: 5.0.0
1571 | dev: true
1572 |
1573 | /lodash.sortby/4.7.0:
1574 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
1575 | dev: true
1576 |
1577 | /lodash.startcase/4.4.0:
1578 | resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
1579 | dev: true
1580 |
1581 | /loose-envify/1.4.0:
1582 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1583 | hasBin: true
1584 | dependencies:
1585 | js-tokens: 4.0.0
1586 | dev: false
1587 |
1588 | /lru-cache/4.1.5:
1589 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
1590 | dependencies:
1591 | pseudomap: 1.0.2
1592 | yallist: 2.1.2
1593 | dev: true
1594 |
1595 | /map-obj/1.0.1:
1596 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
1597 | engines: {node: '>=0.10.0'}
1598 | dev: true
1599 |
1600 | /map-obj/4.3.0:
1601 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
1602 | engines: {node: '>=8'}
1603 | dev: true
1604 |
1605 | /mdn-data/2.0.14:
1606 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
1607 | dev: false
1608 |
1609 | /meow/6.1.1:
1610 | resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==}
1611 | engines: {node: '>=8'}
1612 | dependencies:
1613 | '@types/minimist': 1.2.2
1614 | camelcase-keys: 6.2.2
1615 | decamelize-keys: 1.1.1
1616 | hard-rejection: 2.1.0
1617 | minimist-options: 4.1.0
1618 | normalize-package-data: 2.5.0
1619 | read-pkg-up: 7.0.1
1620 | redent: 3.0.0
1621 | trim-newlines: 3.0.1
1622 | type-fest: 0.13.1
1623 | yargs-parser: 18.1.3
1624 | dev: true
1625 |
1626 | /merge-stream/2.0.0:
1627 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1628 | dev: true
1629 |
1630 | /merge2/1.4.1:
1631 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1632 | engines: {node: '>= 8'}
1633 | dev: true
1634 |
1635 | /micromatch/4.0.5:
1636 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1637 | engines: {node: '>=8.6'}
1638 | dependencies:
1639 | braces: 3.0.2
1640 | picomatch: 2.3.1
1641 | dev: true
1642 |
1643 | /mimic-fn/2.1.0:
1644 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
1645 | engines: {node: '>=6'}
1646 | dev: true
1647 |
1648 | /min-indent/1.0.1:
1649 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1650 | engines: {node: '>=4'}
1651 | dev: true
1652 |
1653 | /minimatch/3.1.2:
1654 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1655 | dependencies:
1656 | brace-expansion: 1.1.11
1657 | dev: true
1658 |
1659 | /minimist-options/4.1.0:
1660 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
1661 | engines: {node: '>= 6'}
1662 | dependencies:
1663 | arrify: 1.0.1
1664 | is-plain-obj: 1.1.0
1665 | kind-of: 6.0.3
1666 | dev: true
1667 |
1668 | /mixme/0.5.4:
1669 | resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==}
1670 | engines: {node: '>= 8.0.0'}
1671 | dev: true
1672 |
1673 | /ms/2.1.2:
1674 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1675 | dev: true
1676 |
1677 | /mz/2.7.0:
1678 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1679 | dependencies:
1680 | any-promise: 1.3.0
1681 | object-assign: 4.1.1
1682 | thenify-all: 1.6.0
1683 | dev: true
1684 |
1685 | /nano-css/5.3.5_biqbaboplfbrettd7655fr4n2y:
1686 | resolution: {integrity: sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==}
1687 | peerDependencies:
1688 | react: '*'
1689 | react-dom: '*'
1690 | dependencies:
1691 | css-tree: 1.1.3
1692 | csstype: 3.1.1
1693 | fastest-stable-stringify: 2.0.2
1694 | inline-style-prefixer: 6.0.4
1695 | react: 18.2.0
1696 | react-dom: 18.2.0_react@18.2.0
1697 | rtl-css-js: 1.16.1
1698 | sourcemap-codec: 1.4.8
1699 | stacktrace-js: 2.0.2
1700 | stylis: 4.1.3
1701 | dev: false
1702 |
1703 | /normalize-package-data/2.5.0:
1704 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
1705 | dependencies:
1706 | hosted-git-info: 2.8.9
1707 | resolve: 1.22.1
1708 | semver: 5.7.1
1709 | validate-npm-package-license: 3.0.4
1710 | dev: true
1711 |
1712 | /normalize-path/3.0.0:
1713 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1714 | engines: {node: '>=0.10.0'}
1715 | dev: true
1716 |
1717 | /npm-run-path/4.0.1:
1718 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
1719 | engines: {node: '>=8'}
1720 | dependencies:
1721 | path-key: 3.1.1
1722 | dev: true
1723 |
1724 | /object-assign/4.1.1:
1725 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1726 | engines: {node: '>=0.10.0'}
1727 | dev: true
1728 |
1729 | /object-inspect/1.12.3:
1730 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
1731 | dev: true
1732 |
1733 | /object-keys/1.1.1:
1734 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1735 | engines: {node: '>= 0.4'}
1736 | dev: true
1737 |
1738 | /object.assign/4.1.4:
1739 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
1740 | engines: {node: '>= 0.4'}
1741 | dependencies:
1742 | call-bind: 1.0.2
1743 | define-properties: 1.1.4
1744 | has-symbols: 1.0.3
1745 | object-keys: 1.1.1
1746 | dev: true
1747 |
1748 | /once/1.4.0:
1749 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1750 | dependencies:
1751 | wrappy: 1.0.2
1752 | dev: true
1753 |
1754 | /onetime/5.1.2:
1755 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
1756 | engines: {node: '>=6'}
1757 | dependencies:
1758 | mimic-fn: 2.1.0
1759 | dev: true
1760 |
1761 | /os-tmpdir/1.0.2:
1762 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
1763 | engines: {node: '>=0.10.0'}
1764 | dev: true
1765 |
1766 | /outdent/0.5.0:
1767 | resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
1768 | dev: true
1769 |
1770 | /p-filter/2.1.0:
1771 | resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
1772 | engines: {node: '>=8'}
1773 | dependencies:
1774 | p-map: 2.1.0
1775 | dev: true
1776 |
1777 | /p-limit/2.3.0:
1778 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
1779 | engines: {node: '>=6'}
1780 | dependencies:
1781 | p-try: 2.2.0
1782 | dev: true
1783 |
1784 | /p-limit/3.1.0:
1785 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1786 | engines: {node: '>=10'}
1787 | dependencies:
1788 | yocto-queue: 0.1.0
1789 | dev: true
1790 |
1791 | /p-locate/4.1.0:
1792 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
1793 | engines: {node: '>=8'}
1794 | dependencies:
1795 | p-limit: 2.3.0
1796 | dev: true
1797 |
1798 | /p-locate/5.0.0:
1799 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1800 | engines: {node: '>=10'}
1801 | dependencies:
1802 | p-limit: 3.1.0
1803 | dev: true
1804 |
1805 | /p-map/2.1.0:
1806 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
1807 | engines: {node: '>=6'}
1808 | dev: true
1809 |
1810 | /p-try/2.2.0:
1811 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
1812 | engines: {node: '>=6'}
1813 | dev: true
1814 |
1815 | /parse-json/5.2.0:
1816 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
1817 | engines: {node: '>=8'}
1818 | dependencies:
1819 | '@babel/code-frame': 7.18.6
1820 | error-ex: 1.3.2
1821 | json-parse-even-better-errors: 2.3.1
1822 | lines-and-columns: 1.2.4
1823 | dev: true
1824 |
1825 | /path-exists/4.0.0:
1826 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1827 | engines: {node: '>=8'}
1828 | dev: true
1829 |
1830 | /path-is-absolute/1.0.1:
1831 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1832 | engines: {node: '>=0.10.0'}
1833 | dev: true
1834 |
1835 | /path-key/3.1.1:
1836 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1837 | engines: {node: '>=8'}
1838 | dev: true
1839 |
1840 | /path-parse/1.0.7:
1841 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1842 | dev: true
1843 |
1844 | /path-type/4.0.0:
1845 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1846 | engines: {node: '>=8'}
1847 | dev: true
1848 |
1849 | /picomatch/2.3.1:
1850 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1851 | engines: {node: '>=8.6'}
1852 | dev: true
1853 |
1854 | /pify/4.0.1:
1855 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
1856 | engines: {node: '>=6'}
1857 | dev: true
1858 |
1859 | /pirates/4.0.5:
1860 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
1861 | engines: {node: '>= 6'}
1862 | dev: true
1863 |
1864 | /pkg-dir/4.2.0:
1865 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
1866 | engines: {node: '>=8'}
1867 | dependencies:
1868 | find-up: 4.1.0
1869 | dev: true
1870 |
1871 | /postcss-load-config/3.1.4:
1872 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
1873 | engines: {node: '>= 10'}
1874 | peerDependencies:
1875 | postcss: '>=8.0.9'
1876 | ts-node: '>=9.0.0'
1877 | peerDependenciesMeta:
1878 | postcss:
1879 | optional: true
1880 | ts-node:
1881 | optional: true
1882 | dependencies:
1883 | lilconfig: 2.0.6
1884 | yaml: 1.10.2
1885 | dev: true
1886 |
1887 | /preferred-pm/3.0.3:
1888 | resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==}
1889 | engines: {node: '>=10'}
1890 | dependencies:
1891 | find-up: 5.0.0
1892 | find-yarn-workspace-root2: 1.2.16
1893 | path-exists: 4.0.0
1894 | which-pm: 2.0.0
1895 | dev: true
1896 |
1897 | /prettier/2.8.3:
1898 | resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==}
1899 | engines: {node: '>=10.13.0'}
1900 | hasBin: true
1901 | dev: true
1902 |
1903 | /pseudomap/1.0.2:
1904 | resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
1905 | dev: true
1906 |
1907 | /punycode/2.2.0:
1908 | resolution: {integrity: sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==}
1909 | engines: {node: '>=6'}
1910 | dev: true
1911 |
1912 | /queue-microtask/1.2.3:
1913 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1914 | dev: true
1915 |
1916 | /quick-lru/4.0.1:
1917 | resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
1918 | engines: {node: '>=8'}
1919 | dev: true
1920 |
1921 | /react-dom/18.2.0_react@18.2.0:
1922 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
1923 | peerDependencies:
1924 | react: ^18.2.0
1925 | dependencies:
1926 | loose-envify: 1.4.0
1927 | react: 18.2.0
1928 | scheduler: 0.23.0
1929 | dev: false
1930 |
1931 | /react-universal-interface/0.6.2_react@18.2.0+tslib@2.4.1:
1932 | resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==}
1933 | peerDependencies:
1934 | react: '*'
1935 | tslib: '*'
1936 | dependencies:
1937 | react: 18.2.0
1938 | tslib: 2.4.1
1939 | dev: false
1940 |
1941 | /react-use/17.4.0_biqbaboplfbrettd7655fr4n2y:
1942 | resolution: {integrity: sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q==}
1943 | peerDependencies:
1944 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1945 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
1946 | dependencies:
1947 | '@types/js-cookie': 2.2.7
1948 | '@xobotyi/scrollbar-width': 1.9.5
1949 | copy-to-clipboard: 3.3.3
1950 | fast-deep-equal: 3.1.3
1951 | fast-shallow-equal: 1.0.0
1952 | js-cookie: 2.2.1
1953 | nano-css: 5.3.5_biqbaboplfbrettd7655fr4n2y
1954 | react: 18.2.0
1955 | react-dom: 18.2.0_react@18.2.0
1956 | react-universal-interface: 0.6.2_react@18.2.0+tslib@2.4.1
1957 | resize-observer-polyfill: 1.5.1
1958 | screenfull: 5.2.0
1959 | set-harmonic-interval: 1.0.1
1960 | throttle-debounce: 3.0.1
1961 | ts-easing: 0.2.0
1962 | tslib: 2.4.1
1963 | dev: false
1964 |
1965 | /react/18.2.0:
1966 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
1967 | engines: {node: '>=0.10.0'}
1968 | dependencies:
1969 | loose-envify: 1.4.0
1970 | dev: false
1971 |
1972 | /read-pkg-up/7.0.1:
1973 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
1974 | engines: {node: '>=8'}
1975 | dependencies:
1976 | find-up: 4.1.0
1977 | read-pkg: 5.2.0
1978 | type-fest: 0.8.1
1979 | dev: true
1980 |
1981 | /read-pkg/5.2.0:
1982 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
1983 | engines: {node: '>=8'}
1984 | dependencies:
1985 | '@types/normalize-package-data': 2.4.1
1986 | normalize-package-data: 2.5.0
1987 | parse-json: 5.2.0
1988 | type-fest: 0.6.0
1989 | dev: true
1990 |
1991 | /read-yaml-file/1.1.0:
1992 | resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
1993 | engines: {node: '>=6'}
1994 | dependencies:
1995 | graceful-fs: 4.2.10
1996 | js-yaml: 3.14.1
1997 | pify: 4.0.1
1998 | strip-bom: 3.0.0
1999 | dev: true
2000 |
2001 | /readdirp/3.6.0:
2002 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
2003 | engines: {node: '>=8.10.0'}
2004 | dependencies:
2005 | picomatch: 2.3.1
2006 | dev: true
2007 |
2008 | /redent/3.0.0:
2009 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
2010 | engines: {node: '>=8'}
2011 | dependencies:
2012 | indent-string: 4.0.0
2013 | strip-indent: 3.0.0
2014 | dev: true
2015 |
2016 | /regenerator-runtime/0.13.11:
2017 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
2018 |
2019 | /regexp.prototype.flags/1.4.3:
2020 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
2021 | engines: {node: '>= 0.4'}
2022 | dependencies:
2023 | call-bind: 1.0.2
2024 | define-properties: 1.1.4
2025 | functions-have-names: 1.2.3
2026 | dev: true
2027 |
2028 | /require-directory/2.1.1:
2029 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
2030 | engines: {node: '>=0.10.0'}
2031 | dev: true
2032 |
2033 | /require-main-filename/2.0.0:
2034 | resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
2035 | dev: true
2036 |
2037 | /resize-observer-polyfill/1.5.1:
2038 | resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
2039 | dev: false
2040 |
2041 | /resolve-from/5.0.0:
2042 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
2043 | engines: {node: '>=8'}
2044 | dev: true
2045 |
2046 | /resolve/1.22.1:
2047 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
2048 | hasBin: true
2049 | dependencies:
2050 | is-core-module: 2.11.0
2051 | path-parse: 1.0.7
2052 | supports-preserve-symlinks-flag: 1.0.0
2053 | dev: true
2054 |
2055 | /reusify/1.0.4:
2056 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2057 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2058 | dev: true
2059 |
2060 | /rollup/3.10.0:
2061 | resolution: {integrity: sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==}
2062 | engines: {node: '>=14.18.0', npm: '>=8.0.0'}
2063 | hasBin: true
2064 | optionalDependencies:
2065 | fsevents: 2.3.2
2066 | dev: true
2067 |
2068 | /rtl-css-js/1.16.1:
2069 | resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==}
2070 | dependencies:
2071 | '@babel/runtime': 7.20.7
2072 | dev: false
2073 |
2074 | /run-parallel/1.2.0:
2075 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2076 | dependencies:
2077 | queue-microtask: 1.2.3
2078 | dev: true
2079 |
2080 | /safe-regex-test/1.0.0:
2081 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
2082 | dependencies:
2083 | call-bind: 1.0.2
2084 | get-intrinsic: 1.1.3
2085 | is-regex: 1.1.4
2086 | dev: true
2087 |
2088 | /safer-buffer/2.1.2:
2089 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
2090 | dev: true
2091 |
2092 | /scheduler/0.23.0:
2093 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
2094 | dependencies:
2095 | loose-envify: 1.4.0
2096 | dev: false
2097 |
2098 | /screenfull/5.2.0:
2099 | resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==}
2100 | engines: {node: '>=0.10.0'}
2101 | dev: false
2102 |
2103 | /semver/5.7.1:
2104 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
2105 | hasBin: true
2106 | dev: true
2107 |
2108 | /set-blocking/2.0.0:
2109 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
2110 | dev: true
2111 |
2112 | /set-harmonic-interval/1.0.1:
2113 | resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==}
2114 | engines: {node: '>=6.9'}
2115 | dev: false
2116 |
2117 | /shebang-command/1.2.0:
2118 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
2119 | engines: {node: '>=0.10.0'}
2120 | dependencies:
2121 | shebang-regex: 1.0.0
2122 | dev: true
2123 |
2124 | /shebang-command/2.0.0:
2125 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2126 | engines: {node: '>=8'}
2127 | dependencies:
2128 | shebang-regex: 3.0.0
2129 | dev: true
2130 |
2131 | /shebang-regex/1.0.0:
2132 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
2133 | engines: {node: '>=0.10.0'}
2134 | dev: true
2135 |
2136 | /shebang-regex/3.0.0:
2137 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2138 | engines: {node: '>=8'}
2139 | dev: true
2140 |
2141 | /side-channel/1.0.4:
2142 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
2143 | dependencies:
2144 | call-bind: 1.0.2
2145 | get-intrinsic: 1.1.3
2146 | object-inspect: 1.12.3
2147 | dev: true
2148 |
2149 | /signal-exit/3.0.7:
2150 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
2151 | dev: true
2152 |
2153 | /slash/3.0.0:
2154 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2155 | engines: {node: '>=8'}
2156 | dev: true
2157 |
2158 | /smartwrap/2.0.2:
2159 | resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==}
2160 | engines: {node: '>=6'}
2161 | hasBin: true
2162 | dependencies:
2163 | array.prototype.flat: 1.3.1
2164 | breakword: 1.0.5
2165 | grapheme-splitter: 1.0.4
2166 | strip-ansi: 6.0.1
2167 | wcwidth: 1.0.1
2168 | yargs: 15.4.1
2169 | dev: true
2170 |
2171 | /source-map/0.5.6:
2172 | resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==}
2173 | engines: {node: '>=0.10.0'}
2174 | dev: false
2175 |
2176 | /source-map/0.6.1:
2177 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
2178 | engines: {node: '>=0.10.0'}
2179 | dev: false
2180 |
2181 | /source-map/0.8.0-beta.0:
2182 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
2183 | engines: {node: '>= 8'}
2184 | dependencies:
2185 | whatwg-url: 7.1.0
2186 | dev: true
2187 |
2188 | /sourcemap-codec/1.4.8:
2189 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
2190 | deprecated: Please use @jridgewell/sourcemap-codec instead
2191 | dev: false
2192 |
2193 | /spawndamnit/2.0.0:
2194 | resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==}
2195 | dependencies:
2196 | cross-spawn: 5.1.0
2197 | signal-exit: 3.0.7
2198 | dev: true
2199 |
2200 | /spdx-correct/3.1.1:
2201 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==}
2202 | dependencies:
2203 | spdx-expression-parse: 3.0.1
2204 | spdx-license-ids: 3.0.12
2205 | dev: true
2206 |
2207 | /spdx-exceptions/2.3.0:
2208 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
2209 | dev: true
2210 |
2211 | /spdx-expression-parse/3.0.1:
2212 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
2213 | dependencies:
2214 | spdx-exceptions: 2.3.0
2215 | spdx-license-ids: 3.0.12
2216 | dev: true
2217 |
2218 | /spdx-license-ids/3.0.12:
2219 | resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==}
2220 | dev: true
2221 |
2222 | /sprintf-js/1.0.3:
2223 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
2224 | dev: true
2225 |
2226 | /stack-generator/2.0.10:
2227 | resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==}
2228 | dependencies:
2229 | stackframe: 1.3.4
2230 | dev: false
2231 |
2232 | /stackframe/1.3.4:
2233 | resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
2234 | dev: false
2235 |
2236 | /stacktrace-gps/3.1.2:
2237 | resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==}
2238 | dependencies:
2239 | source-map: 0.5.6
2240 | stackframe: 1.3.4
2241 | dev: false
2242 |
2243 | /stacktrace-js/2.0.2:
2244 | resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==}
2245 | dependencies:
2246 | error-stack-parser: 2.1.4
2247 | stack-generator: 2.0.10
2248 | stacktrace-gps: 3.1.2
2249 | dev: false
2250 |
2251 | /stream-transform/2.1.3:
2252 | resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==}
2253 | dependencies:
2254 | mixme: 0.5.4
2255 | dev: true
2256 |
2257 | /string-width/4.2.3:
2258 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2259 | engines: {node: '>=8'}
2260 | dependencies:
2261 | emoji-regex: 8.0.0
2262 | is-fullwidth-code-point: 3.0.0
2263 | strip-ansi: 6.0.1
2264 | dev: true
2265 |
2266 | /string.prototype.trimend/1.0.6:
2267 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
2268 | dependencies:
2269 | call-bind: 1.0.2
2270 | define-properties: 1.1.4
2271 | es-abstract: 1.21.1
2272 | dev: true
2273 |
2274 | /string.prototype.trimstart/1.0.6:
2275 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
2276 | dependencies:
2277 | call-bind: 1.0.2
2278 | define-properties: 1.1.4
2279 | es-abstract: 1.21.1
2280 | dev: true
2281 |
2282 | /strip-ansi/6.0.1:
2283 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2284 | engines: {node: '>=8'}
2285 | dependencies:
2286 | ansi-regex: 5.0.1
2287 | dev: true
2288 |
2289 | /strip-bom/3.0.0:
2290 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
2291 | engines: {node: '>=4'}
2292 | dev: true
2293 |
2294 | /strip-final-newline/2.0.0:
2295 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
2296 | engines: {node: '>=6'}
2297 | dev: true
2298 |
2299 | /strip-indent/3.0.0:
2300 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
2301 | engines: {node: '>=8'}
2302 | dependencies:
2303 | min-indent: 1.0.1
2304 | dev: true
2305 |
2306 | /stylis/4.1.3:
2307 | resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==}
2308 | dev: false
2309 |
2310 | /sucrase/3.29.0:
2311 | resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==}
2312 | engines: {node: '>=8'}
2313 | hasBin: true
2314 | dependencies:
2315 | commander: 4.1.1
2316 | glob: 7.1.6
2317 | lines-and-columns: 1.2.4
2318 | mz: 2.7.0
2319 | pirates: 4.0.5
2320 | ts-interface-checker: 0.1.13
2321 | dev: true
2322 |
2323 | /supports-color/5.5.0:
2324 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2325 | engines: {node: '>=4'}
2326 | dependencies:
2327 | has-flag: 3.0.0
2328 | dev: true
2329 |
2330 | /supports-color/7.2.0:
2331 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2332 | engines: {node: '>=8'}
2333 | dependencies:
2334 | has-flag: 4.0.0
2335 | dev: true
2336 |
2337 | /supports-preserve-symlinks-flag/1.0.0:
2338 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2339 | engines: {node: '>= 0.4'}
2340 | dev: true
2341 |
2342 | /term-size/2.2.1:
2343 | resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
2344 | engines: {node: '>=8'}
2345 | dev: true
2346 |
2347 | /thenify-all/1.6.0:
2348 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
2349 | engines: {node: '>=0.8'}
2350 | dependencies:
2351 | thenify: 3.3.1
2352 | dev: true
2353 |
2354 | /thenify/3.3.1:
2355 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2356 | dependencies:
2357 | any-promise: 1.3.0
2358 | dev: true
2359 |
2360 | /throttle-debounce/3.0.1:
2361 | resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==}
2362 | engines: {node: '>=10'}
2363 | dev: false
2364 |
2365 | /tmp/0.0.33:
2366 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
2367 | engines: {node: '>=0.6.0'}
2368 | dependencies:
2369 | os-tmpdir: 1.0.2
2370 | dev: true
2371 |
2372 | /to-regex-range/5.0.1:
2373 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2374 | engines: {node: '>=8.0'}
2375 | dependencies:
2376 | is-number: 7.0.0
2377 | dev: true
2378 |
2379 | /toggle-selection/1.0.6:
2380 | resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
2381 | dev: false
2382 |
2383 | /tr46/1.0.1:
2384 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
2385 | dependencies:
2386 | punycode: 2.2.0
2387 | dev: true
2388 |
2389 | /tree-kill/1.2.2:
2390 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
2391 | hasBin: true
2392 | dev: true
2393 |
2394 | /trim-newlines/3.0.1:
2395 | resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
2396 | engines: {node: '>=8'}
2397 | dev: true
2398 |
2399 | /ts-easing/0.2.0:
2400 | resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==}
2401 | dev: false
2402 |
2403 | /ts-interface-checker/0.1.13:
2404 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2405 | dev: true
2406 |
2407 | /tslib/2.4.1:
2408 | resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
2409 | dev: false
2410 |
2411 | /tsup/6.5.0_typescript@4.9.4:
2412 | resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==}
2413 | engines: {node: '>=14'}
2414 | hasBin: true
2415 | peerDependencies:
2416 | '@swc/core': ^1
2417 | postcss: ^8.4.12
2418 | typescript: ^4.1.0
2419 | peerDependenciesMeta:
2420 | '@swc/core':
2421 | optional: true
2422 | postcss:
2423 | optional: true
2424 | typescript:
2425 | optional: true
2426 | dependencies:
2427 | bundle-require: 3.1.2_esbuild@0.15.18
2428 | cac: 6.7.14
2429 | chokidar: 3.5.3
2430 | debug: 4.3.4
2431 | esbuild: 0.15.18
2432 | execa: 5.1.1
2433 | globby: 11.1.0
2434 | joycon: 3.1.1
2435 | postcss-load-config: 3.1.4
2436 | resolve-from: 5.0.0
2437 | rollup: 3.10.0
2438 | source-map: 0.8.0-beta.0
2439 | sucrase: 3.29.0
2440 | tree-kill: 1.2.2
2441 | typescript: 4.9.4
2442 | transitivePeerDependencies:
2443 | - supports-color
2444 | - ts-node
2445 | dev: true
2446 |
2447 | /tty-table/4.1.6:
2448 | resolution: {integrity: sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw==}
2449 | engines: {node: '>=8.0.0'}
2450 | hasBin: true
2451 | dependencies:
2452 | chalk: 4.1.2
2453 | csv: 5.5.3
2454 | kleur: 4.1.5
2455 | smartwrap: 2.0.2
2456 | strip-ansi: 6.0.1
2457 | wcwidth: 1.0.1
2458 | yargs: 17.6.2
2459 | dev: true
2460 |
2461 | /type-fest/0.13.1:
2462 | resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==}
2463 | engines: {node: '>=10'}
2464 | dev: true
2465 |
2466 | /type-fest/0.6.0:
2467 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
2468 | engines: {node: '>=8'}
2469 | dev: true
2470 |
2471 | /type-fest/0.8.1:
2472 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
2473 | engines: {node: '>=8'}
2474 | dev: true
2475 |
2476 | /typed-array-length/1.0.4:
2477 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
2478 | dependencies:
2479 | call-bind: 1.0.2
2480 | for-each: 0.3.3
2481 | is-typed-array: 1.1.10
2482 | dev: true
2483 |
2484 | /typescript/4.9.4:
2485 | resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
2486 | engines: {node: '>=4.2.0'}
2487 | hasBin: true
2488 | dev: true
2489 |
2490 | /unbox-primitive/1.0.2:
2491 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2492 | dependencies:
2493 | call-bind: 1.0.2
2494 | has-bigints: 1.0.2
2495 | has-symbols: 1.0.3
2496 | which-boxed-primitive: 1.0.2
2497 | dev: true
2498 |
2499 | /universalify/0.1.2:
2500 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
2501 | engines: {node: '>= 4.0.0'}
2502 | dev: true
2503 |
2504 | /validate-npm-package-license/3.0.4:
2505 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
2506 | dependencies:
2507 | spdx-correct: 3.1.1
2508 | spdx-expression-parse: 3.0.1
2509 | dev: true
2510 |
2511 | /wcwidth/1.0.1:
2512 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
2513 | dependencies:
2514 | defaults: 1.0.4
2515 | dev: true
2516 |
2517 | /webidl-conversions/4.0.2:
2518 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
2519 | dev: true
2520 |
2521 | /whatwg-url/7.1.0:
2522 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
2523 | dependencies:
2524 | lodash.sortby: 4.7.0
2525 | tr46: 1.0.1
2526 | webidl-conversions: 4.0.2
2527 | dev: true
2528 |
2529 | /which-boxed-primitive/1.0.2:
2530 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
2531 | dependencies:
2532 | is-bigint: 1.0.4
2533 | is-boolean-object: 1.1.2
2534 | is-number-object: 1.0.7
2535 | is-string: 1.0.7
2536 | is-symbol: 1.0.4
2537 | dev: true
2538 |
2539 | /which-module/2.0.0:
2540 | resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==}
2541 | dev: true
2542 |
2543 | /which-pm/2.0.0:
2544 | resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==}
2545 | engines: {node: '>=8.15'}
2546 | dependencies:
2547 | load-yaml-file: 0.2.0
2548 | path-exists: 4.0.0
2549 | dev: true
2550 |
2551 | /which-typed-array/1.1.9:
2552 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==}
2553 | engines: {node: '>= 0.4'}
2554 | dependencies:
2555 | available-typed-arrays: 1.0.5
2556 | call-bind: 1.0.2
2557 | for-each: 0.3.3
2558 | gopd: 1.0.1
2559 | has-tostringtag: 1.0.0
2560 | is-typed-array: 1.1.10
2561 | dev: true
2562 |
2563 | /which/1.3.1:
2564 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
2565 | hasBin: true
2566 | dependencies:
2567 | isexe: 2.0.0
2568 | dev: true
2569 |
2570 | /which/2.0.2:
2571 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2572 | engines: {node: '>= 8'}
2573 | hasBin: true
2574 | dependencies:
2575 | isexe: 2.0.0
2576 | dev: true
2577 |
2578 | /wrap-ansi/6.2.0:
2579 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
2580 | engines: {node: '>=8'}
2581 | dependencies:
2582 | ansi-styles: 4.3.0
2583 | string-width: 4.2.3
2584 | strip-ansi: 6.0.1
2585 | dev: true
2586 |
2587 | /wrap-ansi/7.0.0:
2588 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2589 | engines: {node: '>=10'}
2590 | dependencies:
2591 | ansi-styles: 4.3.0
2592 | string-width: 4.2.3
2593 | strip-ansi: 6.0.1
2594 | dev: true
2595 |
2596 | /wrappy/1.0.2:
2597 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2598 | dev: true
2599 |
2600 | /y18n/4.0.3:
2601 | resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
2602 | dev: true
2603 |
2604 | /y18n/5.0.8:
2605 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
2606 | engines: {node: '>=10'}
2607 | dev: true
2608 |
2609 | /yallist/2.1.2:
2610 | resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
2611 | dev: true
2612 |
2613 | /yaml/1.10.2:
2614 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
2615 | engines: {node: '>= 6'}
2616 | dev: true
2617 |
2618 | /yargs-parser/18.1.3:
2619 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
2620 | engines: {node: '>=6'}
2621 | dependencies:
2622 | camelcase: 5.3.1
2623 | decamelize: 1.2.0
2624 | dev: true
2625 |
2626 | /yargs-parser/21.1.1:
2627 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
2628 | engines: {node: '>=12'}
2629 | dev: true
2630 |
2631 | /yargs/15.4.1:
2632 | resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
2633 | engines: {node: '>=8'}
2634 | dependencies:
2635 | cliui: 6.0.0
2636 | decamelize: 1.2.0
2637 | find-up: 4.1.0
2638 | get-caller-file: 2.0.5
2639 | require-directory: 2.1.1
2640 | require-main-filename: 2.0.0
2641 | set-blocking: 2.0.0
2642 | string-width: 4.2.3
2643 | which-module: 2.0.0
2644 | y18n: 4.0.3
2645 | yargs-parser: 18.1.3
2646 | dev: true
2647 |
2648 | /yargs/17.6.2:
2649 | resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==}
2650 | engines: {node: '>=12'}
2651 | dependencies:
2652 | cliui: 8.0.1
2653 | escalade: 3.1.1
2654 | get-caller-file: 2.0.5
2655 | require-directory: 2.1.1
2656 | string-width: 4.2.3
2657 | y18n: 5.0.8
2658 | yargs-parser: 21.1.1
2659 | dev: true
2660 |
2661 | /yocto-queue/0.1.0:
2662 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2663 | engines: {node: '>=10'}
2664 | dev: true
2665 |
--------------------------------------------------------------------------------
/src/components/end/end.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { END_TYPE_KEY } from '../../core/constants';
3 | import { OnboardingService } from '../../core/services/core.service';
4 |
5 | export const End = ({
6 | children,
7 | }: {
8 | children: ({ result }: { result: object }) => React.ReactNode;
9 | }): React.ReactNode => {
10 | return children({ result: OnboardingService.getResult() });
11 | };
12 |
13 | End.__type = END_TYPE_KEY;
14 |
--------------------------------------------------------------------------------
/src/components/field/field.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import { useMount } from 'react-use';
3 | import { FIELD_TYPE_KEY } from '../../core/constants';
4 |
5 | import { FieldEnhancements } from '../../core/index.core';
6 | import { OnboardingService } from '../../core/services/core.service';
7 | import { snakeCase } from '../../core/utils';
8 |
9 | interface EnterValidation {
10 | name: string;
11 | on: string;
12 | validations?: string[];
13 | }
14 |
15 | interface Validation {
16 | name: string;
17 | on: 'change' | 'focus' | 'blur' | 'enter';
18 | validator: Function;
19 | errorMessage: string;
20 | }
21 |
22 | interface FieldHanders {
23 | value: string;
24 | type: string;
25 | onChange: Function;
26 | onBlur: Function;
27 | onFocus: Function;
28 | onEnter: Function;
29 | error: string | null;
30 | valid: boolean;
31 | }
32 |
33 | interface Props {
34 | __enhancements: FieldEnhancements;
35 | validations: Validation[];
36 | name: string;
37 | type: string;
38 | children: (props: FieldHanders) => JSX.Element;
39 | }
40 |
41 | export const Field = ({
42 | children,
43 | name,
44 | type,
45 | validations = [],
46 | __enhancements,
47 | }: Props) => {
48 | const [value, setValue] = useState('');
49 | const [valid, setValid] = useState(true);
50 | const [error, setError] = useState(null);
51 |
52 | const snakedName = snakeCase(name);
53 | const { step, setProcessed, setValidStep } = __enhancements;
54 |
55 | useMount(() => {
56 | // Register the field on the Onboarding Service
57 | OnboardingService.setField(snakedName, step);
58 | // Retrieve the value in case there's already a value stored for this field
59 | const serviceValue = OnboardingService.getFieldValue(snakedName, step);
60 | setValue(serviceValue);
61 | });
62 |
63 | const onChange = (value: string) => {
64 | setValue(value);
65 | OnboardingService.setFieldValue(snakedName, step, value);
66 |
67 | if (validations.length === 0) {
68 | setProcessed(true);
69 | return;
70 | }
71 |
72 | const onChangeValidations = validations.filter(
73 | (validation) => validation.on === 'change',
74 | );
75 |
76 | if (onChangeValidations.length === 0) {
77 | setProcessed(true);
78 | return;
79 | }
80 |
81 | const amountOfOnChangeValidations = onChangeValidations.length;
82 |
83 | let errored = false;
84 |
85 | for (let i = 0; i < amountOfOnChangeValidations && !errored; i++) {
86 | const validationOk = onChangeValidations[i]?.validator(value);
87 | const validation = onChangeValidations[i] as Validation;
88 |
89 | if (!validationOk) {
90 | setError(validation.errorMessage);
91 | errored = true;
92 | }
93 |
94 | setValidStep(validationOk);
95 | setValid(validationOk);
96 | }
97 | };
98 |
99 | const onFocus = () => {
100 | if (validations.length === 0) {
101 | setProcessed(true);
102 | return;
103 | }
104 |
105 | const onFocusValidations = validations.filter(
106 | (validation) => validation.on === 'focus',
107 | );
108 |
109 | if (onFocusValidations.length === 0) {
110 | setProcessed(true);
111 | return;
112 | }
113 |
114 | const amountOfOnFocusValidations = onFocusValidations.length;
115 |
116 | let errored = false;
117 |
118 | for (let i = 0; i < amountOfOnFocusValidations && !errored; i++) {
119 | const validationOk = onFocusValidations[i]?.validator(value);
120 | const validation = onFocusValidations[i] as Validation;
121 |
122 | if (!validationOk) {
123 | setError(validation.errorMessage);
124 | errored = true;
125 | }
126 |
127 | setValidStep(validationOk);
128 | setValid(validationOk);
129 | }
130 | };
131 |
132 | const onBlur = () => {
133 | if (validations.length === 0) {
134 | setProcessed(true);
135 | return;
136 | }
137 |
138 | const onBlurValidations = validations.filter(
139 | (validation) => validation.on === 'blur',
140 | );
141 |
142 | if (onBlurValidations.length === 0) {
143 | setProcessed(true);
144 | return;
145 | }
146 |
147 | const amountOfOnBlurValidations = onBlurValidations.length;
148 |
149 | let errored = false;
150 |
151 | for (let i = 0; i < amountOfOnBlurValidations && !errored; i++) {
152 | const validationOk = onBlurValidations[i]?.validator(value);
153 | const validation = onBlurValidations[i] as Validation;
154 |
155 | if (!validationOk) {
156 | setError(validation.errorMessage);
157 | errored = true;
158 | }
159 |
160 | setValidStep(validationOk);
161 | setValid(validationOk);
162 | }
163 | };
164 |
165 | const onEnter = (callback?: () => void) => {
166 | if (validations.length === 0) {
167 | setProcessed(true);
168 | return;
169 | }
170 |
171 | const onEnterValidations = validations.filter(
172 | (validation) => validation.on === 'enter',
173 | );
174 |
175 | if (onEnterValidations.length === 0) {
176 | setProcessed(true);
177 | return;
178 | }
179 |
180 | const amountOfOnEnterValidations = onEnterValidations.length;
181 |
182 | let errored = false;
183 |
184 | for (let i = 0; i < amountOfOnEnterValidations && !errored; i++) {
185 | const validationOk = onEnterValidations[i]?.validator(value);
186 | const validation = onEnterValidations[i] as Validation;
187 |
188 | if (!validationOk) {
189 | setError(validation.errorMessage);
190 | errored = true;
191 | }
192 |
193 | setValidStep(validationOk);
194 | setValid(validationOk);
195 | }
196 |
197 | if (valid && callback) {
198 | callback();
199 | }
200 | };
201 |
202 | return children({
203 | value,
204 | type,
205 | onChange,
206 | onBlur,
207 | onFocus,
208 | onEnter,
209 | error,
210 | valid,
211 | });
212 | };
213 |
214 | Field.__type = FIELD_TYPE_KEY;
215 |
--------------------------------------------------------------------------------
/src/components/index.ts:
--------------------------------------------------------------------------------
1 | import { Onboarding } from './onboarding/onboarding';
2 | import { Step } from './step/step';
3 | import { Field } from './field/field';
4 | import { End } from './end/end';
5 |
6 | export { Onboarding, Step, Field, End };
7 |
--------------------------------------------------------------------------------
/src/components/onboarding/onboarding.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState, useRef } from 'react';
2 | import { END_TYPE_KEY, STEP_TYPE_KEY } from '../../core/constants';
3 | import { calculateNumberOfSteps, enhanceStep } from '../../core/index.core';
4 | import { OnboardingContext } from '../../core/services/onboarding-context';
5 |
6 | interface Props {
7 | initialStep: number;
8 | finished: boolean;
9 | children: JSX.Element | JSX.Element[];
10 | }
11 |
12 | interface State {
13 | initialStep: number;
14 | currentStep: number;
15 | finished: boolean;
16 | }
17 |
18 | export const Onboarding = ({ initialStep, finished, children }: Props) => {
19 | const [state, setState] = useState({
20 | initialStep: initialStep || 0,
21 | currentStep: initialStep || 0,
22 | finished: false,
23 | });
24 |
25 | const numberOfSteps = useRef(calculateNumberOfSteps(children));
26 |
27 | const nextStep = () => {
28 | if (state.currentStep + 1 >= numberOfSteps.current) return;
29 | setState((prev) => ({ ...prev, currentStep: prev.currentStep + 1 }));
30 | };
31 |
32 | const prevStep = () => {
33 | if (state.currentStep - 1 < 0) return;
34 | setState((prev) => ({ ...prev, currentStep: state.currentStep - 1 }));
35 | };
36 |
37 | const finishForm = () => {
38 | setState((prev) => ({ ...prev, finished: true }));
39 | };
40 |
41 | let encounteredStep = 0;
42 | let stepFound = false;
43 | let processedSteps: JSX.Element[] = [];
44 |
45 | const elements = React.Children.map(children, (child: JSX.Element) => {
46 | // Somehow, there could be childs that are null
47 | // Maybe related to {onboardingComplete && ()} expressions
48 | // We have to skip those null child since we don't want to render them
49 | if (!child) return;
50 | const type = child.type.__type;
51 | // Components that are not type STEP or END
52 | // didn't have a TYPE_KEY so we could have ended
53 | // with a end page with aditional unwanted components
54 | if (!finished && !type) return child;
55 | if (!finished && type === END_TYPE_KEY) return;
56 | if (!finished && type !== END_TYPE_KEY && type !== STEP_TYPE_KEY)
57 | return child;
58 | if (!finished && type === STEP_TYPE_KEY) {
59 | // Check to avoid duplicated step identifiers
60 | if (processedSteps.includes(child.props.name)) {
61 | throw new Error(
62 | `You have defined a duplicated step. ${child.props.name} step has already been defined.`,
63 | );
64 | }
65 | processedSteps = [...processedSteps, child.props.name];
66 | if (encounteredStep === state.currentStep && !stepFound) {
67 | stepFound = true;
68 | return enhanceStep(child, {
69 | nextStep: nextStep,
70 | prevStep: prevStep,
71 | finish: finishForm,
72 | });
73 | }
74 | encounteredStep = encounteredStep + 1;
75 | return;
76 | }
77 | if (finished && type !== END_TYPE_KEY) return;
78 | if (finished && type === END_TYPE_KEY) return child;
79 | });
80 |
81 | return (
82 |
91 | {elements}
92 |
93 | );
94 | };
95 |
--------------------------------------------------------------------------------
/src/components/step/step.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import { useMount } from 'react-use';
3 | import { FIELD_TYPE_KEY, STEP_TYPE_KEY } from '../../core/constants';
4 | import { enhanceField, StepEnhancements } from '../../core/index.core';
5 | import { OnboardingService } from '../../core/services/core.service';
6 | import { snakeCase } from '../../core/utils';
7 |
8 | interface Props {
9 | name: string;
10 | /**
11 | * There's a special step type: the conversational step
12 | * This field is ment to be a source of feedback to the user
13 | * meaning that, it won't have any fields or validations so,
14 | * this step should be processed and valid by default.
15 | */
16 | conversational: boolean;
17 | children: (props: StepEnhancements) => JSX.Element;
18 | __enhancements: StepEnhancements;
19 | }
20 |
21 | export const Step = ({
22 | name,
23 | conversational,
24 | children,
25 | __enhancements,
26 | }: Props) => {
27 | const [valid, setValidStep] = useState(true);
28 | const [processed, setProcessed] = useState(conversational);
29 |
30 | const snakedName = snakeCase(name);
31 | const { finish, nextStep, prevStep, validStep } = __enhancements;
32 |
33 | useMount(() => {
34 | if (!conversational) {
35 | OnboardingService.setStep(snakedName);
36 | }
37 | /**
38 | * To be able to have optional steps
39 | * we have to check if some of the children have validations attached
40 | * this way. A step, by default has an unprocessed state (!processed)
41 | * meaning that the user have to provide some input. By checking if
42 | * the child have validations we could declare this step as processed beforehand
43 | * so we can click next without having to provide any input
44 | */
45 | const {
46 | props: { children: stepContents },
47 | } = children({
48 | nextStep: () => {},
49 | prevStep: () => {},
50 | finish: () => {},
51 | validStep: true,
52 | });
53 |
54 | const someHaveValidations = stepContents.some(
55 | (child: JSX.Element) => child.props.validations,
56 | );
57 |
58 | if (someHaveValidations) return;
59 |
60 | setProcessed(true);
61 | });
62 |
63 | const stepContents = children({
64 | nextStep: processed ? nextStep : () => null,
65 | prevStep: prevStep ? prevStep : () => null,
66 | finish: processed ? finish : () => null,
67 | validStep: validStep,
68 | });
69 |
70 | return {
71 | ...stepContents,
72 | props: {
73 | children: React.Children.map(
74 | stepContents.props.children,
75 | (child: JSX.Element) => {
76 | if (!child) return;
77 | const type = child.type.__type;
78 | if (type === FIELD_TYPE_KEY) {
79 | return enhanceField(child, {
80 | step: snakedName,
81 | setValidStep: setValidStep,
82 | setProcessed: setProcessed,
83 | });
84 | }
85 | return child;
86 | },
87 | ),
88 | },
89 | };
90 | };
91 |
92 | Step.__type = STEP_TYPE_KEY;
93 |
--------------------------------------------------------------------------------
/src/core/constants/index.ts:
--------------------------------------------------------------------------------
1 | export const STEP_TYPE_KEY: string = 'STEP';
2 | export const FIELD_TYPE_KEY: string = 'FIELD';
3 | export const END_TYPE_KEY: string = 'END';
4 |
--------------------------------------------------------------------------------
/src/core/index.core.ts:
--------------------------------------------------------------------------------
1 | import { Children } from 'react';
2 | import { STEP_TYPE_KEY, FIELD_TYPE_KEY } from './constants';
3 |
4 | export interface StepEnhancements {
5 | nextStep: Function;
6 | prevStep: Function;
7 | finish: Function;
8 | validStep?: boolean;
9 | }
10 |
11 | export interface EnhancedStep extends JSX.Element {
12 | nextStep: Function;
13 | prevStep: Function;
14 | finish: Function;
15 | }
16 |
17 | export interface FieldEnhancements {
18 | step: string;
19 | setProcessed: Function;
20 | setValidStep: Function;
21 | }
22 |
23 | export interface EnhancedField extends JSX.Element {
24 | step: string;
25 | setProcessed: Function;
26 | setValidStep: Function;
27 | }
28 |
29 | /**
30 | * PUBLIC
31 | * This function calculates the number of steps that
32 | * are present in an Array of React Components.
33 | * This will only count the first level of steps due to
34 | * there's no reason for a step to be within a step.
35 | * @param {Array} tree
36 | */
37 | export function calculateNumberOfSteps(
38 | tree: JSX.Element[] | JSX.Element,
39 | ): number {
40 | return Children.map(tree, (leaf) => {
41 | if (leaf.type.__type === STEP_TYPE_KEY) return leaf;
42 | return;
43 | }).length;
44 | }
45 | /**
46 | * PUBLIC
47 | * This function enhaces a step (React Object) with
48 | * some required internal data to make the system work
49 | * as expected.
50 | * @param {Object} step
51 | * @param {Object} enhancements
52 | */
53 | export function enhanceStep(
54 | step: JSX.Element,
55 | enhancements: StepEnhancements,
56 | ): JSX.Element | EnhancedStep {
57 | const type = step.type.__type;
58 | if (type !== STEP_TYPE_KEY) return step;
59 | return {
60 | ...step,
61 | key: step.props.name,
62 | props: {
63 | ...step.props,
64 | __enhancements: enhancements,
65 | },
66 | };
67 | }
68 | /**
69 | * PUBLIC
70 | * This function enhaces a field (React Object) with
71 | * some required internal data to make the system work
72 | * as expected.
73 | * @param {Object} step
74 | * @param {Object} enhancements
75 | */
76 | export function enhanceField(
77 | field: JSX.Element,
78 | enhancements: FieldEnhancements,
79 | ): JSX.Element | EnhancedField {
80 | const type = field.type.__type;
81 | if (type !== FIELD_TYPE_KEY) return field;
82 | return {
83 | ...field,
84 | key: field.props.name,
85 | props: {
86 | ...field.props,
87 | __enhancements: enhancements,
88 | },
89 | };
90 | }
91 |
--------------------------------------------------------------------------------
/src/core/services/core.service.ts:
--------------------------------------------------------------------------------
1 | export type Field = Map;
2 | export type Steps = Map;
3 |
4 | interface IOnboardingService {
5 | tree: object;
6 | setStep(step: string): void;
7 | setField(field: string, step: string): void;
8 | setFieldValue(field: string, step: string, value: string): void;
9 | getFieldValue(field: string, step: string): string;
10 | getResult: () => object;
11 | }
12 |
13 | function OnboardingService(): IOnboardingService {
14 | const tree: Steps = new Map();
15 |
16 | function setStep(name: string) {
17 | if (tree.get(name)) return;
18 |
19 | tree.set(name, new Map());
20 | }
21 |
22 | function setField(fieldName: string, stepName: string) {
23 | const step = tree.get(stepName);
24 |
25 | if (!step) {
26 | throw new Error(
27 | `Tying to set the value of a field on a non-existing step [${stepName}]`,
28 | );
29 | }
30 |
31 | const field = step.get(fieldName);
32 |
33 | // If the field already exists, do nothing, we don't want to override it
34 | if (field) {
35 | return;
36 | }
37 |
38 | step.set(fieldName, '');
39 | }
40 |
41 | function setFieldValue(fieldName: string, stepName: string, value: string) {
42 | const step = tree.get(stepName);
43 |
44 | if (!step) {
45 | throw new Error(
46 | `Tying to set the value of a field on a non-existing step [${stepName}]`,
47 | );
48 | }
49 |
50 | const field = step.get(fieldName);
51 |
52 | // If the field already exists, do nothing, we don't want to override it
53 | if (!field) {
54 | throw new Error(
55 | `Trying to set a value on a non-existing field [${fieldName}]`,
56 | );
57 | }
58 |
59 | step.set(fieldName, value);
60 | }
61 |
62 | function getFieldValue(fieldName: string, stepName: string) {
63 | const step = tree.get(stepName);
64 |
65 | if (!step) {
66 | throw new Error(
67 | `Tying to set the value of a field on a non-existing step [${stepName}]`,
68 | );
69 | }
70 |
71 | return step.get(fieldName);
72 | }
73 |
74 | function getResult() {
75 | return Object.fromEntries(tree);
76 | }
77 |
78 | return {
79 | tree,
80 | setStep,
81 | setField,
82 | setFieldValue,
83 | getFieldValue,
84 | getResult,
85 | };
86 | }
87 |
88 | const onboardingService = OnboardingService();
89 | export { onboardingService as OnboardingService };
90 |
--------------------------------------------------------------------------------
/src/core/services/onboarding-context.ts:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 |
3 | export const OnboardingContext = createContext({});
4 |
--------------------------------------------------------------------------------
/src/core/utils/index.ts:
--------------------------------------------------------------------------------
1 | import { snakeCase } from './snake-case.util';
2 |
3 | export { snakeCase };
4 |
--------------------------------------------------------------------------------
/src/core/utils/snake-case.util.ts:
--------------------------------------------------------------------------------
1 | export function snakeCase(value: string): string {
2 | return value.replace(/-/gi, '_');
3 | }
4 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export { Onboarding, Step, Field, End } from './components';
2 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2019",
4 | "module": "commonjs",
5 | "esModuleInterop": true,
6 | "forceConsistentCasingInFileNames": true,
7 | "strict": true,
8 | "skipLibCheck": true,
9 | "noUncheckedIndexedAccess": true,
10 | "noEmit": true,
11 | "jsx": "react"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------