From b6c01603ab90cbc1e83253694851cdc2e9e3a7da Mon Sep 17 00:00:00 2001 From: Rishabh Jain Date: Tue, 16 Jun 2026 15:57:15 +0530 Subject: [PATCH] Add React Web API create-record sample Add a focused, single-purpose SPA code-site sample that creates a Dataverse record via the Power Pages Web API (HTTP POST), covering the anti-forgery token, OData headers, Web API site settings, and a Create table permission. Also surface the previously-undocumented server-logic category in the READMEs and list the new sample in the root and SPA sample tables. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- README.md | 3 + samples/server-logic/README.md | 17 + samples/spa/README.md | 1 + .../react/web-api-create-record/.gitignore | 4 + .../spa/react/web-api-create-record/README.md | 174 ++ .../react/web-api-create-record/index.html | 13 + .../web-api-create-record/package-lock.json | 1855 +++++++++++++++++ .../react/web-api-create-record/package.json | 22 + .../powerpages.config.json | 11 + .../web-api-create-record/public/feedback.svg | 3 + .../web-api-create-record/screenshot.png | Bin 0 -> 129747 bytes .../react/web-api-create-record/src/App.tsx | 29 + .../web-api-create-record/src/api/webApi.ts | 93 + .../src/components/FeedbackForm.tsx | 103 + .../react/web-api-create-record/src/index.css | 139 ++ .../react/web-api-create-record/src/main.tsx | 10 + .../web-api-create-record/src/vite-env.d.ts | 1 + .../react/web-api-create-record/tsconfig.json | 25 + .../web-api-create-record/tsconfig.node.json | 11 + .../web-api-create-record/vite.config.ts | 6 + 20 files changed, 2520 insertions(+) create mode 100644 samples/server-logic/README.md create mode 100644 samples/spa/react/web-api-create-record/.gitignore create mode 100644 samples/spa/react/web-api-create-record/README.md create mode 100644 samples/spa/react/web-api-create-record/index.html create mode 100644 samples/spa/react/web-api-create-record/package-lock.json create mode 100644 samples/spa/react/web-api-create-record/package.json create mode 100644 samples/spa/react/web-api-create-record/powerpages.config.json create mode 100644 samples/spa/react/web-api-create-record/public/feedback.svg create mode 100644 samples/spa/react/web-api-create-record/screenshot.png create mode 100644 samples/spa/react/web-api-create-record/src/App.tsx create mode 100644 samples/spa/react/web-api-create-record/src/api/webApi.ts create mode 100644 samples/spa/react/web-api-create-record/src/components/FeedbackForm.tsx create mode 100644 samples/spa/react/web-api-create-record/src/index.css create mode 100644 samples/spa/react/web-api-create-record/src/main.tsx create mode 100644 samples/spa/react/web-api-create-record/src/vite-env.d.ts create mode 100644 samples/spa/react/web-api-create-record/tsconfig.json create mode 100644 samples/spa/react/web-api-create-record/tsconfig.node.json create mode 100644 samples/spa/react/web-api-create-record/vite.config.ts diff --git a/README.md b/README.md index 594ee7b4..f24c5fcd 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,14 @@ Each sample includes its own README with setup steps, deployment notes, and a sc | Bank loan application portal screenshot | [Fluent UI Bank Loan Application](samples/spa/react/fluent-ui-sample/) | React + Fluent UI | Build a form-driven portal using Fluent UI v9 controls, state management, and a dashboard-style data grid. | | Contoso Blogs localization sample screenshot | [Localization Sample](samples/spa/react/localization-sample/) | React + i18next | Add multilingual content, language switching, and localization patterns to a Power Pages code site. | | Authentication sample burger website screenshot | [Authentication Sample](samples/spa/react/authentication-sample/) | React + Vite | Explore local sign-in, registration, password reset, invitation redemption, external sign-in, terms acceptance, and role-protected content. | +| Web API create record feedback form screenshot | [Web API: Create a Record](samples/spa/react/web-api-create-record/) | React + Vite | Learn one focused task: create a Dataverse record from a code site with the Web API (POST), including the anti-forgery token and table permission. | | Vue admin template screenshot | [Vue Admin Template](samples/spa/vue/vue-admin-template/) | Vue + Vite | Start from a Vue 3 admin-style template that can be uploaded as a Power Pages code site. | +| _(no preview)_ | [SharePoint Integration](samples/server-logic/sharepoint-integration/) | Server logic (JavaScript) | Call Microsoft Graph and SharePoint Online from server-side logic to upload files and create Dataverse records. | ## Sample categories - [SPA Samples](samples/spa/) - code-site samples that use popular frontend frameworks and can be uploaded to Power Pages with the Power Platform CLI. +- [Server Logic Samples](samples/server-logic/) - server-side logic samples that run business logic on the Power Pages server, including external service integrations. ## Resources diff --git a/samples/server-logic/README.md b/samples/server-logic/README.md new file mode 100644 index 00000000..7c1ee158 --- /dev/null +++ b/samples/server-logic/README.md @@ -0,0 +1,17 @@ +# Power Pages Server Logic Samples + +Server logic samples show how to run business logic on the Power Pages server - +for example, calling external services, integrating with Microsoft Graph, or +performing privileged operations that should not run in the browser. + +Use this index to choose the sample that best matches the scenario you want to +explore. + +## Samples + +| Sample | Scenario | Highlights | +| --- | --- | --- | +| [SharePoint Integration](sharepoint-integration/) | Upload event tickets to SharePoint and record registrations | Microsoft Graph access token (client credentials), SharePoint file upload, Dataverse record creation, optional email via `Mail.Send`. | + +For setup details, prerequisites, and configuration, see the README in each +sample folder. diff --git a/samples/spa/README.md b/samples/spa/README.md index 7c0a35d0..48129fa1 100644 --- a/samples/spa/README.md +++ b/samples/spa/README.md @@ -15,6 +15,7 @@ Use this index to choose the sample that best matches the framework or scenario | Bank loan application portal screenshot | [Fluent UI Bank Loan Application](react/fluent-ui-sample/) | React + Fluent UI | Loan application form and dashboard | Fluent UI v9 controls, form validation, tab navigation, and a data grid. | | Contoso Blogs localization sample screenshot | [Localization Sample](react/localization-sample/) | React + i18next | Multilingual blog site | Language switching, translated content, persistent locale selection, and i18next patterns. | | Authentication sample burger website screenshot | [Authentication Sample](react/authentication-sample/) | React + Vite | Authentication flows | Local sign-in, registration, password reset, invitation redemption, external sign-in, terms acceptance, and protected profile content. | +| Web API create record feedback form screenshot | [Web API: Create a Record](react/web-api-create-record/) | React + Vite | Create a Dataverse record | A single-purpose feedback form: anti-forgery token, Web API POST to `/_api/`, Web API site settings, and a Create table permission. | | Vue admin template screenshot | [Vue Admin Template](vue/vue-admin-template/) | Vue + Vite | Admin template | Vue 3 app structure, Vite build workflow, and Power Pages upload flow. | ## Common workflow diff --git a/samples/spa/react/web-api-create-record/.gitignore b/samples/spa/react/web-api-create-record/.gitignore new file mode 100644 index 00000000..a4d699a9 --- /dev/null +++ b/samples/spa/react/web-api-create-record/.gitignore @@ -0,0 +1,4 @@ +node_modules +dist +*.local +.DS_Store diff --git a/samples/spa/react/web-api-create-record/README.md b/samples/spa/react/web-api-create-record/README.md new file mode 100644 index 00000000..45e2dc06 --- /dev/null +++ b/samples/spa/react/web-api-create-record/README.md @@ -0,0 +1,174 @@ +# Power Pages - SPA - Web API: Create a Record + +This sample demonstrates **one thing**: how to create a record in a Dataverse +table from a Power Pages code site using the [Power Pages Web API](https://learn.microsoft.com/power-pages/configure/web-api-overview) +(an HTTP `POST`). + +It is a small "Share your feedback" form. When the visitor submits, the app +fetches an anti-forgery token and `POST`s a new row to a `Feedback` table. + +The entire concept lives in one file: [`src/api/webApi.ts`](src/api/webApi.ts). + +## Screenshot + +![Web API create record feedback form screenshot](screenshot.png) + +## What you will learn + +- How to fetch the **anti-forgery token** that Power Pages requires for every + unsafe (`POST`/`PATCH`/`DELETE`) Web API request. +- How to **`POST` a new record** to `/_api/` with the correct + OData headers. +- How to read the new record's GUID from the `OData-EntityId` response header. +- How to enable the Web API for a table and grant **Create** with a table + permission. + +## Prerequisites + +- Node.js 18 or later +- npm +- Microsoft Power Platform CLI 1.43.6 or later +- A Power Pages site in your environment + +## Local development + +```powershell +npm install +npm run dev +``` + +The app runs at `http://localhost:5173`. There is no Power Pages runtime when +running locally, so `createFeedback()` simulates a successful create. This lets +you explore the form without a deployed site. (See the `import.meta.env.DEV` +branch in [`src/api/webApi.ts`](src/api/webApi.ts).) + +## Build + +```powershell +npm run build +``` + +The build output is written to `dist`. + +## Set up the Dataverse table + +This sample writes to a single table. Create it (Power Pages > your site > +Dataverse, or the maker portal at ) with these +columns: + +| Display name | Schema name | Type | Notes | +| --- | --- | --- | --- | +| Name | `sample_name` | Single line of text | Primary name column | +| Rating | `sample_rating` | Whole number | Range 1-5 | +| Comments | `sample_comments` | Multiple lines of text | | + +> The app uses the entity set name `sample_feedbacks` (the plural logical name). +> If you create the table with a different prefix, update `FEEDBACK_ENTITY_SET` +> in [`src/api/webApi.ts`](src/api/webApi.ts). + +## Configure Power Pages + +The Web API is off by default. Turn it on for the `Feedback` table and allow +visitors to create rows. + +### 1. Enable the Web API for the table + +Add these two [site settings](https://learn.microsoft.com/power-pages/configure/web-api-overview#site-settings) +to your site: + +| Site setting name | Value | +| --- | --- | +| `Webapi/sample_feedback/enabled` | `true` | +| `Webapi/sample_feedback/fields` | `*` | + +### 2. Grant Create with a table permission + +Create a [table permission](https://learn.microsoft.com/power-pages/security/table-permissions) +on the `Feedback` table: + +- **Access type**: Global +- **Permission to**: **Create** (and Append/AppendTo if you later relate it to + contacts) +- **Web roles**: the role your visitors use. For an anonymous feedback form, + assign it to **Anonymous Users**; for a signed-in form, use + **Authenticated Users**. + +If Create is not granted, the Web API returns **HTTP 403** and the form shows a +message explaining how to fix it. + +## Upload the code site + +1. Authenticate with Power Platform CLI: + + ```powershell + pac auth create --environment + ``` + +1. Allow `*.js` files by removing them from **Blocked Attachments** in + **Privacy + Security** settings for your environment in the Power Pages admin + center. + +1. Build and upload: + + ```powershell + npm run build + pac pages upload-code-site --rootPath . + ``` + +1. Reactivate the **Web API Create Record** site from **Inactive sites** in + Power Pages, then preview it. + +## How it works + +```ts +// 1. Power Pages requires an anti-forgery token for POST/PATCH/DELETE. +const token = await getAntiForgeryToken() // GET /_layout/tokenhtml + +// 2. POST the record to the table's entity set. +await fetch('/_api/sample_feedbacks', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'OData-MaxVersion': '4.0', + 'OData-Version': '4.0', + __RequestVerificationToken: token, + }, + body: JSON.stringify({ + sample_name: 'Avery', + sample_rating: 5, + sample_comments: 'Loved it!', + }), +}) +``` + +## Project structure + +```text +web-api-create-record/ +├── public/ +│ └── feedback.svg +├── src/ +│ ├── api/ +│ │ └── webApi.ts # The Web API create logic (the focus of this sample) +│ ├── components/ +│ │ └── FeedbackForm.tsx # Minimal form that calls createFeedback() +│ ├── App.tsx +│ ├── main.tsx +│ ├── index.css +│ └── vite-env.d.ts +├── index.html +├── package.json +├── powerpages.config.json +├── tsconfig.json +└── vite.config.ts +``` + +## Technologies used + +- [React](https://react.dev/) +- [TypeScript](https://www.typescriptlang.org/) +- [Vite](https://vite.dev/guide/) + +## License + +MIT diff --git a/samples/spa/react/web-api-create-record/index.html b/samples/spa/react/web-api-create-record/index.html new file mode 100644 index 00000000..a9856322 --- /dev/null +++ b/samples/spa/react/web-api-create-record/index.html @@ -0,0 +1,13 @@ + + + + + + + Power Pages - Web API Create Record + + +
+ + + diff --git a/samples/spa/react/web-api-create-record/package-lock.json b/samples/spa/react/web-api-create-record/package-lock.json new file mode 100644 index 00000000..1a358b03 --- /dev/null +++ b/samples/spa/react/web-api-create-record/package-lock.json @@ -0,0 +1,1855 @@ +{ + "name": "web-api-create-record", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web-api-create-record", + "version": "0.1.0", + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", + "@vitejs/plugin-react": "^4.0.0", + "typescript": "^5.0.0", + "vite": "^6.4.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz", + "integrity": "sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz", + "integrity": "sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz", + "integrity": "sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz", + "integrity": "sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz", + "integrity": "sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz", + "integrity": "sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz", + "integrity": "sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz", + "integrity": "sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz", + "integrity": "sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz", + "integrity": "sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz", + "integrity": "sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz", + "integrity": "sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz", + "integrity": "sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz", + "integrity": "sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz", + "integrity": "sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz", + "integrity": "sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz", + "integrity": "sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz", + "integrity": "sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz", + "integrity": "sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz", + "integrity": "sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz", + "integrity": "sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz", + "integrity": "sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz", + "integrity": "sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz", + "integrity": "sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz", + "integrity": "sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.31", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.31.tgz", + "integrity": "sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.37", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.37.tgz", + "integrity": "sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.373", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.373.tgz", + "integrity": "sha512-G2Hym8JIf/QreuseqkDibgH8Ci8KfJzqGDKdakbhSx9UltwRBH2cBLAWU/lBX0sCdv0TlhyxQyDCnSfxgMWsjA==", + "dev": true, + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.0.tgz", + "integrity": "sha512-nc72Wgq62I7rtDV4izT5/aaS0zxy3kttkinf9586ApknY3jZO9NYsmtc24fUckA0X7Q2v+ML4a15pdUlV5V/jA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.62.0", + "@rollup/rollup-android-arm64": "4.62.0", + "@rollup/rollup-darwin-arm64": "4.62.0", + "@rollup/rollup-darwin-x64": "4.62.0", + "@rollup/rollup-freebsd-arm64": "4.62.0", + "@rollup/rollup-freebsd-x64": "4.62.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.0", + "@rollup/rollup-linux-arm-musleabihf": "4.62.0", + "@rollup/rollup-linux-arm64-gnu": "4.62.0", + "@rollup/rollup-linux-arm64-musl": "4.62.0", + "@rollup/rollup-linux-loong64-gnu": "4.62.0", + "@rollup/rollup-linux-loong64-musl": "4.62.0", + "@rollup/rollup-linux-ppc64-gnu": "4.62.0", + "@rollup/rollup-linux-ppc64-musl": "4.62.0", + "@rollup/rollup-linux-riscv64-gnu": "4.62.0", + "@rollup/rollup-linux-riscv64-musl": "4.62.0", + "@rollup/rollup-linux-s390x-gnu": "4.62.0", + "@rollup/rollup-linux-x64-gnu": "4.62.0", + "@rollup/rollup-linux-x64-musl": "4.62.0", + "@rollup/rollup-openbsd-x64": "4.62.0", + "@rollup/rollup-openharmony-arm64": "4.62.0", + "@rollup/rollup-win32-arm64-msvc": "4.62.0", + "@rollup/rollup-win32-ia32-msvc": "4.62.0", + "@rollup/rollup-win32-x64-gnu": "4.62.0", + "@rollup/rollup-win32-x64-msvc": "4.62.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/samples/spa/react/web-api-create-record/package.json b/samples/spa/react/web-api-create-record/package.json new file mode 100644 index 00000000..41177173 --- /dev/null +++ b/samples/spa/react/web-api-create-record/package.json @@ -0,0 +1,22 @@ +{ + "name": "web-api-create-record", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", + "@vitejs/plugin-react": "^4.0.0", + "typescript": "^5.0.0", + "vite": "^6.4.2" + } +} diff --git a/samples/spa/react/web-api-create-record/powerpages.config.json b/samples/spa/react/web-api-create-record/powerpages.config.json new file mode 100644 index 00000000..c1f5099a --- /dev/null +++ b/samples/spa/react/web-api-create-record/powerpages.config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://json.schemastore.org/powerpages.config.json", + "compiledPath": "dist", + "siteName": "Web API Create Record", + "defaultLandingPage": "index.html", + "bundleFilePatterns": [ + "index-*.js", + "index-*.css" + ], + "includeSource": true +} diff --git a/samples/spa/react/web-api-create-record/public/feedback.svg b/samples/spa/react/web-api-create-record/public/feedback.svg new file mode 100644 index 00000000..fbf4062c --- /dev/null +++ b/samples/spa/react/web-api-create-record/public/feedback.svg @@ -0,0 +1,3 @@ + + + diff --git a/samples/spa/react/web-api-create-record/screenshot.png b/samples/spa/react/web-api-create-record/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..a524f331aee8f6423bed11cb091ebad5e16a7e2c GIT binary patch literal 129747 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 +

+

Share your feedback

+

+ This sample shows one thing: how to create a Dataverse record{' '} + from a Power Pages code site using the Web API (HTTP POST). +

+
+ + + +
+

+ The submit handler calls createFeedback() in{' '} + src/api/webApi.ts, which fetches an anti-forgery token and{' '} + POSTs to /_api/sample_feedbacks. +

+

+ Running locally with npm run dev simulates a successful + create so you can explore the UI without a deployed site. +

+
+ + ) +} diff --git a/samples/spa/react/web-api-create-record/src/api/webApi.ts b/samples/spa/react/web-api-create-record/src/api/webApi.ts new file mode 100644 index 00000000..8da568bb --- /dev/null +++ b/samples/spa/react/web-api-create-record/src/api/webApi.ts @@ -0,0 +1,93 @@ +// ----------------------------------------------------------------------------- +// Power Pages Web API helper - create a Dataverse record (HTTP POST) +// ----------------------------------------------------------------------------- +// This file is the entire point of the sample. It shows the two things you need +// to create a row in a Dataverse table from a Power Pages code site: +// +// 1. Fetch an anti-forgery token (required for every POST/PATCH/DELETE). +// 2. POST the record to /_api/ with the OData headers and +// the token. +// +// Docs: https://learn.microsoft.com/power-pages/configure/web-api-overview +// ----------------------------------------------------------------------------- + +// The entity set name is the plural logical name of the table. If you create the +// Feedback table with a different prefix, update this value to match. +export const FEEDBACK_ENTITY_SET = 'sample_feedbacks' + +export interface FeedbackInput { + // Primary name column of the Feedback table. + sample_name: string + // Whole-number column (1-5). + sample_rating: number + // Multiline-text column. + sample_comments: string +} + +/** + * Power Pages requires an anti-forgery token on every unsafe (POST/PATCH/DELETE) + * Web API request. The token is served as an HTML hidden input by the + * `/_layout/tokenhtml` endpoint, so we fetch it and read the `value="..."`. + */ +async function getAntiForgeryToken(): Promise { + const response = await fetch('/_layout/tokenhtml', { method: 'GET' }) + + if (!response.ok) { + throw new Error(`Could not fetch the anti-forgery token (status ${response.status}).`) + } + + const html = await response.text() + const match = html.match(/value="([^"]+)"/) + + if (!match) { + throw new Error('Anti-forgery token was not found in the response.') + } + + return match[1] +} + +/** + * Creates a single Feedback record using the Power Pages Web API and returns the + * GUID of the new record (read from the `OData-EntityId` response header). + */ +export async function createFeedback(input: FeedbackInput): Promise { + // Local development convenience: when you run `npm run dev` there is no Power + // Pages runtime to call, so simulate a successful create. This block is + // compiled out of the production build (`import.meta.env.DEV` is false there). + if (import.meta.env.DEV) { + await new Promise((resolve) => setTimeout(resolve, 600)) + return crypto.randomUUID() + } + + const token = await getAntiForgeryToken() + + const response = await fetch(`/_api/${FEEDBACK_ENTITY_SET}`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + 'OData-MaxVersion': '4.0', + 'OData-Version': '4.0', + __RequestVerificationToken: token, + }, + body: JSON.stringify(input), + }) + + if (response.status === 403) { + throw new Error( + 'The create was blocked (HTTP 403). Add a table permission that grants ' + + 'Create on the Feedback table to the web role the visitor belongs to.', + ) + } + + if (!response.ok) { + throw new Error(`The Web API create failed with status ${response.status}.`) + } + + // Dataverse returns the new record URL in the OData-EntityId header, for + // example: https://contoso.powerappsportals.com/_api/sample_feedbacks() + const entityId = response.headers.get('OData-EntityId') ?? '' + const guidMatch = entityId.match(/\(([^)]+)\)/) + + return guidMatch ? guidMatch[1] : '' +} diff --git a/samples/spa/react/web-api-create-record/src/components/FeedbackForm.tsx b/samples/spa/react/web-api-create-record/src/components/FeedbackForm.tsx new file mode 100644 index 00000000..73b92567 --- /dev/null +++ b/samples/spa/react/web-api-create-record/src/components/FeedbackForm.tsx @@ -0,0 +1,103 @@ +import { useState } from 'react' +import type { FormEvent } from 'react' +import { createFeedback } from '../api/webApi' + +type SubmitState = + | { kind: 'idle' } + | { kind: 'submitting' } + | { kind: 'success'; id: string } + | { kind: 'error'; message: string } + +export default function FeedbackForm() { + const [name, setName] = useState('') + const [rating, setRating] = useState(5) + const [comments, setComments] = useState('') + const [state, setState] = useState({ kind: 'idle' }) + + const submitting = state.kind === 'submitting' + + const handleSubmit = async (event: FormEvent) => { + event.preventDefault() + setState({ kind: 'submitting' }) + + try { + const id = await createFeedback({ + sample_name: name.trim(), + sample_rating: rating, + sample_comments: comments.trim(), + }) + + setState({ kind: 'success', id }) + setName('') + setRating(5) + setComments('') + } catch (error) { + setState({ + kind: 'error', + message: error instanceof Error ? error.message : 'Something went wrong.', + }) + } + } + + return ( +
+
+ + setName(event.target.value)} + /> +
+ +
+ + +
+ +
+ +