├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── dependabot.yml
└── wokflows
│ └── main.yml
├── .gitignore
├── .husky
└── pre-commit
├── .prettierignore
├── .prettierrc
├── LICENSE
├── README.md
├── eslint.config.mjs
├── package.json
├── pnpm-lock.yaml
├── rollup.config.mjs
├── src
├── HubspotProvider.tsx
├── hubspot.types.ts
├── index.ts
├── useHubspot.ts
└── useHubspotForm.tsx
└── tsconfig.json
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # Please see the documentation for all configuration options:
4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5 |
6 | version: 2
7 | updates:
8 | - package-ecosystem: "npm" # See documentation for possible values
9 | directory: "/" # Location of package manifests
10 | schedule:
11 | interval: "monthly"
12 |
--------------------------------------------------------------------------------
/.github/wokflows/main.yml:
--------------------------------------------------------------------------------
1 | on: [push]
2 |
3 | jobs:
4 | lint:
5 | runs-on: ubuntu-latest
6 | name: Run eslint
7 | steps:
8 | - uses: actions/checkout@v1
9 | - uses: actions/setup-node@v1
10 | with:
11 | node-version: "16.x"
12 | - run: yarn
13 | - run: yarn lint
14 | tsc:
15 | runs-on: ubuntu-latest
16 | name: Check typescript
17 | steps:
18 | - uses: actions/checkout@v1
19 | - uses: actions/setup-node@v1
20 | with:
21 | node-version: "16.x"
22 | - run: yarn
23 | - run: yarn tsc
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | lib
3 | examples
4 | build
5 | test
6 | src/**.js
7 | *.log
8 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | . "$(dirname "$0")/_/husky.sh"
3 |
4 | npm run pre-commit
5 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .github
2 | lib
3 | node_modules
4 | pnpm-lock.yaml
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 100,
3 | "semi": true,
4 | "trailingComma": "all"
5 | }
6 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Roman Zhuravlov
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | "Software"), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ⭐ Hubspot Forms for Next.js
2 |
3 | Embed HubSpot forms into your Next.js application using hooks.
4 |
5 | [](https://www.npmjs.com/package/next-hubspot)
6 | [](https://bundlephobia.com/result?p=next-hubspot)
7 | 
8 | [](https://github.com/snelsi/next-hubspot/blob/master/LICENSE)
9 |
10 | 🌳 Tiny and Tree-Shakable
11 |
12 | 🦄 Written in TypeScript
13 |
14 | 👾 Works with multiple forms
15 |
16 | 😎 Uses `next/script` component
17 |
18 | ## Install
19 |
20 | ```ssh
21 | npm install next-hubspot
22 | ```
23 |
24 | or
25 |
26 | ```ssh
27 | pnpm add next-hubspot
28 | ```
29 |
30 | or
31 |
32 | ```ssh
33 | yarn add next-hubspot
34 | ```
35 |
36 | ## Pure ESM package
37 |
38 | This package is now [pure ESM](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). It cannot be `require()`'d from CommonJS.
39 |
40 | ## Getting Started
41 |
42 | Wrap your application with `HubspotProvider`. This will add [Hubspot script](https://js.hsforms.net/forms/v2.js) to your document.
43 | All props are passed directly to the Script tag, so you can use all props from the [next/script documentation](https://nextjs.org/docs/api-reference/next/script).
44 |
45 | ```TSX
46 | import { HubspotProvider } from 'next-hubspot';
47 |
48 | const MyApp = ({ Component, pageProps }) => (
49 |
50 |
51 |
52 | )
53 |
54 | ```
55 |
56 | ## Usage
57 |
58 | ```TSX
59 | import { useHubspotForm } from 'next-hubspot';
60 |
61 | const HubspotForm = () => {
62 | const { isFormCreated, isError, error } = useHubspotForm({
63 | portalId: 'XXXXXXX',
64 | formId: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
65 | target: '#hubspot-form-wrapper'
66 | });
67 |
68 | return (
69 |
70 | )
71 | }
72 | ```
73 |
74 | All props are based on the [HubSpot docs](https://legacydocs.hubspot.com/docs/methods/forms/advanced_form_options).
75 |
76 | ## Related Official Hubspot Documentation:
77 |
78 | - [hubspot-form-if-im-using-an-external-site](https://knowledge.hubspot.com/forms/how-can-i-share-a-hubspot-form-if-im-using-an-external-site)
79 | - [forms/advanced_form_options](https://legacydocs.hubspot.com/docs/methods/forms/advanced_form_options)
80 | - [building-blocks/forms](https://developers.hubspot.com/docs/cms/building-blocks/forms)
81 | - [buildung-blocks/forms#using-embed-code](https://developers.hubspot.com/docs/cms/building-blocks/forms#using-the-form-hubl-tag:~:text=the%20parameters%20available.-,Using%20the%20form%20embed%20code,-When%20adding%20forms)
82 |
83 | ## TypeScript
84 |
85 | The module is written in TypeScript and type definitions are included.
86 |
87 | ## Contributing
88 |
89 | Contributions, issues and feature requests are welcome!
90 |
91 | ## Show your support
92 |
93 | Give a ⭐️ if you like this project!
94 |
95 | ## LICENSE
96 |
97 | [MIT](./LICENSE)
98 |
--------------------------------------------------------------------------------
/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslint from "@eslint/js";
2 | import tseslint from "typescript-eslint";
3 | import reactPlugin from "eslint-plugin-react";
4 | import reactHooks from "eslint-plugin-react-hooks";
5 | import eslintConfigPrettier from "eslint-config-prettier";
6 |
7 | const eslintConfig = tseslint.config(
8 | eslint.configs.recommended,
9 | tseslint.configs.recommended,
10 | reactPlugin.configs.flat.recommended,
11 | reactPlugin.configs.flat["jsx-runtime"],
12 | reactHooks.configs["recommended-latest"],
13 | eslintConfigPrettier,
14 | {
15 | settings: {
16 | react: {
17 | version: "detect",
18 | },
19 | },
20 | },
21 | );
22 |
23 | export default eslintConfig;
24 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "next-hubspot",
3 | "version": "2.0.0",
4 | "description": "Hubspot forms in Next.js with no headache",
5 | "repository": {
6 | "type": "git",
7 | "url": "git+https://github.com/snelsi/next-hubspot.git"
8 | },
9 | "license": "MIT",
10 | "keywords": [
11 | "hubspot",
12 | "next",
13 | "next.js",
14 | "react",
15 | "form",
16 | "hook"
17 | ],
18 | "type": "module",
19 | "exports": "./lib/index.js",
20 | "types": "./lib/index.d.ts",
21 | "files": [
22 | "lib"
23 | ],
24 | "scripts": {
25 | "rollup": "rollup -c",
26 | "prettier": "prettier --write .",
27 | "lint": "eslint --fix",
28 | "fix": "npm run prettier && npm run lint",
29 | "pre-commit": "npm run lint && lint-staged",
30 | "prepublishOnly": "npm run rollup"
31 | },
32 | "peerDependencies": {
33 | "next": "^13 || ^14 || ^15",
34 | "react": "^18 || ^19"
35 | },
36 | "engines": {
37 | "node": ">=18.0.0"
38 | },
39 | "devDependencies": {
40 | "@eslint/js": "^9.25.1",
41 | "@rollup/plugin-node-resolve": "^16.0.1",
42 | "@rollup/plugin-typescript": "^12.1.2",
43 | "@types/node": "^22.15.3",
44 | "@types/react": "^19.1.2",
45 | "@types/react-dom": "^19.1.3",
46 | "eslint": "^9.25.1",
47 | "eslint-config-prettier": "^10.1.2",
48 | "eslint-plugin-react": "^7.37.5",
49 | "eslint-plugin-react-hooks": "^5.2.0",
50 | "husky": "^9.1.7",
51 | "lint-staged": "^15.5.1",
52 | "next": "^15.3.1",
53 | "prettier": "^3.5.3",
54 | "pretty-quick": "^4.1.1",
55 | "react": "^19.1.0",
56 | "react-dom": "^19.1.0",
57 | "rollup": "^4.40.1",
58 | "rollup-plugin-node-externals": "^8.0.0",
59 | "rollup-plugin-preserve-directives": "^0.4.0",
60 | "typescript": "^5.8.3",
61 | "typescript-eslint": "^8.31.1"
62 | },
63 | "lint-staged": {
64 | "**/*.{js,jsx,ts,tsx}": [
65 | "pretty-quick --staged"
66 | ]
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | devDependencies:
11 | '@eslint/js':
12 | specifier: ^9.25.1
13 | version: 9.25.1
14 | '@rollup/plugin-node-resolve':
15 | specifier: ^16.0.1
16 | version: 16.0.1(rollup@4.40.1)
17 | '@rollup/plugin-typescript':
18 | specifier: ^12.1.2
19 | version: 12.1.2(rollup@4.40.1)(tslib@2.8.1)(typescript@5.8.3)
20 | '@types/node':
21 | specifier: ^22.15.3
22 | version: 22.15.3
23 | '@types/react':
24 | specifier: ^19.1.2
25 | version: 19.1.2
26 | '@types/react-dom':
27 | specifier: ^19.1.3
28 | version: 19.1.3(@types/react@19.1.2)
29 | eslint:
30 | specifier: ^9.25.1
31 | version: 9.25.1
32 | eslint-config-prettier:
33 | specifier: ^10.1.2
34 | version: 10.1.2(eslint@9.25.1)
35 | eslint-plugin-react:
36 | specifier: ^7.37.5
37 | version: 7.37.5(eslint@9.25.1)
38 | eslint-plugin-react-hooks:
39 | specifier: ^5.2.0
40 | version: 5.2.0(eslint@9.25.1)
41 | husky:
42 | specifier: ^9.1.7
43 | version: 9.1.7
44 | lint-staged:
45 | specifier: ^15.5.1
46 | version: 15.5.1
47 | next:
48 | specifier: ^15.3.1
49 | version: 15.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
50 | prettier:
51 | specifier: ^3.5.3
52 | version: 3.5.3
53 | pretty-quick:
54 | specifier: ^4.1.1
55 | version: 4.1.1(prettier@3.5.3)
56 | react:
57 | specifier: ^19.1.0
58 | version: 19.1.0
59 | react-dom:
60 | specifier: ^19.1.0
61 | version: 19.1.0(react@19.1.0)
62 | rollup:
63 | specifier: ^4.40.1
64 | version: 4.40.1
65 | rollup-plugin-node-externals:
66 | specifier: ^8.0.0
67 | version: 8.0.0(rollup@4.40.1)
68 | rollup-plugin-preserve-directives:
69 | specifier: ^0.4.0
70 | version: 0.4.0(rollup@4.40.1)
71 | typescript:
72 | specifier: ^5.8.3
73 | version: 5.8.3
74 | typescript-eslint:
75 | specifier: ^8.31.1
76 | version: 8.31.1(eslint@9.25.1)(typescript@5.8.3)
77 |
78 | packages:
79 |
80 | '@emnapi/runtime@1.4.3':
81 | resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==}
82 |
83 | '@eslint-community/eslint-utils@4.6.1':
84 | resolution: {integrity: sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==}
85 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
86 | peerDependencies:
87 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
88 |
89 | '@eslint-community/regexpp@4.12.1':
90 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
91 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
92 |
93 | '@eslint/config-array@0.20.0':
94 | resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==}
95 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
96 |
97 | '@eslint/config-helpers@0.2.1':
98 | resolution: {integrity: sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==}
99 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
100 |
101 | '@eslint/core@0.13.0':
102 | resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==}
103 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
104 |
105 | '@eslint/eslintrc@3.3.1':
106 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
107 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
108 |
109 | '@eslint/js@9.25.1':
110 | resolution: {integrity: sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==}
111 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
112 |
113 | '@eslint/object-schema@2.1.6':
114 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
115 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
116 |
117 | '@eslint/plugin-kit@0.2.8':
118 | resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==}
119 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
120 |
121 | '@humanfs/core@0.19.1':
122 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
123 | engines: {node: '>=18.18.0'}
124 |
125 | '@humanfs/node@0.16.6':
126 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
127 | engines: {node: '>=18.18.0'}
128 |
129 | '@humanwhocodes/module-importer@1.0.1':
130 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
131 | engines: {node: '>=12.22'}
132 |
133 | '@humanwhocodes/retry@0.3.1':
134 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
135 | engines: {node: '>=18.18'}
136 |
137 | '@humanwhocodes/retry@0.4.2':
138 | resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
139 | engines: {node: '>=18.18'}
140 |
141 | '@img/sharp-darwin-arm64@0.34.1':
142 | resolution: {integrity: sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==}
143 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
144 | cpu: [arm64]
145 | os: [darwin]
146 |
147 | '@img/sharp-darwin-x64@0.34.1':
148 | resolution: {integrity: sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==}
149 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
150 | cpu: [x64]
151 | os: [darwin]
152 |
153 | '@img/sharp-libvips-darwin-arm64@1.1.0':
154 | resolution: {integrity: sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==}
155 | cpu: [arm64]
156 | os: [darwin]
157 |
158 | '@img/sharp-libvips-darwin-x64@1.1.0':
159 | resolution: {integrity: sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==}
160 | cpu: [x64]
161 | os: [darwin]
162 |
163 | '@img/sharp-libvips-linux-arm64@1.1.0':
164 | resolution: {integrity: sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==}
165 | cpu: [arm64]
166 | os: [linux]
167 |
168 | '@img/sharp-libvips-linux-arm@1.1.0':
169 | resolution: {integrity: sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==}
170 | cpu: [arm]
171 | os: [linux]
172 |
173 | '@img/sharp-libvips-linux-ppc64@1.1.0':
174 | resolution: {integrity: sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==}
175 | cpu: [ppc64]
176 | os: [linux]
177 |
178 | '@img/sharp-libvips-linux-s390x@1.1.0':
179 | resolution: {integrity: sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==}
180 | cpu: [s390x]
181 | os: [linux]
182 |
183 | '@img/sharp-libvips-linux-x64@1.1.0':
184 | resolution: {integrity: sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==}
185 | cpu: [x64]
186 | os: [linux]
187 |
188 | '@img/sharp-libvips-linuxmusl-arm64@1.1.0':
189 | resolution: {integrity: sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==}
190 | cpu: [arm64]
191 | os: [linux]
192 |
193 | '@img/sharp-libvips-linuxmusl-x64@1.1.0':
194 | resolution: {integrity: sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==}
195 | cpu: [x64]
196 | os: [linux]
197 |
198 | '@img/sharp-linux-arm64@0.34.1':
199 | resolution: {integrity: sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==}
200 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
201 | cpu: [arm64]
202 | os: [linux]
203 |
204 | '@img/sharp-linux-arm@0.34.1':
205 | resolution: {integrity: sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==}
206 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
207 | cpu: [arm]
208 | os: [linux]
209 |
210 | '@img/sharp-linux-s390x@0.34.1':
211 | resolution: {integrity: sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==}
212 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
213 | cpu: [s390x]
214 | os: [linux]
215 |
216 | '@img/sharp-linux-x64@0.34.1':
217 | resolution: {integrity: sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==}
218 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
219 | cpu: [x64]
220 | os: [linux]
221 |
222 | '@img/sharp-linuxmusl-arm64@0.34.1':
223 | resolution: {integrity: sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==}
224 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
225 | cpu: [arm64]
226 | os: [linux]
227 |
228 | '@img/sharp-linuxmusl-x64@0.34.1':
229 | resolution: {integrity: sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==}
230 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
231 | cpu: [x64]
232 | os: [linux]
233 |
234 | '@img/sharp-wasm32@0.34.1':
235 | resolution: {integrity: sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==}
236 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
237 | cpu: [wasm32]
238 |
239 | '@img/sharp-win32-ia32@0.34.1':
240 | resolution: {integrity: sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==}
241 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
242 | cpu: [ia32]
243 | os: [win32]
244 |
245 | '@img/sharp-win32-x64@0.34.1':
246 | resolution: {integrity: sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==}
247 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
248 | cpu: [x64]
249 | os: [win32]
250 |
251 | '@jridgewell/sourcemap-codec@1.5.0':
252 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
253 |
254 | '@next/env@15.3.1':
255 | resolution: {integrity: sha512-cwK27QdzrMblHSn9DZRV+DQscHXRuJv6MydlJRpFSqJWZrTYMLzKDeyueJNN9MGd8NNiUKzDQADAf+dMLXX7YQ==}
256 |
257 | '@next/swc-darwin-arm64@15.3.1':
258 | resolution: {integrity: sha512-hjDw4f4/nla+6wysBL07z52Gs55Gttp5Bsk5/8AncQLJoisvTBP0pRIBK/B16/KqQyH+uN4Ww8KkcAqJODYH3w==}
259 | engines: {node: '>= 10'}
260 | cpu: [arm64]
261 | os: [darwin]
262 |
263 | '@next/swc-darwin-x64@15.3.1':
264 | resolution: {integrity: sha512-q+aw+cJ2ooVYdCEqZVk+T4Ni10jF6Fo5DfpEV51OupMaV5XL6pf3GCzrk6kSSZBsMKZtVC1Zm/xaNBFpA6bJ2g==}
265 | engines: {node: '>= 10'}
266 | cpu: [x64]
267 | os: [darwin]
268 |
269 | '@next/swc-linux-arm64-gnu@15.3.1':
270 | resolution: {integrity: sha512-wBQ+jGUI3N0QZyWmmvRHjXjTWFy8o+zPFLSOyAyGFI94oJi+kK/LIZFJXeykvgXUk1NLDAEFDZw/NVINhdk9FQ==}
271 | engines: {node: '>= 10'}
272 | cpu: [arm64]
273 | os: [linux]
274 |
275 | '@next/swc-linux-arm64-musl@15.3.1':
276 | resolution: {integrity: sha512-IIxXEXRti/AulO9lWRHiCpUUR8AR/ZYLPALgiIg/9ENzMzLn3l0NSxVdva7R/VDcuSEBo0eGVCe3evSIHNz0Hg==}
277 | engines: {node: '>= 10'}
278 | cpu: [arm64]
279 | os: [linux]
280 |
281 | '@next/swc-linux-x64-gnu@15.3.1':
282 | resolution: {integrity: sha512-bfI4AMhySJbyXQIKH5rmLJ5/BP7bPwuxauTvVEiJ/ADoddaA9fgyNNCcsbu9SlqfHDoZmfI6g2EjzLwbsVTr5A==}
283 | engines: {node: '>= 10'}
284 | cpu: [x64]
285 | os: [linux]
286 |
287 | '@next/swc-linux-x64-musl@15.3.1':
288 | resolution: {integrity: sha512-FeAbR7FYMWR+Z+M5iSGytVryKHiAsc0x3Nc3J+FD5NVbD5Mqz7fTSy8CYliXinn7T26nDMbpExRUI/4ekTvoiA==}
289 | engines: {node: '>= 10'}
290 | cpu: [x64]
291 | os: [linux]
292 |
293 | '@next/swc-win32-arm64-msvc@15.3.1':
294 | resolution: {integrity: sha512-yP7FueWjphQEPpJQ2oKmshk/ppOt+0/bB8JC8svPUZNy0Pi3KbPx2Llkzv1p8CoQa+D2wknINlJpHf3vtChVBw==}
295 | engines: {node: '>= 10'}
296 | cpu: [arm64]
297 | os: [win32]
298 |
299 | '@next/swc-win32-x64-msvc@15.3.1':
300 | resolution: {integrity: sha512-3PMvF2zRJAifcRNni9uMk/gulWfWS+qVI/pagd+4yLF5bcXPZPPH2xlYRYOsUjmCJOXSTAC2PjRzbhsRzR2fDQ==}
301 | engines: {node: '>= 10'}
302 | cpu: [x64]
303 | os: [win32]
304 |
305 | '@nodelib/fs.scandir@2.1.5':
306 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
307 | engines: {node: '>= 8'}
308 |
309 | '@nodelib/fs.stat@2.0.5':
310 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
311 | engines: {node: '>= 8'}
312 |
313 | '@nodelib/fs.walk@1.2.8':
314 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
315 | engines: {node: '>= 8'}
316 |
317 | '@rollup/plugin-node-resolve@16.0.1':
318 | resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==}
319 | engines: {node: '>=14.0.0'}
320 | peerDependencies:
321 | rollup: ^2.78.0||^3.0.0||^4.0.0
322 | peerDependenciesMeta:
323 | rollup:
324 | optional: true
325 |
326 | '@rollup/plugin-typescript@12.1.2':
327 | resolution: {integrity: sha512-cdtSp154H5sv637uMr1a8OTWB0L1SWDSm1rDGiyfcGcvQ6cuTs4MDk2BVEBGysUWago4OJN4EQZqOTl/QY3Jgg==}
328 | engines: {node: '>=14.0.0'}
329 | peerDependencies:
330 | rollup: ^2.14.0||^3.0.0||^4.0.0
331 | tslib: '*'
332 | typescript: '>=3.7.0'
333 | peerDependenciesMeta:
334 | rollup:
335 | optional: true
336 | tslib:
337 | optional: true
338 |
339 | '@rollup/pluginutils@5.1.4':
340 | resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
341 | engines: {node: '>=14.0.0'}
342 | peerDependencies:
343 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
344 | peerDependenciesMeta:
345 | rollup:
346 | optional: true
347 |
348 | '@rollup/rollup-android-arm-eabi@4.40.1':
349 | resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==}
350 | cpu: [arm]
351 | os: [android]
352 |
353 | '@rollup/rollup-android-arm64@4.40.1':
354 | resolution: {integrity: sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==}
355 | cpu: [arm64]
356 | os: [android]
357 |
358 | '@rollup/rollup-darwin-arm64@4.40.1':
359 | resolution: {integrity: sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==}
360 | cpu: [arm64]
361 | os: [darwin]
362 |
363 | '@rollup/rollup-darwin-x64@4.40.1':
364 | resolution: {integrity: sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==}
365 | cpu: [x64]
366 | os: [darwin]
367 |
368 | '@rollup/rollup-freebsd-arm64@4.40.1':
369 | resolution: {integrity: sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==}
370 | cpu: [arm64]
371 | os: [freebsd]
372 |
373 | '@rollup/rollup-freebsd-x64@4.40.1':
374 | resolution: {integrity: sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==}
375 | cpu: [x64]
376 | os: [freebsd]
377 |
378 | '@rollup/rollup-linux-arm-gnueabihf@4.40.1':
379 | resolution: {integrity: sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==}
380 | cpu: [arm]
381 | os: [linux]
382 |
383 | '@rollup/rollup-linux-arm-musleabihf@4.40.1':
384 | resolution: {integrity: sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==}
385 | cpu: [arm]
386 | os: [linux]
387 |
388 | '@rollup/rollup-linux-arm64-gnu@4.40.1':
389 | resolution: {integrity: sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==}
390 | cpu: [arm64]
391 | os: [linux]
392 |
393 | '@rollup/rollup-linux-arm64-musl@4.40.1':
394 | resolution: {integrity: sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==}
395 | cpu: [arm64]
396 | os: [linux]
397 |
398 | '@rollup/rollup-linux-loongarch64-gnu@4.40.1':
399 | resolution: {integrity: sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==}
400 | cpu: [loong64]
401 | os: [linux]
402 |
403 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.1':
404 | resolution: {integrity: sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==}
405 | cpu: [ppc64]
406 | os: [linux]
407 |
408 | '@rollup/rollup-linux-riscv64-gnu@4.40.1':
409 | resolution: {integrity: sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==}
410 | cpu: [riscv64]
411 | os: [linux]
412 |
413 | '@rollup/rollup-linux-riscv64-musl@4.40.1':
414 | resolution: {integrity: sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==}
415 | cpu: [riscv64]
416 | os: [linux]
417 |
418 | '@rollup/rollup-linux-s390x-gnu@4.40.1':
419 | resolution: {integrity: sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==}
420 | cpu: [s390x]
421 | os: [linux]
422 |
423 | '@rollup/rollup-linux-x64-gnu@4.40.1':
424 | resolution: {integrity: sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==}
425 | cpu: [x64]
426 | os: [linux]
427 |
428 | '@rollup/rollup-linux-x64-musl@4.40.1':
429 | resolution: {integrity: sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==}
430 | cpu: [x64]
431 | os: [linux]
432 |
433 | '@rollup/rollup-win32-arm64-msvc@4.40.1':
434 | resolution: {integrity: sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==}
435 | cpu: [arm64]
436 | os: [win32]
437 |
438 | '@rollup/rollup-win32-ia32-msvc@4.40.1':
439 | resolution: {integrity: sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==}
440 | cpu: [ia32]
441 | os: [win32]
442 |
443 | '@rollup/rollup-win32-x64-msvc@4.40.1':
444 | resolution: {integrity: sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==}
445 | cpu: [x64]
446 | os: [win32]
447 |
448 | '@swc/counter@0.1.3':
449 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
450 |
451 | '@swc/helpers@0.5.15':
452 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
453 |
454 | '@types/estree@1.0.7':
455 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
456 |
457 | '@types/json-schema@7.0.15':
458 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
459 |
460 | '@types/node@22.15.3':
461 | resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==}
462 |
463 | '@types/react-dom@19.1.3':
464 | resolution: {integrity: sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg==}
465 | peerDependencies:
466 | '@types/react': ^19.0.0
467 |
468 | '@types/react@19.1.2':
469 | resolution: {integrity: sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==}
470 |
471 | '@types/resolve@1.20.2':
472 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
473 |
474 | '@typescript-eslint/eslint-plugin@8.31.1':
475 | resolution: {integrity: sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==}
476 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
477 | peerDependencies:
478 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
479 | eslint: ^8.57.0 || ^9.0.0
480 | typescript: '>=4.8.4 <5.9.0'
481 |
482 | '@typescript-eslint/parser@8.31.1':
483 | resolution: {integrity: sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==}
484 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
485 | peerDependencies:
486 | eslint: ^8.57.0 || ^9.0.0
487 | typescript: '>=4.8.4 <5.9.0'
488 |
489 | '@typescript-eslint/scope-manager@8.31.1':
490 | resolution: {integrity: sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==}
491 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
492 |
493 | '@typescript-eslint/type-utils@8.31.1':
494 | resolution: {integrity: sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==}
495 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
496 | peerDependencies:
497 | eslint: ^8.57.0 || ^9.0.0
498 | typescript: '>=4.8.4 <5.9.0'
499 |
500 | '@typescript-eslint/types@8.31.1':
501 | resolution: {integrity: sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==}
502 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
503 |
504 | '@typescript-eslint/typescript-estree@8.31.1':
505 | resolution: {integrity: sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==}
506 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
507 | peerDependencies:
508 | typescript: '>=4.8.4 <5.9.0'
509 |
510 | '@typescript-eslint/utils@8.31.1':
511 | resolution: {integrity: sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==}
512 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
513 | peerDependencies:
514 | eslint: ^8.57.0 || ^9.0.0
515 | typescript: '>=4.8.4 <5.9.0'
516 |
517 | '@typescript-eslint/visitor-keys@8.31.1':
518 | resolution: {integrity: sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==}
519 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
520 |
521 | acorn-jsx@5.3.2:
522 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
523 | peerDependencies:
524 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
525 |
526 | acorn@8.14.1:
527 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
528 | engines: {node: '>=0.4.0'}
529 | hasBin: true
530 |
531 | ajv@6.12.6:
532 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
533 |
534 | ansi-escapes@7.0.0:
535 | resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
536 | engines: {node: '>=18'}
537 |
538 | ansi-regex@6.1.0:
539 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
540 | engines: {node: '>=12'}
541 |
542 | ansi-styles@4.3.0:
543 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
544 | engines: {node: '>=8'}
545 |
546 | ansi-styles@6.2.1:
547 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
548 | engines: {node: '>=12'}
549 |
550 | argparse@2.0.1:
551 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
552 |
553 | array-buffer-byte-length@1.0.2:
554 | resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
555 | engines: {node: '>= 0.4'}
556 |
557 | array-includes@3.1.8:
558 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
559 | engines: {node: '>= 0.4'}
560 |
561 | array.prototype.findlast@1.2.5:
562 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
563 | engines: {node: '>= 0.4'}
564 |
565 | array.prototype.flat@1.3.3:
566 | resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
567 | engines: {node: '>= 0.4'}
568 |
569 | array.prototype.flatmap@1.3.3:
570 | resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
571 | engines: {node: '>= 0.4'}
572 |
573 | array.prototype.tosorted@1.1.4:
574 | resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
575 | engines: {node: '>= 0.4'}
576 |
577 | arraybuffer.prototype.slice@1.0.4:
578 | resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
579 | engines: {node: '>= 0.4'}
580 |
581 | async-function@1.0.0:
582 | resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
583 | engines: {node: '>= 0.4'}
584 |
585 | available-typed-arrays@1.0.7:
586 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
587 | engines: {node: '>= 0.4'}
588 |
589 | balanced-match@1.0.2:
590 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
591 |
592 | brace-expansion@1.1.11:
593 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
594 |
595 | brace-expansion@2.0.1:
596 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
597 |
598 | braces@3.0.3:
599 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
600 | engines: {node: '>=8'}
601 |
602 | busboy@1.6.0:
603 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
604 | engines: {node: '>=10.16.0'}
605 |
606 | call-bind-apply-helpers@1.0.2:
607 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
608 | engines: {node: '>= 0.4'}
609 |
610 | call-bind@1.0.8:
611 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
612 | engines: {node: '>= 0.4'}
613 |
614 | call-bound@1.0.4:
615 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
616 | engines: {node: '>= 0.4'}
617 |
618 | callsites@3.1.0:
619 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
620 | engines: {node: '>=6'}
621 |
622 | caniuse-lite@1.0.30001715:
623 | resolution: {integrity: sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==}
624 |
625 | chalk@4.1.2:
626 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
627 | engines: {node: '>=10'}
628 |
629 | chalk@5.4.1:
630 | resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
631 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
632 |
633 | cli-cursor@5.0.0:
634 | resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
635 | engines: {node: '>=18'}
636 |
637 | cli-truncate@4.0.0:
638 | resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
639 | engines: {node: '>=18'}
640 |
641 | client-only@0.0.1:
642 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
643 |
644 | color-convert@2.0.1:
645 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
646 | engines: {node: '>=7.0.0'}
647 |
648 | color-name@1.1.4:
649 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
650 |
651 | color-string@1.9.1:
652 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
653 |
654 | color@4.2.3:
655 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
656 | engines: {node: '>=12.5.0'}
657 |
658 | colorette@2.0.20:
659 | resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
660 |
661 | commander@13.1.0:
662 | resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
663 | engines: {node: '>=18'}
664 |
665 | concat-map@0.0.1:
666 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
667 |
668 | cross-spawn@7.0.6:
669 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
670 | engines: {node: '>= 8'}
671 |
672 | csstype@3.1.3:
673 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
674 |
675 | data-view-buffer@1.0.2:
676 | resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
677 | engines: {node: '>= 0.4'}
678 |
679 | data-view-byte-length@1.0.2:
680 | resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
681 | engines: {node: '>= 0.4'}
682 |
683 | data-view-byte-offset@1.0.1:
684 | resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
685 | engines: {node: '>= 0.4'}
686 |
687 | debug@4.4.0:
688 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
689 | engines: {node: '>=6.0'}
690 | peerDependencies:
691 | supports-color: '*'
692 | peerDependenciesMeta:
693 | supports-color:
694 | optional: true
695 |
696 | deep-is@0.1.4:
697 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
698 |
699 | deepmerge@4.3.1:
700 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
701 | engines: {node: '>=0.10.0'}
702 |
703 | define-data-property@1.1.4:
704 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
705 | engines: {node: '>= 0.4'}
706 |
707 | define-properties@1.2.1:
708 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
709 | engines: {node: '>= 0.4'}
710 |
711 | detect-libc@2.0.4:
712 | resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
713 | engines: {node: '>=8'}
714 |
715 | doctrine@2.1.0:
716 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
717 | engines: {node: '>=0.10.0'}
718 |
719 | dunder-proto@1.0.1:
720 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
721 | engines: {node: '>= 0.4'}
722 |
723 | emoji-regex@10.4.0:
724 | resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
725 |
726 | environment@1.1.0:
727 | resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
728 | engines: {node: '>=18'}
729 |
730 | es-abstract@1.23.9:
731 | resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
732 | engines: {node: '>= 0.4'}
733 |
734 | es-define-property@1.0.1:
735 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
736 | engines: {node: '>= 0.4'}
737 |
738 | es-errors@1.3.0:
739 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
740 | engines: {node: '>= 0.4'}
741 |
742 | es-iterator-helpers@1.2.1:
743 | resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==}
744 | engines: {node: '>= 0.4'}
745 |
746 | es-object-atoms@1.1.1:
747 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
748 | engines: {node: '>= 0.4'}
749 |
750 | es-set-tostringtag@2.1.0:
751 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
752 | engines: {node: '>= 0.4'}
753 |
754 | es-shim-unscopables@1.1.0:
755 | resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==}
756 | engines: {node: '>= 0.4'}
757 |
758 | es-to-primitive@1.3.0:
759 | resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
760 | engines: {node: '>= 0.4'}
761 |
762 | escape-string-regexp@4.0.0:
763 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
764 | engines: {node: '>=10'}
765 |
766 | eslint-config-prettier@10.1.2:
767 | resolution: {integrity: sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==}
768 | hasBin: true
769 | peerDependencies:
770 | eslint: '>=7.0.0'
771 |
772 | eslint-plugin-react-hooks@5.2.0:
773 | resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
774 | engines: {node: '>=10'}
775 | peerDependencies:
776 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
777 |
778 | eslint-plugin-react@7.37.5:
779 | resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==}
780 | engines: {node: '>=4'}
781 | peerDependencies:
782 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
783 |
784 | eslint-scope@8.3.0:
785 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
786 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
787 |
788 | eslint-visitor-keys@3.4.3:
789 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
790 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
791 |
792 | eslint-visitor-keys@4.2.0:
793 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
794 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
795 |
796 | eslint@9.25.1:
797 | resolution: {integrity: sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==}
798 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
799 | hasBin: true
800 | peerDependencies:
801 | jiti: '*'
802 | peerDependenciesMeta:
803 | jiti:
804 | optional: true
805 |
806 | espree@10.3.0:
807 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
808 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
809 |
810 | esquery@1.6.0:
811 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
812 | engines: {node: '>=0.10'}
813 |
814 | esrecurse@4.3.0:
815 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
816 | engines: {node: '>=4.0'}
817 |
818 | estraverse@5.3.0:
819 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
820 | engines: {node: '>=4.0'}
821 |
822 | estree-walker@2.0.2:
823 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
824 |
825 | esutils@2.0.3:
826 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
827 | engines: {node: '>=0.10.0'}
828 |
829 | eventemitter3@5.0.1:
830 | resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
831 |
832 | execa@8.0.1:
833 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
834 | engines: {node: '>=16.17'}
835 |
836 | fast-deep-equal@3.1.3:
837 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
838 |
839 | fast-glob@3.3.3:
840 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
841 | engines: {node: '>=8.6.0'}
842 |
843 | fast-json-stable-stringify@2.1.0:
844 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
845 |
846 | fast-levenshtein@2.0.6:
847 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
848 |
849 | fastq@1.19.1:
850 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
851 |
852 | file-entry-cache@8.0.0:
853 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
854 | engines: {node: '>=16.0.0'}
855 |
856 | fill-range@7.1.1:
857 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
858 | engines: {node: '>=8'}
859 |
860 | find-up@5.0.0:
861 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
862 | engines: {node: '>=10'}
863 |
864 | flat-cache@4.0.1:
865 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
866 | engines: {node: '>=16'}
867 |
868 | flatted@3.3.3:
869 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
870 |
871 | for-each@0.3.5:
872 | resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
873 | engines: {node: '>= 0.4'}
874 |
875 | fsevents@2.3.3:
876 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
877 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
878 | os: [darwin]
879 |
880 | function-bind@1.1.2:
881 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
882 |
883 | function.prototype.name@1.1.8:
884 | resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
885 | engines: {node: '>= 0.4'}
886 |
887 | functions-have-names@1.2.3:
888 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
889 |
890 | get-east-asian-width@1.3.0:
891 | resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
892 | engines: {node: '>=18'}
893 |
894 | get-intrinsic@1.3.0:
895 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
896 | engines: {node: '>= 0.4'}
897 |
898 | get-proto@1.0.1:
899 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
900 | engines: {node: '>= 0.4'}
901 |
902 | get-stream@8.0.1:
903 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
904 | engines: {node: '>=16'}
905 |
906 | get-symbol-description@1.1.0:
907 | resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
908 | engines: {node: '>= 0.4'}
909 |
910 | glob-parent@5.1.2:
911 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
912 | engines: {node: '>= 6'}
913 |
914 | glob-parent@6.0.2:
915 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
916 | engines: {node: '>=10.13.0'}
917 |
918 | globals@14.0.0:
919 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
920 | engines: {node: '>=18'}
921 |
922 | globalthis@1.0.4:
923 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
924 | engines: {node: '>= 0.4'}
925 |
926 | gopd@1.2.0:
927 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
928 | engines: {node: '>= 0.4'}
929 |
930 | graphemer@1.4.0:
931 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
932 |
933 | has-bigints@1.1.0:
934 | resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
935 | engines: {node: '>= 0.4'}
936 |
937 | has-flag@4.0.0:
938 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
939 | engines: {node: '>=8'}
940 |
941 | has-property-descriptors@1.0.2:
942 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
943 |
944 | has-proto@1.2.0:
945 | resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
946 | engines: {node: '>= 0.4'}
947 |
948 | has-symbols@1.1.0:
949 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
950 | engines: {node: '>= 0.4'}
951 |
952 | has-tostringtag@1.0.2:
953 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
954 | engines: {node: '>= 0.4'}
955 |
956 | hasown@2.0.2:
957 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
958 | engines: {node: '>= 0.4'}
959 |
960 | human-signals@5.0.0:
961 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
962 | engines: {node: '>=16.17.0'}
963 |
964 | husky@9.1.7:
965 | resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
966 | engines: {node: '>=18'}
967 | hasBin: true
968 |
969 | ignore@5.3.2:
970 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
971 | engines: {node: '>= 4'}
972 |
973 | ignore@7.0.4:
974 | resolution: {integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==}
975 | engines: {node: '>= 4'}
976 |
977 | import-fresh@3.3.1:
978 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
979 | engines: {node: '>=6'}
980 |
981 | imurmurhash@0.1.4:
982 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
983 | engines: {node: '>=0.8.19'}
984 |
985 | internal-slot@1.1.0:
986 | resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
987 | engines: {node: '>= 0.4'}
988 |
989 | is-array-buffer@3.0.5:
990 | resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
991 | engines: {node: '>= 0.4'}
992 |
993 | is-arrayish@0.3.2:
994 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
995 |
996 | is-async-function@2.1.1:
997 | resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
998 | engines: {node: '>= 0.4'}
999 |
1000 | is-bigint@1.1.0:
1001 | resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
1002 | engines: {node: '>= 0.4'}
1003 |
1004 | is-boolean-object@1.2.2:
1005 | resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
1006 | engines: {node: '>= 0.4'}
1007 |
1008 | is-callable@1.2.7:
1009 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1010 | engines: {node: '>= 0.4'}
1011 |
1012 | is-core-module@2.16.1:
1013 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
1014 | engines: {node: '>= 0.4'}
1015 |
1016 | is-data-view@1.0.2:
1017 | resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
1018 | engines: {node: '>= 0.4'}
1019 |
1020 | is-date-object@1.1.0:
1021 | resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
1022 | engines: {node: '>= 0.4'}
1023 |
1024 | is-extglob@2.1.1:
1025 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1026 | engines: {node: '>=0.10.0'}
1027 |
1028 | is-finalizationregistry@1.1.1:
1029 | resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
1030 | engines: {node: '>= 0.4'}
1031 |
1032 | is-fullwidth-code-point@4.0.0:
1033 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
1034 | engines: {node: '>=12'}
1035 |
1036 | is-fullwidth-code-point@5.0.0:
1037 | resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
1038 | engines: {node: '>=18'}
1039 |
1040 | is-generator-function@1.1.0:
1041 | resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
1042 | engines: {node: '>= 0.4'}
1043 |
1044 | is-glob@4.0.3:
1045 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1046 | engines: {node: '>=0.10.0'}
1047 |
1048 | is-map@2.0.3:
1049 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
1050 | engines: {node: '>= 0.4'}
1051 |
1052 | is-module@1.0.0:
1053 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
1054 |
1055 | is-number-object@1.1.1:
1056 | resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
1057 | engines: {node: '>= 0.4'}
1058 |
1059 | is-number@7.0.0:
1060 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1061 | engines: {node: '>=0.12.0'}
1062 |
1063 | is-regex@1.2.1:
1064 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
1065 | engines: {node: '>= 0.4'}
1066 |
1067 | is-set@2.0.3:
1068 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
1069 | engines: {node: '>= 0.4'}
1070 |
1071 | is-shared-array-buffer@1.0.4:
1072 | resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
1073 | engines: {node: '>= 0.4'}
1074 |
1075 | is-stream@3.0.0:
1076 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
1077 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1078 |
1079 | is-string@1.1.1:
1080 | resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
1081 | engines: {node: '>= 0.4'}
1082 |
1083 | is-symbol@1.1.1:
1084 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
1085 | engines: {node: '>= 0.4'}
1086 |
1087 | is-typed-array@1.1.15:
1088 | resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
1089 | engines: {node: '>= 0.4'}
1090 |
1091 | is-weakmap@2.0.2:
1092 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
1093 | engines: {node: '>= 0.4'}
1094 |
1095 | is-weakref@1.1.1:
1096 | resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
1097 | engines: {node: '>= 0.4'}
1098 |
1099 | is-weakset@2.0.4:
1100 | resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
1101 | engines: {node: '>= 0.4'}
1102 |
1103 | isarray@2.0.5:
1104 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1105 |
1106 | isexe@2.0.0:
1107 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1108 |
1109 | iterator.prototype@1.1.5:
1110 | resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
1111 | engines: {node: '>= 0.4'}
1112 |
1113 | js-tokens@4.0.0:
1114 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1115 |
1116 | js-yaml@4.1.0:
1117 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1118 | hasBin: true
1119 |
1120 | json-buffer@3.0.1:
1121 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1122 |
1123 | json-schema-traverse@0.4.1:
1124 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1125 |
1126 | json-stable-stringify-without-jsonify@1.0.1:
1127 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1128 |
1129 | jsx-ast-utils@3.3.5:
1130 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
1131 | engines: {node: '>=4.0'}
1132 |
1133 | keyv@4.5.4:
1134 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1135 |
1136 | levn@0.4.1:
1137 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1138 | engines: {node: '>= 0.8.0'}
1139 |
1140 | lilconfig@3.1.3:
1141 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
1142 | engines: {node: '>=14'}
1143 |
1144 | lint-staged@15.5.1:
1145 | resolution: {integrity: sha512-6m7u8mue4Xn6wK6gZvSCQwBvMBR36xfY24nF5bMTf2MHDYG6S3yhJuOgdYVw99hsjyDt2d4z168b3naI8+NWtQ==}
1146 | engines: {node: '>=18.12.0'}
1147 | hasBin: true
1148 |
1149 | listr2@8.3.2:
1150 | resolution: {integrity: sha512-vsBzcU4oE+v0lj4FhVLzr9dBTv4/fHIa57l+GCwovP8MoFNZJTOhGU8PXd4v2VJCbECAaijBiHntiekFMLvo0g==}
1151 | engines: {node: '>=18.0.0'}
1152 |
1153 | locate-path@6.0.0:
1154 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1155 | engines: {node: '>=10'}
1156 |
1157 | lodash.merge@4.6.2:
1158 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1159 |
1160 | log-update@6.1.0:
1161 | resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
1162 | engines: {node: '>=18'}
1163 |
1164 | loose-envify@1.4.0:
1165 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1166 | hasBin: true
1167 |
1168 | magic-string@0.30.17:
1169 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1170 |
1171 | math-intrinsics@1.1.0:
1172 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
1173 | engines: {node: '>= 0.4'}
1174 |
1175 | merge-stream@2.0.0:
1176 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1177 |
1178 | merge2@1.4.1:
1179 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1180 | engines: {node: '>= 8'}
1181 |
1182 | micromatch@4.0.8:
1183 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1184 | engines: {node: '>=8.6'}
1185 |
1186 | mimic-fn@4.0.0:
1187 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
1188 | engines: {node: '>=12'}
1189 |
1190 | mimic-function@5.0.1:
1191 | resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
1192 | engines: {node: '>=18'}
1193 |
1194 | minimatch@3.1.2:
1195 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1196 |
1197 | minimatch@9.0.5:
1198 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1199 | engines: {node: '>=16 || 14 >=14.17'}
1200 |
1201 | mri@1.2.0:
1202 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1203 | engines: {node: '>=4'}
1204 |
1205 | ms@2.1.3:
1206 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1207 |
1208 | nanoid@3.3.11:
1209 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
1210 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1211 | hasBin: true
1212 |
1213 | natural-compare@1.4.0:
1214 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1215 |
1216 | next@15.3.1:
1217 | resolution: {integrity: sha512-8+dDV0xNLOgHlyBxP1GwHGVaNXsmp+2NhZEYrXr24GWLHtt27YrBPbPuHvzlhi7kZNYjeJNR93IF5zfFu5UL0g==}
1218 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
1219 | hasBin: true
1220 | peerDependencies:
1221 | '@opentelemetry/api': ^1.1.0
1222 | '@playwright/test': ^1.41.2
1223 | babel-plugin-react-compiler: '*'
1224 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
1225 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
1226 | sass: ^1.3.0
1227 | peerDependenciesMeta:
1228 | '@opentelemetry/api':
1229 | optional: true
1230 | '@playwright/test':
1231 | optional: true
1232 | babel-plugin-react-compiler:
1233 | optional: true
1234 | sass:
1235 | optional: true
1236 |
1237 | npm-run-path@5.3.0:
1238 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
1239 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1240 |
1241 | object-assign@4.1.1:
1242 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1243 | engines: {node: '>=0.10.0'}
1244 |
1245 | object-inspect@1.13.4:
1246 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
1247 | engines: {node: '>= 0.4'}
1248 |
1249 | object-keys@1.1.1:
1250 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1251 | engines: {node: '>= 0.4'}
1252 |
1253 | object.assign@4.1.7:
1254 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
1255 | engines: {node: '>= 0.4'}
1256 |
1257 | object.entries@1.1.9:
1258 | resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==}
1259 | engines: {node: '>= 0.4'}
1260 |
1261 | object.fromentries@2.0.8:
1262 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
1263 | engines: {node: '>= 0.4'}
1264 |
1265 | object.values@1.2.1:
1266 | resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
1267 | engines: {node: '>= 0.4'}
1268 |
1269 | onetime@6.0.0:
1270 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
1271 | engines: {node: '>=12'}
1272 |
1273 | onetime@7.0.0:
1274 | resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
1275 | engines: {node: '>=18'}
1276 |
1277 | optionator@0.9.4:
1278 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1279 | engines: {node: '>= 0.8.0'}
1280 |
1281 | own-keys@1.0.1:
1282 | resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
1283 | engines: {node: '>= 0.4'}
1284 |
1285 | p-limit@3.1.0:
1286 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1287 | engines: {node: '>=10'}
1288 |
1289 | p-locate@5.0.0:
1290 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1291 | engines: {node: '>=10'}
1292 |
1293 | parent-module@1.0.1:
1294 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1295 | engines: {node: '>=6'}
1296 |
1297 | path-exists@4.0.0:
1298 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1299 | engines: {node: '>=8'}
1300 |
1301 | path-key@3.1.1:
1302 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1303 | engines: {node: '>=8'}
1304 |
1305 | path-key@4.0.0:
1306 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
1307 | engines: {node: '>=12'}
1308 |
1309 | path-parse@1.0.7:
1310 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1311 |
1312 | picocolors@1.1.1:
1313 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1314 |
1315 | picomatch@2.3.1:
1316 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1317 | engines: {node: '>=8.6'}
1318 |
1319 | picomatch@4.0.2:
1320 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
1321 | engines: {node: '>=12'}
1322 |
1323 | pidtree@0.6.0:
1324 | resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
1325 | engines: {node: '>=0.10'}
1326 | hasBin: true
1327 |
1328 | possible-typed-array-names@1.1.0:
1329 | resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
1330 | engines: {node: '>= 0.4'}
1331 |
1332 | postcss@8.4.31:
1333 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1334 | engines: {node: ^10 || ^12 || >=14}
1335 |
1336 | prelude-ls@1.2.1:
1337 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1338 | engines: {node: '>= 0.8.0'}
1339 |
1340 | prettier@3.5.3:
1341 | resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
1342 | engines: {node: '>=14'}
1343 | hasBin: true
1344 |
1345 | pretty-quick@4.1.1:
1346 | resolution: {integrity: sha512-9Ud0l/CspNTmyIdYac9X7Inb3o8fuUsw+1zJFvCGn+at0t1UwUcUdo2RSZ41gcmfLv1fxgWQxWEfItR7CBwugg==}
1347 | engines: {node: '>=14'}
1348 | hasBin: true
1349 | peerDependencies:
1350 | prettier: ^3.0.0
1351 |
1352 | prop-types@15.8.1:
1353 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
1354 |
1355 | punycode@2.3.1:
1356 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1357 | engines: {node: '>=6'}
1358 |
1359 | queue-microtask@1.2.3:
1360 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1361 |
1362 | react-dom@19.1.0:
1363 | resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
1364 | peerDependencies:
1365 | react: ^19.1.0
1366 |
1367 | react-is@16.13.1:
1368 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1369 |
1370 | react@19.1.0:
1371 | resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
1372 | engines: {node: '>=0.10.0'}
1373 |
1374 | reflect.getprototypeof@1.0.10:
1375 | resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
1376 | engines: {node: '>= 0.4'}
1377 |
1378 | regexp.prototype.flags@1.5.4:
1379 | resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
1380 | engines: {node: '>= 0.4'}
1381 |
1382 | resolve-from@4.0.0:
1383 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1384 | engines: {node: '>=4'}
1385 |
1386 | resolve@1.22.10:
1387 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
1388 | engines: {node: '>= 0.4'}
1389 | hasBin: true
1390 |
1391 | resolve@2.0.0-next.5:
1392 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
1393 | hasBin: true
1394 |
1395 | restore-cursor@5.1.0:
1396 | resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
1397 | engines: {node: '>=18'}
1398 |
1399 | reusify@1.1.0:
1400 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
1401 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1402 |
1403 | rfdc@1.4.1:
1404 | resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
1405 |
1406 | rollup-plugin-node-externals@8.0.0:
1407 | resolution: {integrity: sha512-2HIOpWsWn5DqBoYl6iCAmB4kd5GoGbF68PR4xKR1YBPvywiqjtYvDEjHFodyqRL51iAMDITP074Zxs0OKs6F+g==}
1408 | engines: {node: '>= 21 || ^20.6.0 || ^18.19.0'}
1409 | peerDependencies:
1410 | rollup: ^4.0.0
1411 |
1412 | rollup-plugin-preserve-directives@0.4.0:
1413 | resolution: {integrity: sha512-gx4nBxYm5BysmEQS+e2tAMrtFxrGvk+Pe5ppafRibQi0zlW7VYAbEGk6IKDw9sJGPdFWgVTE0o4BU4cdG0Fylg==}
1414 | peerDependencies:
1415 | rollup: 2.x || 3.x || 4.x
1416 |
1417 | rollup@4.40.1:
1418 | resolution: {integrity: sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==}
1419 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1420 | hasBin: true
1421 |
1422 | run-parallel@1.2.0:
1423 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1424 |
1425 | safe-array-concat@1.1.3:
1426 | resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
1427 | engines: {node: '>=0.4'}
1428 |
1429 | safe-push-apply@1.0.0:
1430 | resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
1431 | engines: {node: '>= 0.4'}
1432 |
1433 | safe-regex-test@1.1.0:
1434 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
1435 | engines: {node: '>= 0.4'}
1436 |
1437 | scheduler@0.26.0:
1438 | resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
1439 |
1440 | semver@6.3.1:
1441 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1442 | hasBin: true
1443 |
1444 | semver@7.7.1:
1445 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
1446 | engines: {node: '>=10'}
1447 | hasBin: true
1448 |
1449 | set-function-length@1.2.2:
1450 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
1451 | engines: {node: '>= 0.4'}
1452 |
1453 | set-function-name@2.0.2:
1454 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
1455 | engines: {node: '>= 0.4'}
1456 |
1457 | set-proto@1.0.0:
1458 | resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
1459 | engines: {node: '>= 0.4'}
1460 |
1461 | sharp@0.34.1:
1462 | resolution: {integrity: sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==}
1463 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1464 |
1465 | shebang-command@2.0.0:
1466 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1467 | engines: {node: '>=8'}
1468 |
1469 | shebang-regex@3.0.0:
1470 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1471 | engines: {node: '>=8'}
1472 |
1473 | side-channel-list@1.0.0:
1474 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
1475 | engines: {node: '>= 0.4'}
1476 |
1477 | side-channel-map@1.0.1:
1478 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
1479 | engines: {node: '>= 0.4'}
1480 |
1481 | side-channel-weakmap@1.0.2:
1482 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
1483 | engines: {node: '>= 0.4'}
1484 |
1485 | side-channel@1.1.0:
1486 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
1487 | engines: {node: '>= 0.4'}
1488 |
1489 | signal-exit@4.1.0:
1490 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1491 | engines: {node: '>=14'}
1492 |
1493 | simple-swizzle@0.2.2:
1494 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
1495 |
1496 | slice-ansi@5.0.0:
1497 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
1498 | engines: {node: '>=12'}
1499 |
1500 | slice-ansi@7.1.0:
1501 | resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
1502 | engines: {node: '>=18'}
1503 |
1504 | source-map-js@1.2.1:
1505 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1506 | engines: {node: '>=0.10.0'}
1507 |
1508 | streamsearch@1.1.0:
1509 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1510 | engines: {node: '>=10.0.0'}
1511 |
1512 | string-argv@0.3.2:
1513 | resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
1514 | engines: {node: '>=0.6.19'}
1515 |
1516 | string-width@7.2.0:
1517 | resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
1518 | engines: {node: '>=18'}
1519 |
1520 | string.prototype.matchall@4.0.12:
1521 | resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
1522 | engines: {node: '>= 0.4'}
1523 |
1524 | string.prototype.repeat@1.0.0:
1525 | resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
1526 |
1527 | string.prototype.trim@1.2.10:
1528 | resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
1529 | engines: {node: '>= 0.4'}
1530 |
1531 | string.prototype.trimend@1.0.9:
1532 | resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
1533 | engines: {node: '>= 0.4'}
1534 |
1535 | string.prototype.trimstart@1.0.8:
1536 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
1537 | engines: {node: '>= 0.4'}
1538 |
1539 | strip-ansi@7.1.0:
1540 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1541 | engines: {node: '>=12'}
1542 |
1543 | strip-final-newline@3.0.0:
1544 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
1545 | engines: {node: '>=12'}
1546 |
1547 | strip-json-comments@3.1.1:
1548 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1549 | engines: {node: '>=8'}
1550 |
1551 | styled-jsx@5.1.6:
1552 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
1553 | engines: {node: '>= 12.0.0'}
1554 | peerDependencies:
1555 | '@babel/core': '*'
1556 | babel-plugin-macros: '*'
1557 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
1558 | peerDependenciesMeta:
1559 | '@babel/core':
1560 | optional: true
1561 | babel-plugin-macros:
1562 | optional: true
1563 |
1564 | supports-color@7.2.0:
1565 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1566 | engines: {node: '>=8'}
1567 |
1568 | supports-preserve-symlinks-flag@1.0.0:
1569 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1570 | engines: {node: '>= 0.4'}
1571 |
1572 | tinyexec@0.3.2:
1573 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
1574 |
1575 | to-regex-range@5.0.1:
1576 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1577 | engines: {node: '>=8.0'}
1578 |
1579 | ts-api-utils@2.1.0:
1580 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
1581 | engines: {node: '>=18.12'}
1582 | peerDependencies:
1583 | typescript: '>=4.8.4'
1584 |
1585 | tslib@2.8.1:
1586 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1587 |
1588 | type-check@0.4.0:
1589 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1590 | engines: {node: '>= 0.8.0'}
1591 |
1592 | typed-array-buffer@1.0.3:
1593 | resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
1594 | engines: {node: '>= 0.4'}
1595 |
1596 | typed-array-byte-length@1.0.3:
1597 | resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
1598 | engines: {node: '>= 0.4'}
1599 |
1600 | typed-array-byte-offset@1.0.4:
1601 | resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
1602 | engines: {node: '>= 0.4'}
1603 |
1604 | typed-array-length@1.0.7:
1605 | resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
1606 | engines: {node: '>= 0.4'}
1607 |
1608 | typescript-eslint@8.31.1:
1609 | resolution: {integrity: sha512-j6DsEotD/fH39qKzXTQRwYYWlt7D+0HmfpOK+DVhwJOFLcdmn92hq3mBb7HlKJHbjjI/gTOqEcc9d6JfpFf/VA==}
1610 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1611 | peerDependencies:
1612 | eslint: ^8.57.0 || ^9.0.0
1613 | typescript: '>=4.8.4 <5.9.0'
1614 |
1615 | typescript@5.8.3:
1616 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
1617 | engines: {node: '>=14.17'}
1618 | hasBin: true
1619 |
1620 | unbox-primitive@1.1.0:
1621 | resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
1622 | engines: {node: '>= 0.4'}
1623 |
1624 | undici-types@6.21.0:
1625 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
1626 |
1627 | uri-js@4.4.1:
1628 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1629 |
1630 | which-boxed-primitive@1.1.1:
1631 | resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
1632 | engines: {node: '>= 0.4'}
1633 |
1634 | which-builtin-type@1.2.1:
1635 | resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
1636 | engines: {node: '>= 0.4'}
1637 |
1638 | which-collection@1.0.2:
1639 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
1640 | engines: {node: '>= 0.4'}
1641 |
1642 | which-typed-array@1.1.19:
1643 | resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
1644 | engines: {node: '>= 0.4'}
1645 |
1646 | which@2.0.2:
1647 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1648 | engines: {node: '>= 8'}
1649 | hasBin: true
1650 |
1651 | word-wrap@1.2.5:
1652 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1653 | engines: {node: '>=0.10.0'}
1654 |
1655 | wrap-ansi@9.0.0:
1656 | resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
1657 | engines: {node: '>=18'}
1658 |
1659 | yaml@2.7.1:
1660 | resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==}
1661 | engines: {node: '>= 14'}
1662 | hasBin: true
1663 |
1664 | yocto-queue@0.1.0:
1665 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1666 | engines: {node: '>=10'}
1667 |
1668 | snapshots:
1669 |
1670 | '@emnapi/runtime@1.4.3':
1671 | dependencies:
1672 | tslib: 2.8.1
1673 | optional: true
1674 |
1675 | '@eslint-community/eslint-utils@4.6.1(eslint@9.25.1)':
1676 | dependencies:
1677 | eslint: 9.25.1
1678 | eslint-visitor-keys: 3.4.3
1679 |
1680 | '@eslint-community/regexpp@4.12.1': {}
1681 |
1682 | '@eslint/config-array@0.20.0':
1683 | dependencies:
1684 | '@eslint/object-schema': 2.1.6
1685 | debug: 4.4.0
1686 | minimatch: 3.1.2
1687 | transitivePeerDependencies:
1688 | - supports-color
1689 |
1690 | '@eslint/config-helpers@0.2.1': {}
1691 |
1692 | '@eslint/core@0.13.0':
1693 | dependencies:
1694 | '@types/json-schema': 7.0.15
1695 |
1696 | '@eslint/eslintrc@3.3.1':
1697 | dependencies:
1698 | ajv: 6.12.6
1699 | debug: 4.4.0
1700 | espree: 10.3.0
1701 | globals: 14.0.0
1702 | ignore: 5.3.2
1703 | import-fresh: 3.3.1
1704 | js-yaml: 4.1.0
1705 | minimatch: 3.1.2
1706 | strip-json-comments: 3.1.1
1707 | transitivePeerDependencies:
1708 | - supports-color
1709 |
1710 | '@eslint/js@9.25.1': {}
1711 |
1712 | '@eslint/object-schema@2.1.6': {}
1713 |
1714 | '@eslint/plugin-kit@0.2.8':
1715 | dependencies:
1716 | '@eslint/core': 0.13.0
1717 | levn: 0.4.1
1718 |
1719 | '@humanfs/core@0.19.1': {}
1720 |
1721 | '@humanfs/node@0.16.6':
1722 | dependencies:
1723 | '@humanfs/core': 0.19.1
1724 | '@humanwhocodes/retry': 0.3.1
1725 |
1726 | '@humanwhocodes/module-importer@1.0.1': {}
1727 |
1728 | '@humanwhocodes/retry@0.3.1': {}
1729 |
1730 | '@humanwhocodes/retry@0.4.2': {}
1731 |
1732 | '@img/sharp-darwin-arm64@0.34.1':
1733 | optionalDependencies:
1734 | '@img/sharp-libvips-darwin-arm64': 1.1.0
1735 | optional: true
1736 |
1737 | '@img/sharp-darwin-x64@0.34.1':
1738 | optionalDependencies:
1739 | '@img/sharp-libvips-darwin-x64': 1.1.0
1740 | optional: true
1741 |
1742 | '@img/sharp-libvips-darwin-arm64@1.1.0':
1743 | optional: true
1744 |
1745 | '@img/sharp-libvips-darwin-x64@1.1.0':
1746 | optional: true
1747 |
1748 | '@img/sharp-libvips-linux-arm64@1.1.0':
1749 | optional: true
1750 |
1751 | '@img/sharp-libvips-linux-arm@1.1.0':
1752 | optional: true
1753 |
1754 | '@img/sharp-libvips-linux-ppc64@1.1.0':
1755 | optional: true
1756 |
1757 | '@img/sharp-libvips-linux-s390x@1.1.0':
1758 | optional: true
1759 |
1760 | '@img/sharp-libvips-linux-x64@1.1.0':
1761 | optional: true
1762 |
1763 | '@img/sharp-libvips-linuxmusl-arm64@1.1.0':
1764 | optional: true
1765 |
1766 | '@img/sharp-libvips-linuxmusl-x64@1.1.0':
1767 | optional: true
1768 |
1769 | '@img/sharp-linux-arm64@0.34.1':
1770 | optionalDependencies:
1771 | '@img/sharp-libvips-linux-arm64': 1.1.0
1772 | optional: true
1773 |
1774 | '@img/sharp-linux-arm@0.34.1':
1775 | optionalDependencies:
1776 | '@img/sharp-libvips-linux-arm': 1.1.0
1777 | optional: true
1778 |
1779 | '@img/sharp-linux-s390x@0.34.1':
1780 | optionalDependencies:
1781 | '@img/sharp-libvips-linux-s390x': 1.1.0
1782 | optional: true
1783 |
1784 | '@img/sharp-linux-x64@0.34.1':
1785 | optionalDependencies:
1786 | '@img/sharp-libvips-linux-x64': 1.1.0
1787 | optional: true
1788 |
1789 | '@img/sharp-linuxmusl-arm64@0.34.1':
1790 | optionalDependencies:
1791 | '@img/sharp-libvips-linuxmusl-arm64': 1.1.0
1792 | optional: true
1793 |
1794 | '@img/sharp-linuxmusl-x64@0.34.1':
1795 | optionalDependencies:
1796 | '@img/sharp-libvips-linuxmusl-x64': 1.1.0
1797 | optional: true
1798 |
1799 | '@img/sharp-wasm32@0.34.1':
1800 | dependencies:
1801 | '@emnapi/runtime': 1.4.3
1802 | optional: true
1803 |
1804 | '@img/sharp-win32-ia32@0.34.1':
1805 | optional: true
1806 |
1807 | '@img/sharp-win32-x64@0.34.1':
1808 | optional: true
1809 |
1810 | '@jridgewell/sourcemap-codec@1.5.0': {}
1811 |
1812 | '@next/env@15.3.1': {}
1813 |
1814 | '@next/swc-darwin-arm64@15.3.1':
1815 | optional: true
1816 |
1817 | '@next/swc-darwin-x64@15.3.1':
1818 | optional: true
1819 |
1820 | '@next/swc-linux-arm64-gnu@15.3.1':
1821 | optional: true
1822 |
1823 | '@next/swc-linux-arm64-musl@15.3.1':
1824 | optional: true
1825 |
1826 | '@next/swc-linux-x64-gnu@15.3.1':
1827 | optional: true
1828 |
1829 | '@next/swc-linux-x64-musl@15.3.1':
1830 | optional: true
1831 |
1832 | '@next/swc-win32-arm64-msvc@15.3.1':
1833 | optional: true
1834 |
1835 | '@next/swc-win32-x64-msvc@15.3.1':
1836 | optional: true
1837 |
1838 | '@nodelib/fs.scandir@2.1.5':
1839 | dependencies:
1840 | '@nodelib/fs.stat': 2.0.5
1841 | run-parallel: 1.2.0
1842 |
1843 | '@nodelib/fs.stat@2.0.5': {}
1844 |
1845 | '@nodelib/fs.walk@1.2.8':
1846 | dependencies:
1847 | '@nodelib/fs.scandir': 2.1.5
1848 | fastq: 1.19.1
1849 |
1850 | '@rollup/plugin-node-resolve@16.0.1(rollup@4.40.1)':
1851 | dependencies:
1852 | '@rollup/pluginutils': 5.1.4(rollup@4.40.1)
1853 | '@types/resolve': 1.20.2
1854 | deepmerge: 4.3.1
1855 | is-module: 1.0.0
1856 | resolve: 1.22.10
1857 | optionalDependencies:
1858 | rollup: 4.40.1
1859 |
1860 | '@rollup/plugin-typescript@12.1.2(rollup@4.40.1)(tslib@2.8.1)(typescript@5.8.3)':
1861 | dependencies:
1862 | '@rollup/pluginutils': 5.1.4(rollup@4.40.1)
1863 | resolve: 1.22.10
1864 | typescript: 5.8.3
1865 | optionalDependencies:
1866 | rollup: 4.40.1
1867 | tslib: 2.8.1
1868 |
1869 | '@rollup/pluginutils@5.1.4(rollup@4.40.1)':
1870 | dependencies:
1871 | '@types/estree': 1.0.7
1872 | estree-walker: 2.0.2
1873 | picomatch: 4.0.2
1874 | optionalDependencies:
1875 | rollup: 4.40.1
1876 |
1877 | '@rollup/rollup-android-arm-eabi@4.40.1':
1878 | optional: true
1879 |
1880 | '@rollup/rollup-android-arm64@4.40.1':
1881 | optional: true
1882 |
1883 | '@rollup/rollup-darwin-arm64@4.40.1':
1884 | optional: true
1885 |
1886 | '@rollup/rollup-darwin-x64@4.40.1':
1887 | optional: true
1888 |
1889 | '@rollup/rollup-freebsd-arm64@4.40.1':
1890 | optional: true
1891 |
1892 | '@rollup/rollup-freebsd-x64@4.40.1':
1893 | optional: true
1894 |
1895 | '@rollup/rollup-linux-arm-gnueabihf@4.40.1':
1896 | optional: true
1897 |
1898 | '@rollup/rollup-linux-arm-musleabihf@4.40.1':
1899 | optional: true
1900 |
1901 | '@rollup/rollup-linux-arm64-gnu@4.40.1':
1902 | optional: true
1903 |
1904 | '@rollup/rollup-linux-arm64-musl@4.40.1':
1905 | optional: true
1906 |
1907 | '@rollup/rollup-linux-loongarch64-gnu@4.40.1':
1908 | optional: true
1909 |
1910 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.1':
1911 | optional: true
1912 |
1913 | '@rollup/rollup-linux-riscv64-gnu@4.40.1':
1914 | optional: true
1915 |
1916 | '@rollup/rollup-linux-riscv64-musl@4.40.1':
1917 | optional: true
1918 |
1919 | '@rollup/rollup-linux-s390x-gnu@4.40.1':
1920 | optional: true
1921 |
1922 | '@rollup/rollup-linux-x64-gnu@4.40.1':
1923 | optional: true
1924 |
1925 | '@rollup/rollup-linux-x64-musl@4.40.1':
1926 | optional: true
1927 |
1928 | '@rollup/rollup-win32-arm64-msvc@4.40.1':
1929 | optional: true
1930 |
1931 | '@rollup/rollup-win32-ia32-msvc@4.40.1':
1932 | optional: true
1933 |
1934 | '@rollup/rollup-win32-x64-msvc@4.40.1':
1935 | optional: true
1936 |
1937 | '@swc/counter@0.1.3': {}
1938 |
1939 | '@swc/helpers@0.5.15':
1940 | dependencies:
1941 | tslib: 2.8.1
1942 |
1943 | '@types/estree@1.0.7': {}
1944 |
1945 | '@types/json-schema@7.0.15': {}
1946 |
1947 | '@types/node@22.15.3':
1948 | dependencies:
1949 | undici-types: 6.21.0
1950 |
1951 | '@types/react-dom@19.1.3(@types/react@19.1.2)':
1952 | dependencies:
1953 | '@types/react': 19.1.2
1954 |
1955 | '@types/react@19.1.2':
1956 | dependencies:
1957 | csstype: 3.1.3
1958 |
1959 | '@types/resolve@1.20.2': {}
1960 |
1961 | '@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.25.1)(typescript@5.8.3))(eslint@9.25.1)(typescript@5.8.3)':
1962 | dependencies:
1963 | '@eslint-community/regexpp': 4.12.1
1964 | '@typescript-eslint/parser': 8.31.1(eslint@9.25.1)(typescript@5.8.3)
1965 | '@typescript-eslint/scope-manager': 8.31.1
1966 | '@typescript-eslint/type-utils': 8.31.1(eslint@9.25.1)(typescript@5.8.3)
1967 | '@typescript-eslint/utils': 8.31.1(eslint@9.25.1)(typescript@5.8.3)
1968 | '@typescript-eslint/visitor-keys': 8.31.1
1969 | eslint: 9.25.1
1970 | graphemer: 1.4.0
1971 | ignore: 5.3.2
1972 | natural-compare: 1.4.0
1973 | ts-api-utils: 2.1.0(typescript@5.8.3)
1974 | typescript: 5.8.3
1975 | transitivePeerDependencies:
1976 | - supports-color
1977 |
1978 | '@typescript-eslint/parser@8.31.1(eslint@9.25.1)(typescript@5.8.3)':
1979 | dependencies:
1980 | '@typescript-eslint/scope-manager': 8.31.1
1981 | '@typescript-eslint/types': 8.31.1
1982 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3)
1983 | '@typescript-eslint/visitor-keys': 8.31.1
1984 | debug: 4.4.0
1985 | eslint: 9.25.1
1986 | typescript: 5.8.3
1987 | transitivePeerDependencies:
1988 | - supports-color
1989 |
1990 | '@typescript-eslint/scope-manager@8.31.1':
1991 | dependencies:
1992 | '@typescript-eslint/types': 8.31.1
1993 | '@typescript-eslint/visitor-keys': 8.31.1
1994 |
1995 | '@typescript-eslint/type-utils@8.31.1(eslint@9.25.1)(typescript@5.8.3)':
1996 | dependencies:
1997 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3)
1998 | '@typescript-eslint/utils': 8.31.1(eslint@9.25.1)(typescript@5.8.3)
1999 | debug: 4.4.0
2000 | eslint: 9.25.1
2001 | ts-api-utils: 2.1.0(typescript@5.8.3)
2002 | typescript: 5.8.3
2003 | transitivePeerDependencies:
2004 | - supports-color
2005 |
2006 | '@typescript-eslint/types@8.31.1': {}
2007 |
2008 | '@typescript-eslint/typescript-estree@8.31.1(typescript@5.8.3)':
2009 | dependencies:
2010 | '@typescript-eslint/types': 8.31.1
2011 | '@typescript-eslint/visitor-keys': 8.31.1
2012 | debug: 4.4.0
2013 | fast-glob: 3.3.3
2014 | is-glob: 4.0.3
2015 | minimatch: 9.0.5
2016 | semver: 7.7.1
2017 | ts-api-utils: 2.1.0(typescript@5.8.3)
2018 | typescript: 5.8.3
2019 | transitivePeerDependencies:
2020 | - supports-color
2021 |
2022 | '@typescript-eslint/utils@8.31.1(eslint@9.25.1)(typescript@5.8.3)':
2023 | dependencies:
2024 | '@eslint-community/eslint-utils': 4.6.1(eslint@9.25.1)
2025 | '@typescript-eslint/scope-manager': 8.31.1
2026 | '@typescript-eslint/types': 8.31.1
2027 | '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3)
2028 | eslint: 9.25.1
2029 | typescript: 5.8.3
2030 | transitivePeerDependencies:
2031 | - supports-color
2032 |
2033 | '@typescript-eslint/visitor-keys@8.31.1':
2034 | dependencies:
2035 | '@typescript-eslint/types': 8.31.1
2036 | eslint-visitor-keys: 4.2.0
2037 |
2038 | acorn-jsx@5.3.2(acorn@8.14.1):
2039 | dependencies:
2040 | acorn: 8.14.1
2041 |
2042 | acorn@8.14.1: {}
2043 |
2044 | ajv@6.12.6:
2045 | dependencies:
2046 | fast-deep-equal: 3.1.3
2047 | fast-json-stable-stringify: 2.1.0
2048 | json-schema-traverse: 0.4.1
2049 | uri-js: 4.4.1
2050 |
2051 | ansi-escapes@7.0.0:
2052 | dependencies:
2053 | environment: 1.1.0
2054 |
2055 | ansi-regex@6.1.0: {}
2056 |
2057 | ansi-styles@4.3.0:
2058 | dependencies:
2059 | color-convert: 2.0.1
2060 |
2061 | ansi-styles@6.2.1: {}
2062 |
2063 | argparse@2.0.1: {}
2064 |
2065 | array-buffer-byte-length@1.0.2:
2066 | dependencies:
2067 | call-bound: 1.0.4
2068 | is-array-buffer: 3.0.5
2069 |
2070 | array-includes@3.1.8:
2071 | dependencies:
2072 | call-bind: 1.0.8
2073 | define-properties: 1.2.1
2074 | es-abstract: 1.23.9
2075 | es-object-atoms: 1.1.1
2076 | get-intrinsic: 1.3.0
2077 | is-string: 1.1.1
2078 |
2079 | array.prototype.findlast@1.2.5:
2080 | dependencies:
2081 | call-bind: 1.0.8
2082 | define-properties: 1.2.1
2083 | es-abstract: 1.23.9
2084 | es-errors: 1.3.0
2085 | es-object-atoms: 1.1.1
2086 | es-shim-unscopables: 1.1.0
2087 |
2088 | array.prototype.flat@1.3.3:
2089 | dependencies:
2090 | call-bind: 1.0.8
2091 | define-properties: 1.2.1
2092 | es-abstract: 1.23.9
2093 | es-shim-unscopables: 1.1.0
2094 |
2095 | array.prototype.flatmap@1.3.3:
2096 | dependencies:
2097 | call-bind: 1.0.8
2098 | define-properties: 1.2.1
2099 | es-abstract: 1.23.9
2100 | es-shim-unscopables: 1.1.0
2101 |
2102 | array.prototype.tosorted@1.1.4:
2103 | dependencies:
2104 | call-bind: 1.0.8
2105 | define-properties: 1.2.1
2106 | es-abstract: 1.23.9
2107 | es-errors: 1.3.0
2108 | es-shim-unscopables: 1.1.0
2109 |
2110 | arraybuffer.prototype.slice@1.0.4:
2111 | dependencies:
2112 | array-buffer-byte-length: 1.0.2
2113 | call-bind: 1.0.8
2114 | define-properties: 1.2.1
2115 | es-abstract: 1.23.9
2116 | es-errors: 1.3.0
2117 | get-intrinsic: 1.3.0
2118 | is-array-buffer: 3.0.5
2119 |
2120 | async-function@1.0.0: {}
2121 |
2122 | available-typed-arrays@1.0.7:
2123 | dependencies:
2124 | possible-typed-array-names: 1.1.0
2125 |
2126 | balanced-match@1.0.2: {}
2127 |
2128 | brace-expansion@1.1.11:
2129 | dependencies:
2130 | balanced-match: 1.0.2
2131 | concat-map: 0.0.1
2132 |
2133 | brace-expansion@2.0.1:
2134 | dependencies:
2135 | balanced-match: 1.0.2
2136 |
2137 | braces@3.0.3:
2138 | dependencies:
2139 | fill-range: 7.1.1
2140 |
2141 | busboy@1.6.0:
2142 | dependencies:
2143 | streamsearch: 1.1.0
2144 |
2145 | call-bind-apply-helpers@1.0.2:
2146 | dependencies:
2147 | es-errors: 1.3.0
2148 | function-bind: 1.1.2
2149 |
2150 | call-bind@1.0.8:
2151 | dependencies:
2152 | call-bind-apply-helpers: 1.0.2
2153 | es-define-property: 1.0.1
2154 | get-intrinsic: 1.3.0
2155 | set-function-length: 1.2.2
2156 |
2157 | call-bound@1.0.4:
2158 | dependencies:
2159 | call-bind-apply-helpers: 1.0.2
2160 | get-intrinsic: 1.3.0
2161 |
2162 | callsites@3.1.0: {}
2163 |
2164 | caniuse-lite@1.0.30001715: {}
2165 |
2166 | chalk@4.1.2:
2167 | dependencies:
2168 | ansi-styles: 4.3.0
2169 | supports-color: 7.2.0
2170 |
2171 | chalk@5.4.1: {}
2172 |
2173 | cli-cursor@5.0.0:
2174 | dependencies:
2175 | restore-cursor: 5.1.0
2176 |
2177 | cli-truncate@4.0.0:
2178 | dependencies:
2179 | slice-ansi: 5.0.0
2180 | string-width: 7.2.0
2181 |
2182 | client-only@0.0.1: {}
2183 |
2184 | color-convert@2.0.1:
2185 | dependencies:
2186 | color-name: 1.1.4
2187 |
2188 | color-name@1.1.4: {}
2189 |
2190 | color-string@1.9.1:
2191 | dependencies:
2192 | color-name: 1.1.4
2193 | simple-swizzle: 0.2.2
2194 | optional: true
2195 |
2196 | color@4.2.3:
2197 | dependencies:
2198 | color-convert: 2.0.1
2199 | color-string: 1.9.1
2200 | optional: true
2201 |
2202 | colorette@2.0.20: {}
2203 |
2204 | commander@13.1.0: {}
2205 |
2206 | concat-map@0.0.1: {}
2207 |
2208 | cross-spawn@7.0.6:
2209 | dependencies:
2210 | path-key: 3.1.1
2211 | shebang-command: 2.0.0
2212 | which: 2.0.2
2213 |
2214 | csstype@3.1.3: {}
2215 |
2216 | data-view-buffer@1.0.2:
2217 | dependencies:
2218 | call-bound: 1.0.4
2219 | es-errors: 1.3.0
2220 | is-data-view: 1.0.2
2221 |
2222 | data-view-byte-length@1.0.2:
2223 | dependencies:
2224 | call-bound: 1.0.4
2225 | es-errors: 1.3.0
2226 | is-data-view: 1.0.2
2227 |
2228 | data-view-byte-offset@1.0.1:
2229 | dependencies:
2230 | call-bound: 1.0.4
2231 | es-errors: 1.3.0
2232 | is-data-view: 1.0.2
2233 |
2234 | debug@4.4.0:
2235 | dependencies:
2236 | ms: 2.1.3
2237 |
2238 | deep-is@0.1.4: {}
2239 |
2240 | deepmerge@4.3.1: {}
2241 |
2242 | define-data-property@1.1.4:
2243 | dependencies:
2244 | es-define-property: 1.0.1
2245 | es-errors: 1.3.0
2246 | gopd: 1.2.0
2247 |
2248 | define-properties@1.2.1:
2249 | dependencies:
2250 | define-data-property: 1.1.4
2251 | has-property-descriptors: 1.0.2
2252 | object-keys: 1.1.1
2253 |
2254 | detect-libc@2.0.4:
2255 | optional: true
2256 |
2257 | doctrine@2.1.0:
2258 | dependencies:
2259 | esutils: 2.0.3
2260 |
2261 | dunder-proto@1.0.1:
2262 | dependencies:
2263 | call-bind-apply-helpers: 1.0.2
2264 | es-errors: 1.3.0
2265 | gopd: 1.2.0
2266 |
2267 | emoji-regex@10.4.0: {}
2268 |
2269 | environment@1.1.0: {}
2270 |
2271 | es-abstract@1.23.9:
2272 | dependencies:
2273 | array-buffer-byte-length: 1.0.2
2274 | arraybuffer.prototype.slice: 1.0.4
2275 | available-typed-arrays: 1.0.7
2276 | call-bind: 1.0.8
2277 | call-bound: 1.0.4
2278 | data-view-buffer: 1.0.2
2279 | data-view-byte-length: 1.0.2
2280 | data-view-byte-offset: 1.0.1
2281 | es-define-property: 1.0.1
2282 | es-errors: 1.3.0
2283 | es-object-atoms: 1.1.1
2284 | es-set-tostringtag: 2.1.0
2285 | es-to-primitive: 1.3.0
2286 | function.prototype.name: 1.1.8
2287 | get-intrinsic: 1.3.0
2288 | get-proto: 1.0.1
2289 | get-symbol-description: 1.1.0
2290 | globalthis: 1.0.4
2291 | gopd: 1.2.0
2292 | has-property-descriptors: 1.0.2
2293 | has-proto: 1.2.0
2294 | has-symbols: 1.1.0
2295 | hasown: 2.0.2
2296 | internal-slot: 1.1.0
2297 | is-array-buffer: 3.0.5
2298 | is-callable: 1.2.7
2299 | is-data-view: 1.0.2
2300 | is-regex: 1.2.1
2301 | is-shared-array-buffer: 1.0.4
2302 | is-string: 1.1.1
2303 | is-typed-array: 1.1.15
2304 | is-weakref: 1.1.1
2305 | math-intrinsics: 1.1.0
2306 | object-inspect: 1.13.4
2307 | object-keys: 1.1.1
2308 | object.assign: 4.1.7
2309 | own-keys: 1.0.1
2310 | regexp.prototype.flags: 1.5.4
2311 | safe-array-concat: 1.1.3
2312 | safe-push-apply: 1.0.0
2313 | safe-regex-test: 1.1.0
2314 | set-proto: 1.0.0
2315 | string.prototype.trim: 1.2.10
2316 | string.prototype.trimend: 1.0.9
2317 | string.prototype.trimstart: 1.0.8
2318 | typed-array-buffer: 1.0.3
2319 | typed-array-byte-length: 1.0.3
2320 | typed-array-byte-offset: 1.0.4
2321 | typed-array-length: 1.0.7
2322 | unbox-primitive: 1.1.0
2323 | which-typed-array: 1.1.19
2324 |
2325 | es-define-property@1.0.1: {}
2326 |
2327 | es-errors@1.3.0: {}
2328 |
2329 | es-iterator-helpers@1.2.1:
2330 | dependencies:
2331 | call-bind: 1.0.8
2332 | call-bound: 1.0.4
2333 | define-properties: 1.2.1
2334 | es-abstract: 1.23.9
2335 | es-errors: 1.3.0
2336 | es-set-tostringtag: 2.1.0
2337 | function-bind: 1.1.2
2338 | get-intrinsic: 1.3.0
2339 | globalthis: 1.0.4
2340 | gopd: 1.2.0
2341 | has-property-descriptors: 1.0.2
2342 | has-proto: 1.2.0
2343 | has-symbols: 1.1.0
2344 | internal-slot: 1.1.0
2345 | iterator.prototype: 1.1.5
2346 | safe-array-concat: 1.1.3
2347 |
2348 | es-object-atoms@1.1.1:
2349 | dependencies:
2350 | es-errors: 1.3.0
2351 |
2352 | es-set-tostringtag@2.1.0:
2353 | dependencies:
2354 | es-errors: 1.3.0
2355 | get-intrinsic: 1.3.0
2356 | has-tostringtag: 1.0.2
2357 | hasown: 2.0.2
2358 |
2359 | es-shim-unscopables@1.1.0:
2360 | dependencies:
2361 | hasown: 2.0.2
2362 |
2363 | es-to-primitive@1.3.0:
2364 | dependencies:
2365 | is-callable: 1.2.7
2366 | is-date-object: 1.1.0
2367 | is-symbol: 1.1.1
2368 |
2369 | escape-string-regexp@4.0.0: {}
2370 |
2371 | eslint-config-prettier@10.1.2(eslint@9.25.1):
2372 | dependencies:
2373 | eslint: 9.25.1
2374 |
2375 | eslint-plugin-react-hooks@5.2.0(eslint@9.25.1):
2376 | dependencies:
2377 | eslint: 9.25.1
2378 |
2379 | eslint-plugin-react@7.37.5(eslint@9.25.1):
2380 | dependencies:
2381 | array-includes: 3.1.8
2382 | array.prototype.findlast: 1.2.5
2383 | array.prototype.flatmap: 1.3.3
2384 | array.prototype.tosorted: 1.1.4
2385 | doctrine: 2.1.0
2386 | es-iterator-helpers: 1.2.1
2387 | eslint: 9.25.1
2388 | estraverse: 5.3.0
2389 | hasown: 2.0.2
2390 | jsx-ast-utils: 3.3.5
2391 | minimatch: 3.1.2
2392 | object.entries: 1.1.9
2393 | object.fromentries: 2.0.8
2394 | object.values: 1.2.1
2395 | prop-types: 15.8.1
2396 | resolve: 2.0.0-next.5
2397 | semver: 6.3.1
2398 | string.prototype.matchall: 4.0.12
2399 | string.prototype.repeat: 1.0.0
2400 |
2401 | eslint-scope@8.3.0:
2402 | dependencies:
2403 | esrecurse: 4.3.0
2404 | estraverse: 5.3.0
2405 |
2406 | eslint-visitor-keys@3.4.3: {}
2407 |
2408 | eslint-visitor-keys@4.2.0: {}
2409 |
2410 | eslint@9.25.1:
2411 | dependencies:
2412 | '@eslint-community/eslint-utils': 4.6.1(eslint@9.25.1)
2413 | '@eslint-community/regexpp': 4.12.1
2414 | '@eslint/config-array': 0.20.0
2415 | '@eslint/config-helpers': 0.2.1
2416 | '@eslint/core': 0.13.0
2417 | '@eslint/eslintrc': 3.3.1
2418 | '@eslint/js': 9.25.1
2419 | '@eslint/plugin-kit': 0.2.8
2420 | '@humanfs/node': 0.16.6
2421 | '@humanwhocodes/module-importer': 1.0.1
2422 | '@humanwhocodes/retry': 0.4.2
2423 | '@types/estree': 1.0.7
2424 | '@types/json-schema': 7.0.15
2425 | ajv: 6.12.6
2426 | chalk: 4.1.2
2427 | cross-spawn: 7.0.6
2428 | debug: 4.4.0
2429 | escape-string-regexp: 4.0.0
2430 | eslint-scope: 8.3.0
2431 | eslint-visitor-keys: 4.2.0
2432 | espree: 10.3.0
2433 | esquery: 1.6.0
2434 | esutils: 2.0.3
2435 | fast-deep-equal: 3.1.3
2436 | file-entry-cache: 8.0.0
2437 | find-up: 5.0.0
2438 | glob-parent: 6.0.2
2439 | ignore: 5.3.2
2440 | imurmurhash: 0.1.4
2441 | is-glob: 4.0.3
2442 | json-stable-stringify-without-jsonify: 1.0.1
2443 | lodash.merge: 4.6.2
2444 | minimatch: 3.1.2
2445 | natural-compare: 1.4.0
2446 | optionator: 0.9.4
2447 | transitivePeerDependencies:
2448 | - supports-color
2449 |
2450 | espree@10.3.0:
2451 | dependencies:
2452 | acorn: 8.14.1
2453 | acorn-jsx: 5.3.2(acorn@8.14.1)
2454 | eslint-visitor-keys: 4.2.0
2455 |
2456 | esquery@1.6.0:
2457 | dependencies:
2458 | estraverse: 5.3.0
2459 |
2460 | esrecurse@4.3.0:
2461 | dependencies:
2462 | estraverse: 5.3.0
2463 |
2464 | estraverse@5.3.0: {}
2465 |
2466 | estree-walker@2.0.2: {}
2467 |
2468 | esutils@2.0.3: {}
2469 |
2470 | eventemitter3@5.0.1: {}
2471 |
2472 | execa@8.0.1:
2473 | dependencies:
2474 | cross-spawn: 7.0.6
2475 | get-stream: 8.0.1
2476 | human-signals: 5.0.0
2477 | is-stream: 3.0.0
2478 | merge-stream: 2.0.0
2479 | npm-run-path: 5.3.0
2480 | onetime: 6.0.0
2481 | signal-exit: 4.1.0
2482 | strip-final-newline: 3.0.0
2483 |
2484 | fast-deep-equal@3.1.3: {}
2485 |
2486 | fast-glob@3.3.3:
2487 | dependencies:
2488 | '@nodelib/fs.stat': 2.0.5
2489 | '@nodelib/fs.walk': 1.2.8
2490 | glob-parent: 5.1.2
2491 | merge2: 1.4.1
2492 | micromatch: 4.0.8
2493 |
2494 | fast-json-stable-stringify@2.1.0: {}
2495 |
2496 | fast-levenshtein@2.0.6: {}
2497 |
2498 | fastq@1.19.1:
2499 | dependencies:
2500 | reusify: 1.1.0
2501 |
2502 | file-entry-cache@8.0.0:
2503 | dependencies:
2504 | flat-cache: 4.0.1
2505 |
2506 | fill-range@7.1.1:
2507 | dependencies:
2508 | to-regex-range: 5.0.1
2509 |
2510 | find-up@5.0.0:
2511 | dependencies:
2512 | locate-path: 6.0.0
2513 | path-exists: 4.0.0
2514 |
2515 | flat-cache@4.0.1:
2516 | dependencies:
2517 | flatted: 3.3.3
2518 | keyv: 4.5.4
2519 |
2520 | flatted@3.3.3: {}
2521 |
2522 | for-each@0.3.5:
2523 | dependencies:
2524 | is-callable: 1.2.7
2525 |
2526 | fsevents@2.3.3:
2527 | optional: true
2528 |
2529 | function-bind@1.1.2: {}
2530 |
2531 | function.prototype.name@1.1.8:
2532 | dependencies:
2533 | call-bind: 1.0.8
2534 | call-bound: 1.0.4
2535 | define-properties: 1.2.1
2536 | functions-have-names: 1.2.3
2537 | hasown: 2.0.2
2538 | is-callable: 1.2.7
2539 |
2540 | functions-have-names@1.2.3: {}
2541 |
2542 | get-east-asian-width@1.3.0: {}
2543 |
2544 | get-intrinsic@1.3.0:
2545 | dependencies:
2546 | call-bind-apply-helpers: 1.0.2
2547 | es-define-property: 1.0.1
2548 | es-errors: 1.3.0
2549 | es-object-atoms: 1.1.1
2550 | function-bind: 1.1.2
2551 | get-proto: 1.0.1
2552 | gopd: 1.2.0
2553 | has-symbols: 1.1.0
2554 | hasown: 2.0.2
2555 | math-intrinsics: 1.1.0
2556 |
2557 | get-proto@1.0.1:
2558 | dependencies:
2559 | dunder-proto: 1.0.1
2560 | es-object-atoms: 1.1.1
2561 |
2562 | get-stream@8.0.1: {}
2563 |
2564 | get-symbol-description@1.1.0:
2565 | dependencies:
2566 | call-bound: 1.0.4
2567 | es-errors: 1.3.0
2568 | get-intrinsic: 1.3.0
2569 |
2570 | glob-parent@5.1.2:
2571 | dependencies:
2572 | is-glob: 4.0.3
2573 |
2574 | glob-parent@6.0.2:
2575 | dependencies:
2576 | is-glob: 4.0.3
2577 |
2578 | globals@14.0.0: {}
2579 |
2580 | globalthis@1.0.4:
2581 | dependencies:
2582 | define-properties: 1.2.1
2583 | gopd: 1.2.0
2584 |
2585 | gopd@1.2.0: {}
2586 |
2587 | graphemer@1.4.0: {}
2588 |
2589 | has-bigints@1.1.0: {}
2590 |
2591 | has-flag@4.0.0: {}
2592 |
2593 | has-property-descriptors@1.0.2:
2594 | dependencies:
2595 | es-define-property: 1.0.1
2596 |
2597 | has-proto@1.2.0:
2598 | dependencies:
2599 | dunder-proto: 1.0.1
2600 |
2601 | has-symbols@1.1.0: {}
2602 |
2603 | has-tostringtag@1.0.2:
2604 | dependencies:
2605 | has-symbols: 1.1.0
2606 |
2607 | hasown@2.0.2:
2608 | dependencies:
2609 | function-bind: 1.1.2
2610 |
2611 | human-signals@5.0.0: {}
2612 |
2613 | husky@9.1.7: {}
2614 |
2615 | ignore@5.3.2: {}
2616 |
2617 | ignore@7.0.4: {}
2618 |
2619 | import-fresh@3.3.1:
2620 | dependencies:
2621 | parent-module: 1.0.1
2622 | resolve-from: 4.0.0
2623 |
2624 | imurmurhash@0.1.4: {}
2625 |
2626 | internal-slot@1.1.0:
2627 | dependencies:
2628 | es-errors: 1.3.0
2629 | hasown: 2.0.2
2630 | side-channel: 1.1.0
2631 |
2632 | is-array-buffer@3.0.5:
2633 | dependencies:
2634 | call-bind: 1.0.8
2635 | call-bound: 1.0.4
2636 | get-intrinsic: 1.3.0
2637 |
2638 | is-arrayish@0.3.2:
2639 | optional: true
2640 |
2641 | is-async-function@2.1.1:
2642 | dependencies:
2643 | async-function: 1.0.0
2644 | call-bound: 1.0.4
2645 | get-proto: 1.0.1
2646 | has-tostringtag: 1.0.2
2647 | safe-regex-test: 1.1.0
2648 |
2649 | is-bigint@1.1.0:
2650 | dependencies:
2651 | has-bigints: 1.1.0
2652 |
2653 | is-boolean-object@1.2.2:
2654 | dependencies:
2655 | call-bound: 1.0.4
2656 | has-tostringtag: 1.0.2
2657 |
2658 | is-callable@1.2.7: {}
2659 |
2660 | is-core-module@2.16.1:
2661 | dependencies:
2662 | hasown: 2.0.2
2663 |
2664 | is-data-view@1.0.2:
2665 | dependencies:
2666 | call-bound: 1.0.4
2667 | get-intrinsic: 1.3.0
2668 | is-typed-array: 1.1.15
2669 |
2670 | is-date-object@1.1.0:
2671 | dependencies:
2672 | call-bound: 1.0.4
2673 | has-tostringtag: 1.0.2
2674 |
2675 | is-extglob@2.1.1: {}
2676 |
2677 | is-finalizationregistry@1.1.1:
2678 | dependencies:
2679 | call-bound: 1.0.4
2680 |
2681 | is-fullwidth-code-point@4.0.0: {}
2682 |
2683 | is-fullwidth-code-point@5.0.0:
2684 | dependencies:
2685 | get-east-asian-width: 1.3.0
2686 |
2687 | is-generator-function@1.1.0:
2688 | dependencies:
2689 | call-bound: 1.0.4
2690 | get-proto: 1.0.1
2691 | has-tostringtag: 1.0.2
2692 | safe-regex-test: 1.1.0
2693 |
2694 | is-glob@4.0.3:
2695 | dependencies:
2696 | is-extglob: 2.1.1
2697 |
2698 | is-map@2.0.3: {}
2699 |
2700 | is-module@1.0.0: {}
2701 |
2702 | is-number-object@1.1.1:
2703 | dependencies:
2704 | call-bound: 1.0.4
2705 | has-tostringtag: 1.0.2
2706 |
2707 | is-number@7.0.0: {}
2708 |
2709 | is-regex@1.2.1:
2710 | dependencies:
2711 | call-bound: 1.0.4
2712 | gopd: 1.2.0
2713 | has-tostringtag: 1.0.2
2714 | hasown: 2.0.2
2715 |
2716 | is-set@2.0.3: {}
2717 |
2718 | is-shared-array-buffer@1.0.4:
2719 | dependencies:
2720 | call-bound: 1.0.4
2721 |
2722 | is-stream@3.0.0: {}
2723 |
2724 | is-string@1.1.1:
2725 | dependencies:
2726 | call-bound: 1.0.4
2727 | has-tostringtag: 1.0.2
2728 |
2729 | is-symbol@1.1.1:
2730 | dependencies:
2731 | call-bound: 1.0.4
2732 | has-symbols: 1.1.0
2733 | safe-regex-test: 1.1.0
2734 |
2735 | is-typed-array@1.1.15:
2736 | dependencies:
2737 | which-typed-array: 1.1.19
2738 |
2739 | is-weakmap@2.0.2: {}
2740 |
2741 | is-weakref@1.1.1:
2742 | dependencies:
2743 | call-bound: 1.0.4
2744 |
2745 | is-weakset@2.0.4:
2746 | dependencies:
2747 | call-bound: 1.0.4
2748 | get-intrinsic: 1.3.0
2749 |
2750 | isarray@2.0.5: {}
2751 |
2752 | isexe@2.0.0: {}
2753 |
2754 | iterator.prototype@1.1.5:
2755 | dependencies:
2756 | define-data-property: 1.1.4
2757 | es-object-atoms: 1.1.1
2758 | get-intrinsic: 1.3.0
2759 | get-proto: 1.0.1
2760 | has-symbols: 1.1.0
2761 | set-function-name: 2.0.2
2762 |
2763 | js-tokens@4.0.0: {}
2764 |
2765 | js-yaml@4.1.0:
2766 | dependencies:
2767 | argparse: 2.0.1
2768 |
2769 | json-buffer@3.0.1: {}
2770 |
2771 | json-schema-traverse@0.4.1: {}
2772 |
2773 | json-stable-stringify-without-jsonify@1.0.1: {}
2774 |
2775 | jsx-ast-utils@3.3.5:
2776 | dependencies:
2777 | array-includes: 3.1.8
2778 | array.prototype.flat: 1.3.3
2779 | object.assign: 4.1.7
2780 | object.values: 1.2.1
2781 |
2782 | keyv@4.5.4:
2783 | dependencies:
2784 | json-buffer: 3.0.1
2785 |
2786 | levn@0.4.1:
2787 | dependencies:
2788 | prelude-ls: 1.2.1
2789 | type-check: 0.4.0
2790 |
2791 | lilconfig@3.1.3: {}
2792 |
2793 | lint-staged@15.5.1:
2794 | dependencies:
2795 | chalk: 5.4.1
2796 | commander: 13.1.0
2797 | debug: 4.4.0
2798 | execa: 8.0.1
2799 | lilconfig: 3.1.3
2800 | listr2: 8.3.2
2801 | micromatch: 4.0.8
2802 | pidtree: 0.6.0
2803 | string-argv: 0.3.2
2804 | yaml: 2.7.1
2805 | transitivePeerDependencies:
2806 | - supports-color
2807 |
2808 | listr2@8.3.2:
2809 | dependencies:
2810 | cli-truncate: 4.0.0
2811 | colorette: 2.0.20
2812 | eventemitter3: 5.0.1
2813 | log-update: 6.1.0
2814 | rfdc: 1.4.1
2815 | wrap-ansi: 9.0.0
2816 |
2817 | locate-path@6.0.0:
2818 | dependencies:
2819 | p-locate: 5.0.0
2820 |
2821 | lodash.merge@4.6.2: {}
2822 |
2823 | log-update@6.1.0:
2824 | dependencies:
2825 | ansi-escapes: 7.0.0
2826 | cli-cursor: 5.0.0
2827 | slice-ansi: 7.1.0
2828 | strip-ansi: 7.1.0
2829 | wrap-ansi: 9.0.0
2830 |
2831 | loose-envify@1.4.0:
2832 | dependencies:
2833 | js-tokens: 4.0.0
2834 |
2835 | magic-string@0.30.17:
2836 | dependencies:
2837 | '@jridgewell/sourcemap-codec': 1.5.0
2838 |
2839 | math-intrinsics@1.1.0: {}
2840 |
2841 | merge-stream@2.0.0: {}
2842 |
2843 | merge2@1.4.1: {}
2844 |
2845 | micromatch@4.0.8:
2846 | dependencies:
2847 | braces: 3.0.3
2848 | picomatch: 2.3.1
2849 |
2850 | mimic-fn@4.0.0: {}
2851 |
2852 | mimic-function@5.0.1: {}
2853 |
2854 | minimatch@3.1.2:
2855 | dependencies:
2856 | brace-expansion: 1.1.11
2857 |
2858 | minimatch@9.0.5:
2859 | dependencies:
2860 | brace-expansion: 2.0.1
2861 |
2862 | mri@1.2.0: {}
2863 |
2864 | ms@2.1.3: {}
2865 |
2866 | nanoid@3.3.11: {}
2867 |
2868 | natural-compare@1.4.0: {}
2869 |
2870 | next@15.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
2871 | dependencies:
2872 | '@next/env': 15.3.1
2873 | '@swc/counter': 0.1.3
2874 | '@swc/helpers': 0.5.15
2875 | busboy: 1.6.0
2876 | caniuse-lite: 1.0.30001715
2877 | postcss: 8.4.31
2878 | react: 19.1.0
2879 | react-dom: 19.1.0(react@19.1.0)
2880 | styled-jsx: 5.1.6(react@19.1.0)
2881 | optionalDependencies:
2882 | '@next/swc-darwin-arm64': 15.3.1
2883 | '@next/swc-darwin-x64': 15.3.1
2884 | '@next/swc-linux-arm64-gnu': 15.3.1
2885 | '@next/swc-linux-arm64-musl': 15.3.1
2886 | '@next/swc-linux-x64-gnu': 15.3.1
2887 | '@next/swc-linux-x64-musl': 15.3.1
2888 | '@next/swc-win32-arm64-msvc': 15.3.1
2889 | '@next/swc-win32-x64-msvc': 15.3.1
2890 | sharp: 0.34.1
2891 | transitivePeerDependencies:
2892 | - '@babel/core'
2893 | - babel-plugin-macros
2894 |
2895 | npm-run-path@5.3.0:
2896 | dependencies:
2897 | path-key: 4.0.0
2898 |
2899 | object-assign@4.1.1: {}
2900 |
2901 | object-inspect@1.13.4: {}
2902 |
2903 | object-keys@1.1.1: {}
2904 |
2905 | object.assign@4.1.7:
2906 | dependencies:
2907 | call-bind: 1.0.8
2908 | call-bound: 1.0.4
2909 | define-properties: 1.2.1
2910 | es-object-atoms: 1.1.1
2911 | has-symbols: 1.1.0
2912 | object-keys: 1.1.1
2913 |
2914 | object.entries@1.1.9:
2915 | dependencies:
2916 | call-bind: 1.0.8
2917 | call-bound: 1.0.4
2918 | define-properties: 1.2.1
2919 | es-object-atoms: 1.1.1
2920 |
2921 | object.fromentries@2.0.8:
2922 | dependencies:
2923 | call-bind: 1.0.8
2924 | define-properties: 1.2.1
2925 | es-abstract: 1.23.9
2926 | es-object-atoms: 1.1.1
2927 |
2928 | object.values@1.2.1:
2929 | dependencies:
2930 | call-bind: 1.0.8
2931 | call-bound: 1.0.4
2932 | define-properties: 1.2.1
2933 | es-object-atoms: 1.1.1
2934 |
2935 | onetime@6.0.0:
2936 | dependencies:
2937 | mimic-fn: 4.0.0
2938 |
2939 | onetime@7.0.0:
2940 | dependencies:
2941 | mimic-function: 5.0.1
2942 |
2943 | optionator@0.9.4:
2944 | dependencies:
2945 | deep-is: 0.1.4
2946 | fast-levenshtein: 2.0.6
2947 | levn: 0.4.1
2948 | prelude-ls: 1.2.1
2949 | type-check: 0.4.0
2950 | word-wrap: 1.2.5
2951 |
2952 | own-keys@1.0.1:
2953 | dependencies:
2954 | get-intrinsic: 1.3.0
2955 | object-keys: 1.1.1
2956 | safe-push-apply: 1.0.0
2957 |
2958 | p-limit@3.1.0:
2959 | dependencies:
2960 | yocto-queue: 0.1.0
2961 |
2962 | p-locate@5.0.0:
2963 | dependencies:
2964 | p-limit: 3.1.0
2965 |
2966 | parent-module@1.0.1:
2967 | dependencies:
2968 | callsites: 3.1.0
2969 |
2970 | path-exists@4.0.0: {}
2971 |
2972 | path-key@3.1.1: {}
2973 |
2974 | path-key@4.0.0: {}
2975 |
2976 | path-parse@1.0.7: {}
2977 |
2978 | picocolors@1.1.1: {}
2979 |
2980 | picomatch@2.3.1: {}
2981 |
2982 | picomatch@4.0.2: {}
2983 |
2984 | pidtree@0.6.0: {}
2985 |
2986 | possible-typed-array-names@1.1.0: {}
2987 |
2988 | postcss@8.4.31:
2989 | dependencies:
2990 | nanoid: 3.3.11
2991 | picocolors: 1.1.1
2992 | source-map-js: 1.2.1
2993 |
2994 | prelude-ls@1.2.1: {}
2995 |
2996 | prettier@3.5.3: {}
2997 |
2998 | pretty-quick@4.1.1(prettier@3.5.3):
2999 | dependencies:
3000 | find-up: 5.0.0
3001 | ignore: 7.0.4
3002 | mri: 1.2.0
3003 | picocolors: 1.1.1
3004 | picomatch: 4.0.2
3005 | prettier: 3.5.3
3006 | tinyexec: 0.3.2
3007 | tslib: 2.8.1
3008 |
3009 | prop-types@15.8.1:
3010 | dependencies:
3011 | loose-envify: 1.4.0
3012 | object-assign: 4.1.1
3013 | react-is: 16.13.1
3014 |
3015 | punycode@2.3.1: {}
3016 |
3017 | queue-microtask@1.2.3: {}
3018 |
3019 | react-dom@19.1.0(react@19.1.0):
3020 | dependencies:
3021 | react: 19.1.0
3022 | scheduler: 0.26.0
3023 |
3024 | react-is@16.13.1: {}
3025 |
3026 | react@19.1.0: {}
3027 |
3028 | reflect.getprototypeof@1.0.10:
3029 | dependencies:
3030 | call-bind: 1.0.8
3031 | define-properties: 1.2.1
3032 | es-abstract: 1.23.9
3033 | es-errors: 1.3.0
3034 | es-object-atoms: 1.1.1
3035 | get-intrinsic: 1.3.0
3036 | get-proto: 1.0.1
3037 | which-builtin-type: 1.2.1
3038 |
3039 | regexp.prototype.flags@1.5.4:
3040 | dependencies:
3041 | call-bind: 1.0.8
3042 | define-properties: 1.2.1
3043 | es-errors: 1.3.0
3044 | get-proto: 1.0.1
3045 | gopd: 1.2.0
3046 | set-function-name: 2.0.2
3047 |
3048 | resolve-from@4.0.0: {}
3049 |
3050 | resolve@1.22.10:
3051 | dependencies:
3052 | is-core-module: 2.16.1
3053 | path-parse: 1.0.7
3054 | supports-preserve-symlinks-flag: 1.0.0
3055 |
3056 | resolve@2.0.0-next.5:
3057 | dependencies:
3058 | is-core-module: 2.16.1
3059 | path-parse: 1.0.7
3060 | supports-preserve-symlinks-flag: 1.0.0
3061 |
3062 | restore-cursor@5.1.0:
3063 | dependencies:
3064 | onetime: 7.0.0
3065 | signal-exit: 4.1.0
3066 |
3067 | reusify@1.1.0: {}
3068 |
3069 | rfdc@1.4.1: {}
3070 |
3071 | rollup-plugin-node-externals@8.0.0(rollup@4.40.1):
3072 | dependencies:
3073 | rollup: 4.40.1
3074 |
3075 | rollup-plugin-preserve-directives@0.4.0(rollup@4.40.1):
3076 | dependencies:
3077 | '@rollup/pluginutils': 5.1.4(rollup@4.40.1)
3078 | magic-string: 0.30.17
3079 | rollup: 4.40.1
3080 |
3081 | rollup@4.40.1:
3082 | dependencies:
3083 | '@types/estree': 1.0.7
3084 | optionalDependencies:
3085 | '@rollup/rollup-android-arm-eabi': 4.40.1
3086 | '@rollup/rollup-android-arm64': 4.40.1
3087 | '@rollup/rollup-darwin-arm64': 4.40.1
3088 | '@rollup/rollup-darwin-x64': 4.40.1
3089 | '@rollup/rollup-freebsd-arm64': 4.40.1
3090 | '@rollup/rollup-freebsd-x64': 4.40.1
3091 | '@rollup/rollup-linux-arm-gnueabihf': 4.40.1
3092 | '@rollup/rollup-linux-arm-musleabihf': 4.40.1
3093 | '@rollup/rollup-linux-arm64-gnu': 4.40.1
3094 | '@rollup/rollup-linux-arm64-musl': 4.40.1
3095 | '@rollup/rollup-linux-loongarch64-gnu': 4.40.1
3096 | '@rollup/rollup-linux-powerpc64le-gnu': 4.40.1
3097 | '@rollup/rollup-linux-riscv64-gnu': 4.40.1
3098 | '@rollup/rollup-linux-riscv64-musl': 4.40.1
3099 | '@rollup/rollup-linux-s390x-gnu': 4.40.1
3100 | '@rollup/rollup-linux-x64-gnu': 4.40.1
3101 | '@rollup/rollup-linux-x64-musl': 4.40.1
3102 | '@rollup/rollup-win32-arm64-msvc': 4.40.1
3103 | '@rollup/rollup-win32-ia32-msvc': 4.40.1
3104 | '@rollup/rollup-win32-x64-msvc': 4.40.1
3105 | fsevents: 2.3.3
3106 |
3107 | run-parallel@1.2.0:
3108 | dependencies:
3109 | queue-microtask: 1.2.3
3110 |
3111 | safe-array-concat@1.1.3:
3112 | dependencies:
3113 | call-bind: 1.0.8
3114 | call-bound: 1.0.4
3115 | get-intrinsic: 1.3.0
3116 | has-symbols: 1.1.0
3117 | isarray: 2.0.5
3118 |
3119 | safe-push-apply@1.0.0:
3120 | dependencies:
3121 | es-errors: 1.3.0
3122 | isarray: 2.0.5
3123 |
3124 | safe-regex-test@1.1.0:
3125 | dependencies:
3126 | call-bound: 1.0.4
3127 | es-errors: 1.3.0
3128 | is-regex: 1.2.1
3129 |
3130 | scheduler@0.26.0: {}
3131 |
3132 | semver@6.3.1: {}
3133 |
3134 | semver@7.7.1: {}
3135 |
3136 | set-function-length@1.2.2:
3137 | dependencies:
3138 | define-data-property: 1.1.4
3139 | es-errors: 1.3.0
3140 | function-bind: 1.1.2
3141 | get-intrinsic: 1.3.0
3142 | gopd: 1.2.0
3143 | has-property-descriptors: 1.0.2
3144 |
3145 | set-function-name@2.0.2:
3146 | dependencies:
3147 | define-data-property: 1.1.4
3148 | es-errors: 1.3.0
3149 | functions-have-names: 1.2.3
3150 | has-property-descriptors: 1.0.2
3151 |
3152 | set-proto@1.0.0:
3153 | dependencies:
3154 | dunder-proto: 1.0.1
3155 | es-errors: 1.3.0
3156 | es-object-atoms: 1.1.1
3157 |
3158 | sharp@0.34.1:
3159 | dependencies:
3160 | color: 4.2.3
3161 | detect-libc: 2.0.4
3162 | semver: 7.7.1
3163 | optionalDependencies:
3164 | '@img/sharp-darwin-arm64': 0.34.1
3165 | '@img/sharp-darwin-x64': 0.34.1
3166 | '@img/sharp-libvips-darwin-arm64': 1.1.0
3167 | '@img/sharp-libvips-darwin-x64': 1.1.0
3168 | '@img/sharp-libvips-linux-arm': 1.1.0
3169 | '@img/sharp-libvips-linux-arm64': 1.1.0
3170 | '@img/sharp-libvips-linux-ppc64': 1.1.0
3171 | '@img/sharp-libvips-linux-s390x': 1.1.0
3172 | '@img/sharp-libvips-linux-x64': 1.1.0
3173 | '@img/sharp-libvips-linuxmusl-arm64': 1.1.0
3174 | '@img/sharp-libvips-linuxmusl-x64': 1.1.0
3175 | '@img/sharp-linux-arm': 0.34.1
3176 | '@img/sharp-linux-arm64': 0.34.1
3177 | '@img/sharp-linux-s390x': 0.34.1
3178 | '@img/sharp-linux-x64': 0.34.1
3179 | '@img/sharp-linuxmusl-arm64': 0.34.1
3180 | '@img/sharp-linuxmusl-x64': 0.34.1
3181 | '@img/sharp-wasm32': 0.34.1
3182 | '@img/sharp-win32-ia32': 0.34.1
3183 | '@img/sharp-win32-x64': 0.34.1
3184 | optional: true
3185 |
3186 | shebang-command@2.0.0:
3187 | dependencies:
3188 | shebang-regex: 3.0.0
3189 |
3190 | shebang-regex@3.0.0: {}
3191 |
3192 | side-channel-list@1.0.0:
3193 | dependencies:
3194 | es-errors: 1.3.0
3195 | object-inspect: 1.13.4
3196 |
3197 | side-channel-map@1.0.1:
3198 | dependencies:
3199 | call-bound: 1.0.4
3200 | es-errors: 1.3.0
3201 | get-intrinsic: 1.3.0
3202 | object-inspect: 1.13.4
3203 |
3204 | side-channel-weakmap@1.0.2:
3205 | dependencies:
3206 | call-bound: 1.0.4
3207 | es-errors: 1.3.0
3208 | get-intrinsic: 1.3.0
3209 | object-inspect: 1.13.4
3210 | side-channel-map: 1.0.1
3211 |
3212 | side-channel@1.1.0:
3213 | dependencies:
3214 | es-errors: 1.3.0
3215 | object-inspect: 1.13.4
3216 | side-channel-list: 1.0.0
3217 | side-channel-map: 1.0.1
3218 | side-channel-weakmap: 1.0.2
3219 |
3220 | signal-exit@4.1.0: {}
3221 |
3222 | simple-swizzle@0.2.2:
3223 | dependencies:
3224 | is-arrayish: 0.3.2
3225 | optional: true
3226 |
3227 | slice-ansi@5.0.0:
3228 | dependencies:
3229 | ansi-styles: 6.2.1
3230 | is-fullwidth-code-point: 4.0.0
3231 |
3232 | slice-ansi@7.1.0:
3233 | dependencies:
3234 | ansi-styles: 6.2.1
3235 | is-fullwidth-code-point: 5.0.0
3236 |
3237 | source-map-js@1.2.1: {}
3238 |
3239 | streamsearch@1.1.0: {}
3240 |
3241 | string-argv@0.3.2: {}
3242 |
3243 | string-width@7.2.0:
3244 | dependencies:
3245 | emoji-regex: 10.4.0
3246 | get-east-asian-width: 1.3.0
3247 | strip-ansi: 7.1.0
3248 |
3249 | string.prototype.matchall@4.0.12:
3250 | dependencies:
3251 | call-bind: 1.0.8
3252 | call-bound: 1.0.4
3253 | define-properties: 1.2.1
3254 | es-abstract: 1.23.9
3255 | es-errors: 1.3.0
3256 | es-object-atoms: 1.1.1
3257 | get-intrinsic: 1.3.0
3258 | gopd: 1.2.0
3259 | has-symbols: 1.1.0
3260 | internal-slot: 1.1.0
3261 | regexp.prototype.flags: 1.5.4
3262 | set-function-name: 2.0.2
3263 | side-channel: 1.1.0
3264 |
3265 | string.prototype.repeat@1.0.0:
3266 | dependencies:
3267 | define-properties: 1.2.1
3268 | es-abstract: 1.23.9
3269 |
3270 | string.prototype.trim@1.2.10:
3271 | dependencies:
3272 | call-bind: 1.0.8
3273 | call-bound: 1.0.4
3274 | define-data-property: 1.1.4
3275 | define-properties: 1.2.1
3276 | es-abstract: 1.23.9
3277 | es-object-atoms: 1.1.1
3278 | has-property-descriptors: 1.0.2
3279 |
3280 | string.prototype.trimend@1.0.9:
3281 | dependencies:
3282 | call-bind: 1.0.8
3283 | call-bound: 1.0.4
3284 | define-properties: 1.2.1
3285 | es-object-atoms: 1.1.1
3286 |
3287 | string.prototype.trimstart@1.0.8:
3288 | dependencies:
3289 | call-bind: 1.0.8
3290 | define-properties: 1.2.1
3291 | es-object-atoms: 1.1.1
3292 |
3293 | strip-ansi@7.1.0:
3294 | dependencies:
3295 | ansi-regex: 6.1.0
3296 |
3297 | strip-final-newline@3.0.0: {}
3298 |
3299 | strip-json-comments@3.1.1: {}
3300 |
3301 | styled-jsx@5.1.6(react@19.1.0):
3302 | dependencies:
3303 | client-only: 0.0.1
3304 | react: 19.1.0
3305 |
3306 | supports-color@7.2.0:
3307 | dependencies:
3308 | has-flag: 4.0.0
3309 |
3310 | supports-preserve-symlinks-flag@1.0.0: {}
3311 |
3312 | tinyexec@0.3.2: {}
3313 |
3314 | to-regex-range@5.0.1:
3315 | dependencies:
3316 | is-number: 7.0.0
3317 |
3318 | ts-api-utils@2.1.0(typescript@5.8.3):
3319 | dependencies:
3320 | typescript: 5.8.3
3321 |
3322 | tslib@2.8.1: {}
3323 |
3324 | type-check@0.4.0:
3325 | dependencies:
3326 | prelude-ls: 1.2.1
3327 |
3328 | typed-array-buffer@1.0.3:
3329 | dependencies:
3330 | call-bound: 1.0.4
3331 | es-errors: 1.3.0
3332 | is-typed-array: 1.1.15
3333 |
3334 | typed-array-byte-length@1.0.3:
3335 | dependencies:
3336 | call-bind: 1.0.8
3337 | for-each: 0.3.5
3338 | gopd: 1.2.0
3339 | has-proto: 1.2.0
3340 | is-typed-array: 1.1.15
3341 |
3342 | typed-array-byte-offset@1.0.4:
3343 | dependencies:
3344 | available-typed-arrays: 1.0.7
3345 | call-bind: 1.0.8
3346 | for-each: 0.3.5
3347 | gopd: 1.2.0
3348 | has-proto: 1.2.0
3349 | is-typed-array: 1.1.15
3350 | reflect.getprototypeof: 1.0.10
3351 |
3352 | typed-array-length@1.0.7:
3353 | dependencies:
3354 | call-bind: 1.0.8
3355 | for-each: 0.3.5
3356 | gopd: 1.2.0
3357 | is-typed-array: 1.1.15
3358 | possible-typed-array-names: 1.1.0
3359 | reflect.getprototypeof: 1.0.10
3360 |
3361 | typescript-eslint@8.31.1(eslint@9.25.1)(typescript@5.8.3):
3362 | dependencies:
3363 | '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.25.1)(typescript@5.8.3))(eslint@9.25.1)(typescript@5.8.3)
3364 | '@typescript-eslint/parser': 8.31.1(eslint@9.25.1)(typescript@5.8.3)
3365 | '@typescript-eslint/utils': 8.31.1(eslint@9.25.1)(typescript@5.8.3)
3366 | eslint: 9.25.1
3367 | typescript: 5.8.3
3368 | transitivePeerDependencies:
3369 | - supports-color
3370 |
3371 | typescript@5.8.3: {}
3372 |
3373 | unbox-primitive@1.1.0:
3374 | dependencies:
3375 | call-bound: 1.0.4
3376 | has-bigints: 1.1.0
3377 | has-symbols: 1.1.0
3378 | which-boxed-primitive: 1.1.1
3379 |
3380 | undici-types@6.21.0: {}
3381 |
3382 | uri-js@4.4.1:
3383 | dependencies:
3384 | punycode: 2.3.1
3385 |
3386 | which-boxed-primitive@1.1.1:
3387 | dependencies:
3388 | is-bigint: 1.1.0
3389 | is-boolean-object: 1.2.2
3390 | is-number-object: 1.1.1
3391 | is-string: 1.1.1
3392 | is-symbol: 1.1.1
3393 |
3394 | which-builtin-type@1.2.1:
3395 | dependencies:
3396 | call-bound: 1.0.4
3397 | function.prototype.name: 1.1.8
3398 | has-tostringtag: 1.0.2
3399 | is-async-function: 2.1.1
3400 | is-date-object: 1.1.0
3401 | is-finalizationregistry: 1.1.1
3402 | is-generator-function: 1.1.0
3403 | is-regex: 1.2.1
3404 | is-weakref: 1.1.1
3405 | isarray: 2.0.5
3406 | which-boxed-primitive: 1.1.1
3407 | which-collection: 1.0.2
3408 | which-typed-array: 1.1.19
3409 |
3410 | which-collection@1.0.2:
3411 | dependencies:
3412 | is-map: 2.0.3
3413 | is-set: 2.0.3
3414 | is-weakmap: 2.0.2
3415 | is-weakset: 2.0.4
3416 |
3417 | which-typed-array@1.1.19:
3418 | dependencies:
3419 | available-typed-arrays: 1.0.7
3420 | call-bind: 1.0.8
3421 | call-bound: 1.0.4
3422 | for-each: 0.3.5
3423 | get-proto: 1.0.1
3424 | gopd: 1.2.0
3425 | has-tostringtag: 1.0.2
3426 |
3427 | which@2.0.2:
3428 | dependencies:
3429 | isexe: 2.0.0
3430 |
3431 | word-wrap@1.2.5: {}
3432 |
3433 | wrap-ansi@9.0.0:
3434 | dependencies:
3435 | ansi-styles: 6.2.1
3436 | string-width: 7.2.0
3437 | strip-ansi: 7.1.0
3438 |
3439 | yaml@2.7.1: {}
3440 |
3441 | yocto-queue@0.1.0: {}
3442 |
--------------------------------------------------------------------------------
/rollup.config.mjs:
--------------------------------------------------------------------------------
1 | import externals from "rollup-plugin-node-externals";
2 | import resolve from "@rollup/plugin-node-resolve";
3 | import typescript from "@rollup/plugin-typescript";
4 | import preserveDirectives from "rollup-plugin-preserve-directives";
5 |
6 | /**
7 | * @type {import('rollup').RollupOptions}
8 | */
9 | const config = {
10 | input: "src/index.ts",
11 | output: {
12 | format: "esm",
13 | sourcemap: false,
14 | preserveModules: true,
15 | preserveModulesRoot: "src",
16 | dir: "lib",
17 | },
18 | plugins: [externals(), resolve(), preserveDirectives(), typescript()],
19 | onwarn(warning, warn) {
20 | if (warning.code === "MODULE_LEVEL_DIRECTIVE" && warning.message.includes(`use client`)) return;
21 | warn(warning);
22 | },
23 | };
24 |
25 | export default config;
26 |
--------------------------------------------------------------------------------
/src/HubspotProvider.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import React, {
4 | createContext,
5 | useContext,
6 | useMemo,
7 | useState,
8 | useDebugValue,
9 | useCallback,
10 | } from "react";
11 | import NextScript from "next/script.js";
12 | import type { ScriptProps } from "next/script.js";
13 |
14 | export const HUBSPOT_LOADED_EVENT = "hubspot_loaded";
15 |
16 | // https://github.com/vercel/next.js/issues/46078
17 | const Script = NextScript as unknown as React.FC;
18 |
19 | export interface HubspotContextProps {
20 | /** If `true`, Hubspot script has been loaded */
21 | readonly isScriptLoaded: boolean;
22 | /** If `true`, an error occurred while loading Hubspot script */
23 | readonly isScriptError: boolean;
24 | /** Error received while loading Hubspot script */
25 | readonly scriptError: Error | null;
26 | }
27 |
28 | export const HubspotContext = createContext({
29 | isScriptLoaded: false,
30 | isScriptError: false,
31 | scriptError: null,
32 | });
33 |
34 | export const useHubspotContext = () => {
35 | const values = useContext(HubspotContext);
36 | useDebugValue(`isScriptLoaded: ${String(values.isScriptLoaded)}`);
37 | useDebugValue(`isScriptError: ${String(values.isScriptError)}`);
38 | useDebugValue(`scriptError: ${values.scriptError}`);
39 | return values;
40 | };
41 |
42 | export interface HubspotProviderProps extends Partial {
43 | children?: React.ReactNode;
44 | }
45 |
46 | /** Loads Hubspot script to the document and syncs loading state between forms on the page */
47 | export const HubspotProvider: React.FC = ({
48 | children,
49 |
50 | strategy = "afterInteractive",
51 |
52 | src: passedSrc,
53 | onReady: passedOnReady,
54 | onError: passedOnError,
55 |
56 | ...props
57 | }) => {
58 | const [isScriptLoaded, setIsScriptLoaded] = useState(false);
59 | const [scriptError, setScriptError] = useState(null);
60 |
61 | const isScriptError = !!scriptError;
62 |
63 | const src = passedSrc || "https://js.hsforms.net/forms/v2.js";
64 |
65 | // Handle script load
66 | const onReady = useCallback(() => {
67 | setScriptError(null);
68 | setIsScriptLoaded(true);
69 | window.dispatchEvent(new Event(HUBSPOT_LOADED_EVENT));
70 | passedOnReady?.();
71 | }, [passedOnReady]);
72 |
73 | // Handle script error
74 | const onError = useCallback(
75 | (e: Error) => {
76 | console.error("HubSpot script failed to load:", e);
77 | setScriptError(e);
78 | passedOnError?.(e);
79 | },
80 | [passedOnError],
81 | );
82 |
83 | // Prevent unnecessary rerenders
84 | const value: HubspotContextProps = useMemo(
85 | () => ({
86 | isScriptLoaded,
87 | isScriptError,
88 | scriptError,
89 | }),
90 | [isScriptLoaded, isScriptError, scriptError],
91 | );
92 |
93 | return (
94 |
95 | {children}
96 |
97 |
98 | );
99 | };
100 |
--------------------------------------------------------------------------------
/src/hubspot.types.ts:
--------------------------------------------------------------------------------
1 | // TODO: Improve types
2 | /* eslint-disable @typescript-eslint/no-explicit-any */
3 |
4 | /** Unknown function */
5 | type ƒ = (...args: unknown[]) => unknown;
6 | /** Unknown object */
7 | type θ = Record;
8 |
9 | /**
10 | * Locales supported by HubSpot forms
11 | */
12 | export enum HubSpotFormLocale {
13 | ENGLISH = "en",
14 | DANISH = "da",
15 | GERMAN = "de",
16 | SPANISH = "es",
17 | SPANISH_MEXICO = "es-mx",
18 | FINNISH = "fi",
19 | FRENCH = "fr",
20 | ITALIAN = "it",
21 | JAPANESE = "ja",
22 | DUTCH = "nl",
23 | POLISH = "pl",
24 | PORTUGUESE = "pt-br",
25 | SWEDISH = "sv",
26 | CHINESE = "zh-cn",
27 | CHINESE_HONG_KONG = "zh-hk",
28 | }
29 |
30 | /**
31 | * Inputs based on HubSpot docs: https://legacydocs.hubspot.com/docs/methods/forms/advanced_form_options
32 | */
33 | export interface HubspotFormProps {
34 | readonly portalId: string;
35 | readonly formId: string;
36 | readonly target: string;
37 |
38 | /**
39 | * The region of the portal where the form was created. This is used to retrieve the form definition. Possible values are na1 or eu1.
40 | */
41 | readonly region?: string;
42 | /**
43 | * URL to which the form will redirect upon a successful form completion. Cannot be used with inlineMessage.
44 | */
45 | readonly redirectUrl?: string;
46 | /**
47 | * Inline message to display in place of the form upon a successful form completion. Cannot be used with redirectUrl.
48 | */
49 | readonly inlineMessage?: string;
50 | /**
51 | * ID of the landing page on which the form exists. This must be the content ID of a landing page built in HubSpot.
52 | */
53 | readonly pageId?: string;
54 | /**
55 | * CSS string specific to validation error messages. Empty string == no style.
56 | */
57 | readonly cssRequired?: string;
58 | /**
59 | * CSS class that will be applied to the form.
60 | */
61 | readonly cssClass?: string;
62 | /**
63 | * A CSS string that, when defined, is used instead of the built-in CSS theme. This can be used for setting your own CSS styling.
64 | */
65 | readonly css?: string;
66 | /**
67 | * String that overrides the text of the submit button.
68 | */
69 | readonly submitText?: string;
70 | /**
71 | * CSS class that will be applied to the submit input instead of the default .hs-button.primary.large.
72 | */
73 | readonly submitButtonClass?: string;
74 | /**
75 | * CSS class that will be applied to inputs with validation errors instead of the default .invalid.error.
76 | */
77 | readonly errorClass?: string;
78 | /**
79 | * CSS class that will be applied to error messages instead of the default .hs-error-msgs.inputs-list.
80 | */
81 | readonly errorMessageClass?: string;
82 | /**
83 | * Locale for the form, used to customize language for form errors and the date picker. See Add internationalized error messages below.
84 | */
85 | readonly locale?: HubSpotFormLocale;
86 | /**
87 | * Custom translations
88 | * An object containing additional translation languages or to override field labels or messages for existing languages. See Customize internationalization below.
89 | * Reference: https://legacydocs.hubspot.com/docs/methods/forms/advanced_form_options
90 | */
91 | readonly translations?: any;
92 | /**
93 | * Array of domains, specified as strings, to block in email input fields.
94 | */
95 | readonly manuallyBlockedEmailDomain?: string[];
96 | /**
97 | * Set the Salesforce campaign key to associate form submissions with the campaign.
98 | */
99 | readonly sfdcCampaignId?: string;
100 | /**
101 | * Set the GoToWebinar campaign key to enroll form submission contacts to a GoToWebinar webinar. The portal must have the GoToWebinar integration installed.
102 | */
103 | readonly goToWebinarWebinarKey?: string;
104 | /**
105 | * When embedding the same form on the same page twice, provide this Id for each identical form embed. The Id value is arbitrary, so long as it is not the same between forms.
106 | */
107 | readonly formInstanceId?: string;
108 | /**
109 | * Callback that executes before the form builds, takes form configuration object as single argument: onBeforeFormInit(ctx)
110 | */
111 | readonly onBeforeFormInit?: () => any;
112 | /**
113 | * Callback that executes after form is built, placed in the DOM, and validation has been initialized.
114 | * This is perfect for any logic that needs to execute when the form is on the page.
115 | * Takes the jQuery form object as the argument: onFormReady($form)
116 | */
117 | readonly onFormReady?: ($form?: HTMLFormElement) => any;
118 | /**
119 | * Callback that executes after form is validated, just before the data is actually sent.
120 | * This is for any logic that needs to execute during the submit.
121 | * Any changes will not be validated. Takes the jQuery form object as the argument: onFormSubmit($form)
122 | */
123 | readonly onFormSubmit?: (
124 | $form?: HTMLFormElement,
125 | formValues?: { name: string; value: any }[],
126 | ) => any;
127 | /**
128 | * Callback the data is actually sent.
129 | * This allows you to perform an action when the submission is fully complete, such as displaying a confirmation or thank you message.
130 | */
131 | readonly onFormSubmitted?: (
132 | submitMessage: HTMLDivElement,
133 | params: { redirectUrl: string },
134 | ) => any;
135 |
136 | readonly onFormDefinitionFetchSuccess?: (res: {
137 | form: {
138 | captchaEnabled: boolean;
139 | cssClass: string;
140 | formFieldGroups: Record[];
141 | formTypeNumber: number;
142 | guid: string;
143 | inlineMessage: string;
144 | isPublished: boolean;
145 | metaData: { name: string; value: string }[];
146 | portalId: number;
147 | redirectUrl: string;
148 | style: string;
149 | submitText: string;
150 | thankYouMessageJson: string;
151 | themeColor: string;
152 | themeName: string;
153 | variantId: string;
154 | };
155 |
156 | countryCode?: string;
157 | errorCode?: unknown;
158 | gates?: { viralityVariation: boolean; useRecaptchaEnterprise: boolean };
159 | globalStyle?: unknown;
160 | knownSmartFields?: unknown[];
161 | portalSetting?: { enableLiveValidation: boolean };
162 | properties?: Record;
163 | scopes?: {
164 | noBranding: boolean;
165 | renderShell: boolean;
166 | rawHtmlAccess: boolean;
167 | customStyleAccess: boolean;
168 | };
169 | themeCss?: unknown;
170 | time?: number;
171 | }) => any;
172 |
173 | readonly onFormDefinitionFetchError?: (res: unknown) => any;
174 |
175 | readonly onFormFailedValidation?: ($form?: HTMLFormElement) => any;
176 |
177 | readonly onFormError?: (
178 | errorCode: string,
179 | _: unknown,
180 | values: { id: string; value: any; errors: string[][] }[],
181 | ) => any;
182 | }
183 |
184 | export interface Mixin {
185 | i18nTranslate: ƒ;
186 | }
187 |
188 | export interface Captcha {
189 | status: {
190 | constants: {
191 | [x: string]: string;
192 | INVOKED: "INVOKED";
193 | LOADED: "LOADED";
194 | LOAD_TIMEOUT: "LOAD_TIMEOUT";
195 | NOT_APPLICABLE: "NOT_APPLICABLE";
196 | NOT_LOADED: "NOT_LOADED";
197 | PASSED: "PASSED";
198 | };
199 | };
200 | }
201 |
202 | export interface Form {
203 | api: {
204 | getForm: ƒ;
205 | getFormForEl: ƒ;
206 | getForms: ƒ;
207 | onFormReady: ƒ;
208 | reset: ƒ;
209 | singletonReadyQueue: any[];
210 | };
211 | components: {
212 | ErrorState: ƒ;
213 | Field: ƒ;
214 | FieldGroup: ƒ;
215 | Form: ƒ;
216 | Input: ƒ;
217 | LegalConsentFields: ƒ;
218 | ViralityLink: ƒ;
219 | inputs: {
220 | BooleanCheckbox: ƒ;
221 | Context: ƒ;
222 | DateInput: ƒ;
223 | Email: ƒ;
224 | Enum: ƒ;
225 | File: ƒ;
226 | NumberInput: ƒ;
227 | Phone: ƒ;
228 | Range: ƒ;
229 | Rating: ƒ;
230 | Recaptcha: ƒ;
231 | Select: ƒ;
232 | Submit: ƒ;
233 | Text: ƒ;
234 | TextArea: ƒ;
235 | };
236 | };
237 | constants: {
238 | embeddedNonOverridableCss: string;
239 | embeddedRequiredCss: string;
240 | knownHubspotDomains: string[];
241 | legacyThemeName: string;
242 | maxInputLength: number;
243 | };
244 | formBootstrapper: {
245 | render: ƒ;
246 | renderDemo: ƒ;
247 | renderErrorState: ƒ;
248 | };
249 | formErrorReporter: {
250 | get: ƒ;
251 | setUp: ƒ;
252 | };
253 | formFetcher: {
254 | fetchAnalytics: ƒ;
255 | fetchData: ƒ;
256 | fetchRecaptcha: ƒ;
257 | formatNames: ƒ;
258 | getEmail: ƒ;
259 | getUtk: ƒ;
260 | };
261 | formRenderer: {
262 | renderForm: ƒ;
263 | rerenderForms: ƒ;
264 | };
265 | formShellRenderer: {
266 | renderRecaptcha: ƒ;
267 | renderShell: ƒ;
268 | };
269 | lib: {
270 | errorReport: {
271 | addCookies: ƒ;
272 | errorReporter: {
273 | baseUrl: string;
274 | cookies: Record;
275 | disabled: boolean;
276 | env: string;
277 | hublet: string;
278 | isEmbedApp: boolean;
279 | isQa: boolean;
280 | level: string;
281 | projectName: string;
282 | release: string;
283 | tags: θ;
284 | user: θ;
285 | };
286 | getBlacklistedErrorMessages: ƒ;
287 | report: ƒ;
288 | setupErrorReporter: ƒ;
289 | };
290 | };
291 | mixins: {
292 | I18nMixin: Mixin;
293 | InputMixin: {
294 | componentDidMount: ƒ;
295 | componentDidUpdate: ƒ;
296 | contextTypes: θ;
297 | forceValidate: ƒ;
298 | handleJqueryChange: ƒ;
299 | setFieldValue: ƒ;
300 | };
301 |
302 | ValidatorMixin: {
303 | componentDidMount: ƒ;
304 | componentWillUnmount: ƒ;
305 | extractValidation: ƒ;
306 | mixins: Mixin[];
307 | validate: ƒ;
308 | validateMaxInputLength: ƒ;
309 | validatePhoneNumberOnChange: ƒ;
310 | validateRequired: ƒ;
311 | validateTrimmed: ƒ;
312 | _validate: ƒ;
313 | };
314 | };
315 | perf: {
316 | API: {
317 | submit: ƒ;
318 | track: ƒ;
319 | };
320 | PerfMeasurer: {
321 | environmentSuffix: string;
322 | hublet: string;
323 | markEnd: ƒ;
324 | markStart: ƒ;
325 | measureEmbedScript: ƒ;
326 | measureFormRequest: ƒ;
327 | setup: ƒ;
328 | shouldMeasure: ƒ;
329 | submitCount: ƒ;
330 | submitTiming: ƒ;
331 | trackRecaptcha: ƒ;
332 | };
333 | };
334 | }
335 |
336 | export interface Operators {
337 | BETWEEN: ƒ;
338 | CONTAINS: ƒ;
339 | DOESNT_CONTAIN: ƒ;
340 | EQ: ƒ;
341 | GT: ƒ;
342 | GTE: ƒ;
343 | IS_NOT_EMPTY: ƒ;
344 | LT: ƒ;
345 | LTE: ƒ;
346 | NEQ: ƒ;
347 | NOT_BETWEEN: ƒ;
348 | SET_ALL: ƒ;
349 | SET_ANY: ƒ;
350 | SET_EQ: ƒ;
351 | SET_NEQ: ƒ;
352 | SET_NOT_ALL: ƒ;
353 | SET_NOT_ANY: ƒ;
354 | STR_ENDS_WITH: ƒ;
355 | STR_STARTS_WITH: ƒ;
356 | WITHIN_TIME: ƒ;
357 | WITHIN_TIME_REVERSE: ƒ;
358 | }
359 |
360 | export interface Utils {
361 | addGoogleFontLink: ƒ;
362 | addParameterToUrl: ƒ;
363 | callCallbackGlobably: ƒ;
364 | checkIfMultiColumn: ƒ;
365 | constructInlineMessageForIncompatibleBrowsers: ƒ;
366 | constructRedirectUrlForIncompatibleBrowsers: ƒ;
367 | createCrossDomainTrackingUrl: ƒ;
368 | currentScript: HTMLScriptElement;
369 | debounce: ƒ;
370 | debug: ƒ;
371 | extend: ƒ;
372 | filter: ƒ;
373 | filterDependentField: ƒ;
374 | formatFontFamily: ƒ;
375 | generateFormStyleCss: ƒ;
376 | getAllFieldNames: ƒ;
377 | getCachedCompletedFields: ƒ;
378 | getCookie: ƒ;
379 | getCurrentScript: ƒ;
380 | getCurrentUrl: ƒ;
381 | getDomainFromUrl: ƒ;
382 | getEmailDomain: ƒ;
383 | getEscapedCookie: ƒ;
384 | getLocalStorage: ƒ;
385 | getMetaDataValue: ƒ;
386 | getQueryStringParams: ƒ;
387 | getRecaptchaNamespace: ƒ;
388 | getRecentFieldsCookie: ƒ;
389 | getRequestType: ƒ;
390 | getSelectedOptions: ƒ;
391 | getSelectedOptionsByLabel: ƒ;
392 | getSource: ƒ;
393 | getSourceName: ƒ;
394 | getSourceVersion: ƒ;
395 | getSourceVersionMajor: ƒ;
396 | getSourceVersionMinor: ƒ;
397 | getUnexpectedContextProps: ƒ;
398 | getUniqueFormId: ƒ;
399 | getUniqueFormIdForClass: ƒ;
400 | getUuid: ƒ;
401 | getlocaleCode: ƒ;
402 | hasFormValidityChanged: ƒ;
403 | i18nTranslate: ƒ;
404 | injectCss: ƒ;
405 | isArray: ƒ;
406 | isArrayEquals: ƒ;
407 | isBrowserCompatibleWithNativeDatePicker: ƒ;
408 | isCOSPreview: ƒ;
409 | isCos: ƒ;
410 | isEmpty: ƒ;
411 | isEmptyArray: ƒ;
412 | isEmptyObject: ƒ;
413 | isEmptyString: ƒ;
414 | isEmptyValue: ƒ;
415 | isEqual: ƒ;
416 | isExistingProperty: ƒ;
417 | isFallback: ƒ;
418 | isHostedOnHubspot: ƒ;
419 | isInViewport: ƒ;
420 | isInteger: ƒ;
421 | isMobile: ƒ;
422 | isNumeric: ƒ;
423 | isObject: ƒ;
424 | isOriginAllowed: ƒ;
425 | isPostSubmitRedirect: ƒ;
426 | isQA: ƒ;
427 | isQAHostName: ƒ;
428 | isRtl: ƒ;
429 | isShareableLink: ƒ;
430 | isSmartGroup: ƒ;
431 | isSubmissionResponseMessage: ƒ;
432 | isSystemFont: ƒ;
433 | isUsingModernTheme: ƒ;
434 | localeCodes: Record;
435 | log: ƒ;
436 | map: ƒ;
437 | merge: ƒ;
438 | mergeSort: ƒ;
439 | mergeStyles: ƒ;
440 | omit: ƒ;
441 | optionsContainSeparator: ƒ;
442 | parseContextTranslations: ƒ;
443 | parseJsonResponseBody: ƒ;
444 | parseObjWithDefault: ƒ;
445 | ready: ƒ;
446 | removeEmpty: ƒ;
447 | removeParameterFromUrl: ƒ;
448 | replaceFormSelector: ƒ;
449 | retriveSubmissionFieldsFromForm: ƒ;
450 | runCustomerCallbackFunction: ƒ;
451 | setKeyValueObject: ƒ;
452 | setLocalStorage: ƒ;
453 | shouldApplyThemeCss: ƒ;
454 | shouldRenderFormRawHtml: ƒ;
455 | shouldRenderShell: ƒ;
456 | stripCustomStyleProps: ƒ;
457 | trim: ƒ;
458 | unescapeScriptClosingTag: ƒ;
459 | _getReact: ƒ;
460 | _legacyCurrentScript: ƒ;
461 | }
462 |
463 | export interface DomainUtils {
464 | getEmailResubscribeDomain: ƒ;
465 | getEmailValidationDomain: ƒ;
466 | getFormDefinitionDomain: ƒ;
467 | getFormSubmissionDomain: ƒ;
468 | getGoogleDomain: ƒ;
469 | getHsRecaptchaDomain: ƒ;
470 | getHsS3Domain: ƒ;
471 | getLocalDomain: ƒ;
472 | getPerformanceTrackingDomain: ƒ;
473 | getRecaptchaDomain: ƒ;
474 | getShareDomain: ƒ;
475 | getViralityLinkDomain: ƒ;
476 | }
477 |
478 | export interface Hubspot {
479 | EmailValidationPostClient: ƒ;
480 | EmbedClient: ƒ;
481 | FallbackEmbedClient: ƒ;
482 | captcha: Captcha;
483 | domain_utils: DomainUtils;
484 | field_utils: {
485 | getFieldSubmissionIdentifier: ƒ;
486 | getFieldIdentifier: ƒ;
487 | };
488 | form: Form;
489 | formsnext: {
490 | [x: string]: any;
491 | version: string;
492 | };
493 | inputValueState: {
494 | INPUT_VALUE_STATE: Record;
495 | STALE_TIMEOUT: number;
496 | canShowErrorMessage: ƒ;
497 | };
498 | legalOptions: {
499 | constants: {
500 | onstants: {
501 | nameKey: string;
502 | options: θ;
503 | processingConsentTypes: θ;
504 | };
505 | };
506 | };
507 | locale_utils: θ;
508 | objectTypeIds: {
509 | constants: θ;
510 | };
511 | operators: Operators;
512 | phone_utils: θ;
513 | recaptcha: {
514 | keys: θ;
515 | };
516 | serializeArray: ƒ;
517 | utils: Utils;
518 | vidyard_utils: {
519 | renderVidyardPlayers: ƒ;
520 | };
521 | _emailValidationAndResubCache: θ;
522 | _xhrCache: θ;
523 | }
524 |
525 | export interface Hbspt {
526 | forms: {
527 | create: (props: HubspotFormProps) => any;
528 | deps: Record;
529 | };
530 | executeRecaptcha: θ;
531 | resetRecaptcha: θ;
532 | resize: θ;
533 | shells: number;
534 | }
535 |
536 | /* eslint-disable no-var */
537 |
538 | // Both 'hbspt' and 'hubspot' variables are globally available once script is loaded
539 | declare global {
540 | var hubspot: Hubspot;
541 | var hbspt: Hbspt;
542 | }
543 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./hubspot.types.js";
2 |
3 | export * from "./HubspotProvider.js";
4 | export * from "./useHubspot.js";
5 | export * from "./useHubspotForm.js";
6 |
--------------------------------------------------------------------------------
/src/useHubspot.ts:
--------------------------------------------------------------------------------
1 | import { useDebugValue, useMemo, useSyncExternalStore } from "react";
2 |
3 | import { HUBSPOT_LOADED_EVENT, HubspotContextProps, useHubspotContext } from "./HubspotProvider.js";
4 |
5 | import type { Hubspot, Hbspt } from "./hubspot.types.js";
6 |
7 | const subscribe = (callback: () => void) => {
8 | window.addEventListener(HUBSPOT_LOADED_EVENT, callback);
9 | return () => window.removeEventListener(HUBSPOT_LOADED_EVENT, callback);
10 | };
11 |
12 | const getHubspot = () => window.hubspot || null;
13 |
14 | const getHbspt = () => window.hbspt || null;
15 |
16 | const getServerSnapshot = () => null;
17 |
18 | export interface useHubspotResult extends HubspotContextProps {
19 | /** Global Hubspot object */
20 | readonly hubspot: Hubspot | null;
21 | /** Hbspt object, used to create forms */
22 | readonly hbspt: Hbspt | null;
23 | }
24 |
25 | /**
26 | * A custom hook that provides access to HubSpot-related data and functionality.
27 | *
28 | * This hook combines context data from `useHubspotContext` with synchronized external
29 | * store values for `hubspot` and `hbspt`.
30 | *
31 | * @returns An object containing:
32 | * - `hubspot`: Global window HubSpot object or `null` if not loaded.
33 | * - `hbspt`: Global window Hbspt object or `null` if not loaded.
34 | * - Additional context data from `useHubspotContext`.
35 | */
36 | export const useHubspot = (): useHubspotResult => {
37 | const context = useHubspotContext();
38 |
39 | const hubspot = useSyncExternalStore(subscribe, getHubspot, getServerSnapshot);
40 | const hbspt = useSyncExternalStore(subscribe, getHbspt, getServerSnapshot);
41 |
42 | useDebugValue(`hubspot: `, hubspot);
43 | useDebugValue(`hbspt: `, hbspt);
44 |
45 | const value: useHubspotResult = useMemo(
46 | () => ({
47 | ...context,
48 | hubspot,
49 | hbspt,
50 | }),
51 | [context, hubspot, hbspt],
52 | );
53 |
54 | return value;
55 | };
56 |
--------------------------------------------------------------------------------
/src/useHubspotForm.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState, useDebugValue, useMemo } from "react";
2 |
3 | import { useHubspot, useHubspotResult } from "./useHubspot.js";
4 |
5 | import type { HubspotFormProps } from "./hubspot.types.js";
6 |
7 | export interface UseHubSpotFormResponse extends useHubspotResult {
8 | /** If `true`, Hubspot form has been successfully created */
9 | readonly isFormCreated: boolean;
10 | /** If `true`, an error occurred while creating a Hubspot form */
11 | readonly isError: boolean;
12 | /** Error received while creating Hubspot form */
13 | readonly error: Error | null;
14 | }
15 |
16 | /**
17 | * A custom hook for integrating HubSpot forms into a React application.
18 | *
19 | * @param formProps - The properties required to create a HubSpot form.
20 | * @returns An object containing the HubSpot context, form creation status, error state, and error details.
21 | *
22 | * @description
23 | * This hook leverages the HubSpot context to dynamically create a HubSpot form using the provided `formProps`.
24 | * It manages the form creation state, error handling, and provides debug information for development purposes.
25 | *
26 | * @example
27 | * ```tsx
28 | * const formProps = {
29 | * portalId: "123456",
30 | * formId: "abcdefg",
31 | * target: "#form-container",
32 | * };
33 | *
34 | * const { isFormCreated, isError, error } = useHubspotForm(formProps);
35 | *
36 | * if (isError) {
37 | * console.error("Error creating form:", error);
38 | * }
39 | *
40 | * return (
41 | *
42 | * )
43 | * ```
44 | */
45 | export const useHubspotForm = (formProps: HubspotFormProps): UseHubSpotFormResponse => {
46 | const [isFormCreated, setIsFormCreated] = useState(false);
47 | const [error, setError] = useState(null);
48 |
49 | const isError = !!error;
50 |
51 | const hubspotContext = useHubspot();
52 |
53 | const { hbspt } = hubspotContext;
54 |
55 | useEffect(() => {
56 | const isHbsptLoaded = !!hbspt;
57 | if (!isHbsptLoaded || isFormCreated) return;
58 | try {
59 | hbspt.forms.create(formProps);
60 | setIsFormCreated(true);
61 | setError(null);
62 | } catch (e) {
63 | console.error("Failed to create hubspot form: ", e);
64 | setIsFormCreated(false);
65 | setError(e as Error);
66 | }
67 | }, [hbspt, isFormCreated, formProps]);
68 |
69 | useDebugValue(`isFormCreated: ${String(isFormCreated)}`);
70 | useDebugValue(`isError: ${String(isError)}`);
71 | useDebugValue(`error: ${error}`);
72 |
73 | const value: UseHubSpotFormResponse = useMemo(
74 | () => ({
75 | ...hubspotContext,
76 |
77 | isFormCreated: isFormCreated,
78 | isError: isError,
79 | error: error,
80 | }),
81 | [hubspotContext, isFormCreated, isError, error],
82 | );
83 |
84 | return value;
85 | };
86 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "rootDir": "src",
4 | "declaration": true,
5 | "declarationDir": "lib",
6 | "module": "node16",
7 | "target": "es2020",
8 | "sourceMap": false,
9 | "jsx": "react",
10 | "moduleResolution": "node16",
11 | "esModuleInterop": true,
12 | "emitDeclarationOnly": true
13 | },
14 | "include": ["src"],
15 | "exclude": ["node_modules", "lib"]
16 | }
17 |
--------------------------------------------------------------------------------