diff --git a/.gitignore b/.gitignore index 287c3cc6..b84451e8 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,6 @@ pnpm-debug.log* # storybook *storybook.log storybook-static + +# rollup stats +stats.html diff --git a/.storybook/preview.ts b/.storybook/preview.tsx similarity index 73% rename from .storybook/preview.ts rename to .storybook/preview.tsx index 42043a3e..fd991548 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.tsx @@ -1,5 +1,8 @@ import { withThemeByDataAttribute } from "@storybook/addon-themes"; import type { Preview } from "@storybook/react-vite"; +// biome-ignore lint/correctness/noUnusedImports: We need to import React for Storybook previews +import React from "react"; +import { FormProvider, useForm } from "react-hook-form"; import { themes } from "storybook/theming"; import "../src/styles/base.css"; @@ -35,6 +38,15 @@ const preview: Preview = { }, defaultTheme: "white", }), + (Story) => { + const form = useForm(); + + return ( + + + + ); + }, ], }; diff --git a/README.md b/README.md index 202eaf7a..0812e58a 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,9 @@ If you need help with your legal name change or gender marker change, come join | `public` | Images, fonts, favicons, and app icons. | | `src/components` | All of the .astro components that are used and reused across the site. | | `src/constants` | Shared data for site info and colors. | -| `src/forms` | All PDFs and associated schema definitions. | | `src/layouts` | Shared layout files for wrapping pages. | | `src/pages` | Page-based routing for everything on the site. | +| `src/pdfs` | All PDF forms along with their schema definitions and tests. | | `src/sanity` | Schemas and components used for Sanity, our CMS. | | `src/styles` | Global site styles. | | `src/utils` | Helper functions and other utilities. | diff --git a/astro.config.mjs b/astro.config.ts similarity index 67% rename from astro.config.mjs rename to astro.config.ts index af6164db..2a21efc1 100644 --- a/astro.config.mjs +++ b/astro.config.ts @@ -1,13 +1,23 @@ +import path from "node:path"; import cloudflare from "@astrojs/cloudflare"; import mdx from "@astrojs/mdx"; import react from "@astrojs/react"; import sitemap from "@astrojs/sitemap"; import sanity from "@sanity/astro"; import { defineConfig, passthroughImageService } from "astro/config"; +import { visualizer } from "rollup-plugin-visualizer"; + +// https://github.com/withastro/astro/issues/12824 +const alias = import.meta.env.PROD + ? { + "react-dom/server": "react-dom/server.edge", + } + : undefined; export default defineConfig({ output: "server", adapter: cloudflare({ + cloudflareModules: false, imageService: "compile", }), image: { @@ -34,10 +44,17 @@ export default defineConfig({ format: "file", }, vite: { - ssr: { - external: ["buffer", "path", "fs", "os", "crypto", "async_hooks"].map( - (i) => `node:${i}`, - ), + plugins: [ + visualizer({ + emitFile: true, + filename: "stats.html", + }), + ], + resolve: { + alias: { + "@": path.resolve("src"), + ...alias, + }, }, }, devToolbar: { diff --git a/biome.jsonc b/biome.jsonc index 1f50fb0f..a798dd2b 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -13,6 +13,11 @@ "!worker-configuration.d.ts" ] }, + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true + }, "formatter": { "enabled": true, "indentStyle": "space" diff --git a/package.json b/package.json index b96d3ddb..f6ee95ce 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "dev": "astro dev --open", "start": "astro dev", "build": "wrangler types && astro check && astro build", + "build:only": "astro build", "preview": "wrangler types && astro preview", "astro": "astro", "lint": "biome lint", @@ -39,6 +40,7 @@ "@astrojs/sitemap": "^3.6.0", "@axe-core/playwright": "^4.11.0", "@cantoo/pdf-lib": "^2.5.3", + "@maskito/core": "^4.0.1", "@portabletext/types": "^3.0.0", "@remixicon/react": "^4.7.0", "@sanity/astro": "^3.2.10", @@ -49,15 +51,14 @@ "@sanity/ui": "^3.1.11", "@severo_bo/us-atlas-2023": "^4.0.0", "astro": "5.16.0", - "astro-embed": "^0.9.2", - "astro-font": "^1.1.0", "astro-github-file-loader": "^1.1.0", - "astro-portabletext": "^0.11.4", + "astro-portabletext": "^0.12.0", "d3": "^7.9.0", "d3-geo": "^3.1.1", "d3-selection": "^3.0.0", "dayjs": "^1.11.19", "fathom-client": "^3.7.2", + "idb": "^8.0.3", "language-name-map": "^0.3.0", "markdown-it": "^14.1.0", "postcss": "^8.5.6", @@ -66,19 +67,19 @@ "react-dom": "^19.2.0", "react-hook-form": "^7.66.1", "react-is": "^19.2.0", - "react-player": "^3.4.0", + "react-lite-youtube-embed": "^3.3.2", "rough-notation": "^0.5.1", "sanitize-html": "^2.17.0", "sanity": "^4.18.0", "styled-components": "^6.1.19", "topojson-client": "^3.1.0", - "typed-usa-states": "^2.1.0", "typescript": "^5.9.3" }, "devDependencies": { "@biomejs/biome": "^2.3.7", "@csstools/postcss-logical-viewport-units": "^3.0.4", - "@playwright/test": "^1.56.1", + "@playwright/test": "^1.57.0", + "@react-aria/test-utils": "1.0.0-beta.1", "@sanity/cli": "^4.18.0", "@storybook/addon-links": "^10.0.8", "@storybook/addon-themes": "^10.0.8", @@ -95,11 +96,11 @@ "@types/d3-selection": "^3.0.11", "@types/geojson": "^7946.0.16", "@types/node": "^24.10.1", - "@types/react": "^19.2.6", + "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@types/topojson-client": "^3.1.5", "@types/topojson-specification": "^1.0.5", - "@vitest/coverage-v8": "4.0.13", + "@vitest/coverage-v8": "4.0.14", "@vueless/storybook-dark-mode": "^10.0.3", "autoprefixer": "^10.4.22", "clsx": "^2.1.1", @@ -108,15 +109,13 @@ "postcss-clamp": "^4.1.0", "postcss-media-minmax": "^5.0.0", "postcss-utopia": "^1.1.0", + "rollup-plugin-visualizer": "^6.0.5", "sharp": "^0.34.5", "storybook": "^10.0.8", - "vitest": "4.0.13", + "vitest": "4.0.14", "wrangler": "^4.50.0" }, "packageManager": "pnpm@10.23.0", - "overrides": { - "vite": "6.4.1" - }, "homepage": "https://namesake.fyi", "bugs": { "url": "https://github.com/namesakefyi/namesake.fyi/issues" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4568c63f..d491d2e6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 12.6.11(@types/node@24.10.1)(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) '@astrojs/markdoc': specifier: ^0.15.9 - version: 0.15.9(@types/react@19.2.6)(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(react@19.2.0) + version: 0.15.9(@types/react@19.2.7)(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(react@19.2.0) '@astrojs/markdown-remark': specifier: 6.3.9 version: 6.3.9 @@ -25,7 +25,7 @@ importers: version: 4.3.12(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) '@astrojs/react': specifier: ^4.4.2 - version: 4.4.2(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) + version: 4.4.2(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) '@astrojs/rss': specifier: ^4.0.14 version: 4.0.14 @@ -34,10 +34,13 @@ importers: version: 3.6.0 '@axe-core/playwright': specifier: ^4.11.0 - version: 4.11.0(playwright-core@1.56.1) + version: 4.11.0(playwright-core@1.57.0) '@cantoo/pdf-lib': specifier: ^2.5.3 version: 2.5.3 + '@maskito/core': + specifier: ^4.0.1 + version: 4.0.1 '@portabletext/types': specifier: ^3.0.0 version: 3.0.0 @@ -46,7 +49,7 @@ importers: version: 4.7.0(react@19.2.0) '@sanity/astro': specifier: ^3.2.10 - version: 3.2.10(@emotion/is-prop-valid@1.2.2)(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(typescript@5.9.3) + version: 3.2.10(@emotion/is-prop-valid@1.2.2)(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(typescript@5.9.3) '@sanity/client': specifier: ^7.13.0 version: 7.13.0(debug@4.4.3) @@ -58,7 +61,7 @@ importers: version: 1.2.0 '@sanity/types': specifier: ^4.18.0 - version: 4.18.0(@types/react@19.2.6)(debug@4.4.3) + version: 4.18.0(@types/react@19.2.7)(debug@4.4.3) '@sanity/ui': specifier: ^3.1.11 version: 3.1.11(@emotion/is-prop-valid@1.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) @@ -68,18 +71,12 @@ importers: astro: specifier: 5.16.0 version: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - astro-embed: - specifier: ^0.9.2 - version: 0.9.2(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - astro-font: - specifier: ^1.1.0 - version: 1.1.0 astro-github-file-loader: specifier: ^1.1.0 version: 1.1.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) astro-portabletext: - specifier: ^0.11.4 - version: 0.11.4(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) + specifier: ^0.12.0 + version: 0.12.0(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) d3: specifier: ^7.9.0 version: 7.9.0 @@ -95,6 +92,9 @@ importers: fathom-client: specifier: ^3.7.2 version: 3.7.2 + idb: + specifier: ^8.0.3 + version: 8.0.3 language-name-map: specifier: ^0.3.0 version: 0.3.0 @@ -119,9 +119,9 @@ importers: react-is: specifier: ^19.2.0 version: 19.2.0 - react-player: - specifier: ^3.4.0 - version: 3.4.0(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-lite-youtube-embed: + specifier: ^3.3.2 + version: 3.3.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rough-notation: specifier: ^0.5.1 version: 0.5.1 @@ -130,16 +130,13 @@ importers: version: 2.17.0 sanity: specifier: ^4.18.0 - version: 4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) + version: 4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) styled-components: specifier: ^6.1.19 version: 6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0) topojson-client: specifier: ^3.1.0 version: 3.1.0 - typed-usa-states: - specifier: ^2.1.0 - version: 2.1.0 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -151,8 +148,11 @@ importers: specifier: ^3.0.4 version: 3.0.4(postcss@8.5.6) '@playwright/test': - specifier: ^1.56.1 - version: 1.56.1 + specifier: ^1.57.0 + version: 1.57.0 + '@react-aria/test-utils': + specifier: 1.0.0-beta.1 + version: 1.0.0-beta.1(@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@sanity/cli': specifier: ^4.18.0 version: 4.18.0(@types/node@24.10.1)(react@19.2.0)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) @@ -164,7 +164,7 @@ importers: version: 10.0.8(storybook@10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))) '@storybook/addon-vitest': specifier: ^10.0.8 - version: 10.0.8(@vitest/runner@4.0.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)))(vitest@4.0.13(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) + version: 10.0.8(@vitest/runner@4.0.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)))(vitest@4.0.14(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) '@storybook/builder-vite': specifier: ^10.0.8 version: 10.0.8(esbuild@0.27.0)(rollup@4.53.3)(storybook@10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))(webpack@5.102.1(esbuild@0.27.0)) @@ -182,7 +182,7 @@ importers: version: 6.9.1 '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@testing-library/user-event': specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.1) @@ -202,11 +202,11 @@ importers: specifier: ^24.10.1 version: 24.10.1 '@types/react': - specifier: ^19.2.6 - version: 19.2.6 + specifier: ^19.2.7 + version: 19.2.7 '@types/react-dom': specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.6) + version: 19.2.3(@types/react@19.2.7) '@types/topojson-client': specifier: ^3.1.5 version: 3.1.5 @@ -214,8 +214,8 @@ importers: specifier: ^1.0.5 version: 1.0.5 '@vitest/coverage-v8': - specifier: 4.0.13 - version: 4.0.13(vitest@4.0.13(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) + specifier: 4.0.14 + version: 4.0.14(vitest@4.0.14(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) '@vueless/storybook-dark-mode': specifier: ^10.0.3 version: 10.0.3(storybook@10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))) @@ -240,6 +240,9 @@ importers: postcss-utopia: specifier: ^1.1.0 version: 1.1.0(postcss@8.5.6) + rollup-plugin-visualizer: + specifier: ^6.0.5 + version: 6.0.5(rollup@4.53.3) sharp: specifier: ^0.34.5 version: 0.34.5 @@ -247,16 +250,16 @@ importers: specifier: ^10.0.8 version: 10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) vitest: - specifier: 4.0.13 - version: 4.0.13(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) + specifier: 4.0.14 + version: 4.0.14(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) wrangler: specifier: ^4.50.0 - version: 4.50.0(@cloudflare/workers-types@4.20251121.0) + version: 4.50.0(@cloudflare/workers-types@4.20251126.0) packages: - '@acemir/cssom@0.9.23': - resolution: {integrity: sha512-2kJ1HxBKzPLbmhZpxBiTZggjtgCwKg1ma5RHShxvd6zgqhDEdEkzpiwe7jLkI2p2BrZvFCXIihdoMkl1H39VnA==} + '@acemir/cssom@0.9.24': + resolution: {integrity: sha512-5YjgMmAiT2rjJZU7XK1SNI7iqTy92DpaYVgG6x63FxkJ11UpYfLndHJATtinWJClAXiOlW9XWaUyAQf8pMrQPg==} '@actions/core@1.11.1': resolution: {integrity: sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==} @@ -309,42 +312,6 @@ packages: '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} - '@astro-community/astro-embed-baseline-status@0.2.1': - resolution: {integrity: sha512-IGEcAzjQ3OVVEbB0yB7GDlYz3TpY1X4ZBDz2+ejRP0yW3VZuPeWyoIffuKm9iGUomnqXs6hoVR6/vK0OmLXZRA==} - peerDependencies: - astro: ^4.0.0-beta || ^5.0.0-beta - - '@astro-community/astro-embed-bluesky@0.1.5': - resolution: {integrity: sha512-/0wruqqgcbB/z8KnUGETURvNwct5cKBcPit/gJus7oOQctT8+wUjWcIlCn3uyqaZUq6ghpbRsj2eSD75rJZzSQ==} - peerDependencies: - astro: ^4.0.0 || ^5.0.0-beta.0 - - '@astro-community/astro-embed-integration@0.8.3': - resolution: {integrity: sha512-lJfPOiol8lTay5kJHT3C4CmM6shF6mF2YZR2tSpM4F+D1tj26PZ937r0iHhUcOLPeQPmczZbs9Tx1WwDY4SjOQ==} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta - - '@astro-community/astro-embed-link-preview@0.2.3': - resolution: {integrity: sha512-TLnZOihoQhXOCybvbzE/ImqFkGgG5zSJeWIj+PytM41Q/uhU6w19LD571qmWADf0Grv/u7LtorR1PB6ijQnazQ==} - - '@astro-community/astro-embed-twitter@0.5.9': - resolution: {integrity: sha512-bTIP/2LB3iEzlZ58L7dFyLJuWLeFDXgzZUQZKlWIfsXiKYqKIfLTQ01U10sh9UiHpm1M+4kOVPpue5LbUpJXHw==} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta - - '@astro-community/astro-embed-utils@0.1.5': - resolution: {integrity: sha512-0RlP7J1YEWrguWDfEDsm4uDCXk4FKn0HHakmSOSwHLg6YR8WNEN/LGMGhhsxLc/mDqO2lRh1VqfJy+yPLLkzsQ==} - - '@astro-community/astro-embed-vimeo@0.3.11': - resolution: {integrity: sha512-uvTLmG5z9WGoyKac86Fxh6YnmBwlEQOalbi1/BatUy9zfQ/5x8rFs+U5xiM1nW38dGmDw/Hj7Nq3ljnZxy6PMA==} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta - - '@astro-community/astro-embed-youtube@0.5.9': - resolution: {integrity: sha512-8Uk2SKbyZVb+jxwqSAMoEpQo+063XYwCI3yRy9cbkyHpu09mDabGZNTF5XrL8CKr3NtR5haBkeYK/kSuKUkJ/g==} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta - '@astrojs/check@0.9.5': resolution: {integrity: sha512-88vc8n2eJ1Oua74yXSGo/8ABMeypfQPGEzuoAx2awL9Ju8cE6tZ2Rz9jVx5hIExHK5gKVhpxfZj4WXm7e32g1w==} hasBin: true @@ -418,24 +385,6 @@ packages: '@astrojs/yaml2ts@0.2.2': resolution: {integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==} - '@atproto/api@0.13.35': - resolution: {integrity: sha512-vsEfBj0C333TLjDppvTdTE0IdKlXuljKSveAeI4PPx/l6eUKNnDTsYxvILtXUVzwUlTDmSRqy5O4Ryh78n1b7g==} - - '@atproto/common-web@0.4.3': - resolution: {integrity: sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg==} - - '@atproto/lexicon@0.4.14': - resolution: {integrity: sha512-jiKpmH1QER3Gvc7JVY5brwrfo+etFoe57tKPQX/SmPwjvUsFnJAow5xLIryuBaJgFAhnTZViXKs41t//pahGHQ==} - - '@atproto/syntax@0.3.4': - resolution: {integrity: sha512-8CNmi5DipOLaVeSMPggMe7FCksVag0aO6XZy9WflbduTKM4dFZVCs4686UeMLfGRXX+X966XgwECHoLYrovMMg==} - - '@atproto/syntax@0.4.1': - resolution: {integrity: sha512-CJdImtLAiFO+0z3BWTtxwk6aY5w4t8orHTMVJgkf++QRJWTxPbIFko/0hrkADB7n2EruDxDSeAgfUGehpH6ngw==} - - '@atproto/xrpc@0.6.12': - resolution: {integrity: sha512-Ut3iISNLujlmY9Gu8sNU+SPDJDvqlVzWddU8qUr0Yae5oD4SguaUFjjhireMGhQ3M5E0KljQgDbTmnBo1kIZ3w==} - '@aws-lite/client@0.21.10': resolution: {integrity: sha512-fOn3lg1ynBAxqcELRf084bNJ6gu+GGoNyC+hwitW/hg3Vc1z1ZbK5HWWTrDw8HdM/fEQ0UN++g7GXVN1GVctdQ==} engines: {node: '>=16'} @@ -1166,8 +1115,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20251121.0': - resolution: {integrity: sha512-jzFg7hEGKzpEalxTCanN6lM8IdkvO/brsERp/+OyMms4Zi0nhDPUAg9dUcKU8wDuDUnzbjkplY6YRwle7Cq6gA==} + '@cloudflare/workers-types@4.20251126.0': + resolution: {integrity: sha512-DSeI1Q7JYmh5/D/tw5eZCjrKY34v69rwj63hHt60nSQW5QLwWCbj/lLtNz9f2EPa+JCACwpLXHgCXfzJ29x66w==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -2235,14 +2184,17 @@ packages: react: optional: true + '@maskito/core@4.0.1': + resolution: {integrity: sha512-0ewYXnr8X7as/n57duk1DDqjAKF0m32XbFiAhKdd9OX83eMBzO2+4xgUFxh6WZJ18oSw6y2nWjCTDFAFc5JbhA==} + '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} '@mux/mux-data-google-ima@0.2.8': resolution: {integrity: sha512-0ZEkHdcZ6bS8QtcjFcoJeZxJTpX7qRIledf4q1trMWPznugvtajCjCM2kieK/pzkZj1JM6liDRFs1PJSfVUs2A==} - '@mux/mux-player-react@3.9.0': - resolution: {integrity: sha512-AYBX89T02qOJ6rF4X2sB8WmPoHBQIrASvp6rxCf9wWYdp5lYtAjjTwaAM2aTlVEXSzdDPaOwgC7VmR7LhBJn3g==} + '@mux/mux-player-react@3.9.1': + resolution: {integrity: sha512-4cumt+5ObUKIZioSajLLxIghCzOn4LBcFz2mNj1OGAZGckEk8jbFB/W4o2HRlOS+4cTCEKPnOQ1l7AgjGuzZ2A==} peerDependencies: '@types/react': ^17.0.0 || ^17.0.0-0 || ^18 || ^18.0.0-0 || ^19 || ^19.0.0-0 '@types/react-dom': '*' @@ -2254,14 +2206,14 @@ packages: '@types/react-dom': optional: true - '@mux/mux-player@3.9.0': - resolution: {integrity: sha512-OjRXdJFPstCoTipqJCXyC3e3PVoLp8jOheCaWxe2a8qvHkSs/sg+UoYegr++hAoLXXIyy2M7F6vi+tWq0W5bYA==} + '@mux/mux-player@3.9.1': + resolution: {integrity: sha512-buvulWJD9qevaCp02oTMezn6QKmV7OwU1WDt7In8IgOJ8GKn1ZWLvfSbWEd1s3Ea1tC33NastKVG8sYlJ7HNkA==} - '@mux/mux-video@0.28.0': - resolution: {integrity: sha512-pqpoaoxHXsGX/l7jOZGZ7jOVBVdct8jq+Be1cQ9+n5N/XrkXIGNvO/liprQET3wRuWs2Xri5lWZFRe3ZkOkYHw==} + '@mux/mux-video@0.28.1': + resolution: {integrity: sha512-lmxPmAPtUITZ+EButcZBoVs2FZbt7UgxYV/sCVOo0kGnOCrnmqjw1G3CW9tEcFST+NzdW/nIdzpRu9kg9FxBeg==} - '@mux/playback-core@0.31.3': - resolution: {integrity: sha512-IiNnF6LeE8xB5lXzwCUmHUi40q/88ook/YYKTwDsIMG/0zY8b9Ypyzw9ghsELZH0mzuFmv+rvm3ufOIoaIi9eA==} + '@mux/playback-core@0.31.4': + resolution: {integrity: sha512-qQrNAAdJ7vjr1XEObE1hOUmuYngk/fjwmtYhpzkX4jJZwUC8I0rHjeFv7LXuCQD1D/mYJlWEpuyA0gPd6Y2eQw==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -2426,8 +2378,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@playwright/test@1.56.1': - resolution: {integrity: sha512-vSMYtL/zOcFpvJCW71Q/OEGQb7KYBPAdKh35WNSkaZA75JlAO8ED8UN6GUNTm3drWomcbcqRPFqQbLae8yBTdg==} + '@playwright/test@1.57.0': + resolution: {integrity: sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==} engines: {node: '>=18'} hasBin: true @@ -2440,19 +2392,19 @@ packages: '@poppinss/exception@1.2.2': resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} - '@portabletext/block-tools@4.1.1': - resolution: {integrity: sha512-hoP9NZu/Ffh4CfHghwSTfeYUhBXgkFnLGcJO88XI5+DK09Ey+XtvPTnT0KFNUwLO6FHx6O9Yd/mhUfVXozqN1A==} + '@portabletext/block-tools@4.1.2': + resolution: {integrity: sha512-DYr/q9nzptQoQNSGFHPmxI4IueIR+mzuLYPuT90PZYRrgdj/5vNI4pV+thGDCDzzI9zEkgJYYPKW6hdmVF8w0g==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: - '@sanity/types': ^4.17.0 + '@sanity/types': ^4.18.0 - '@portabletext/editor@3.0.6': - resolution: {integrity: sha512-YFq8//OPjs999ixL3iiSJjFbGSpDOiYjOXeH59pcinfOgzGXDLcSJNKWPCj8phmODkDDM3aPtYLmmsLyyGlCqw==} + '@portabletext/editor@3.0.7': + resolution: {integrity: sha512-TjxqQhKAKaZdGF7z4YYPltqqMJLKMZYugQkSvbIsldFQyyUz25cr6/Y5v7ZitPUrL2r5atFKVZqNrElrnE0Heg==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: - '@portabletext/sanity-bridge': ^1.2.4 - '@sanity/schema': ^4.17.0 - '@sanity/types': ^4.17.0 + '@portabletext/sanity-bridge': ^1.2.5 + '@sanity/schema': ^4.18.0 + '@sanity/types': ^4.18.0 react: ^18.3 || ^19 rxjs: ^7.8.2 @@ -2464,39 +2416,39 @@ packages: resolution: {integrity: sha512-EmoUhyeOYahQrG3kafplwr/apAlNby79sKFbfLhnGZsrAXcNwyUqIHbBzBVRA1WmnpDep18VfAqs9A4mbHTQIg==} engines: {node: '>=20.19 <22 || >=22.12'} - '@portabletext/plugin-character-pair-decorator@4.0.6': - resolution: {integrity: sha512-UcA2EkVp/8s9Epufmvc28SdGQjA082RWTtz3268T6z4DGbos8ExKPTEDUOaE3bUvCpF3bXXPPfTbzOjxCo0L4w==} + '@portabletext/plugin-character-pair-decorator@4.0.7': + resolution: {integrity: sha512-U43wxtQlRiIwZwXTDNjeGzC/lBqfUaOyFzkvS/SdtEgJfSLMDXvcXGJNSgBUpqPB6GOBju10L5r4UkXP0MqP2g==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: - '@portabletext/editor': ^3.0.6 + '@portabletext/editor': ^3.0.7 react: ^18.3 || ^19 - '@portabletext/plugin-input-rule@1.0.6': - resolution: {integrity: sha512-a+h3tr8OPkH8Fw1Ajt1QTZ3+0BS919YY+U94/FNHWBVM6qe7fpY2D2nzdEYpJu5MF+q3HAcOJ0Uv0qUP2/pWfg==} + '@portabletext/plugin-input-rule@1.0.7': + resolution: {integrity: sha512-U3sUpTeCUv+5eVGWntJc+CZA0gGZ5gIvg80PZi1AF8696FIQN5NnOMy/n/BPqPYFxcjmb7qy2JBHYUhoVI68xg==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: - '@portabletext/editor': ^3.0.6 + '@portabletext/editor': ^3.0.7 react: ^18.3 || ^19 - '@portabletext/plugin-markdown-shortcuts@4.0.6': - resolution: {integrity: sha512-WAWtPitWOS1+mySqLrash29F2NHvvUsvQIDpsXDXF2ynkplrvTIQAIPvHBQSz58Ipes+2+YXlkhyB/1Y90L9uw==} + '@portabletext/plugin-markdown-shortcuts@4.0.7': + resolution: {integrity: sha512-fFupKQsqbBHghvykDIqB10+gp5Mdg0Jjqp+aYM+FaHcg/n8WaIHpPBdMTZNSZYvWE42Dj80TqmGtrlFj1hHpYQ==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: - '@portabletext/editor': ^3.0.6 + '@portabletext/editor': ^3.0.7 react: ^18.3 || ^19 - '@portabletext/plugin-one-line@3.0.6': - resolution: {integrity: sha512-Z+fRIFJTnyxaPUxcgCGdz/9LN5AKodgNIx8cdFs3ao+GCl/fzCXBUugBCO1S02jmJsjLC42FOJQqMe+95MpnbQ==} + '@portabletext/plugin-one-line@3.0.7': + resolution: {integrity: sha512-5L3RYudOEV5QTNJ56GpK8x1IlmaMNglY31qKxUIsolHvssCGsVjKlsBQECn976jPhhxj3FMQgHtGQl9oudDXvg==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: - '@portabletext/editor': ^3.0.6 + '@portabletext/editor': ^3.0.7 react: ^18.3 || ^19 - '@portabletext/plugin-typography@4.0.6': - resolution: {integrity: sha512-lOtfZgNHVz2ROB+KfPnvd3YehsG1W9As34q0pc4UC1QNNcI0Hr8ROsi2ODTp8fPnVyayeKbQ7HLCy/5VZUNzBw==} + '@portabletext/plugin-typography@4.0.7': + resolution: {integrity: sha512-qx4XlcxoE0YTbjc40JhksmxCCq2kqbyVMARA7jV5dm/5L6mZCvRTGBmTSL5vETxq9ARGbB8iOVMYvGHp1Gv4VQ==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: - '@portabletext/editor': ^3.0.6 + '@portabletext/editor': ^3.0.7 react: ^18.3 || ^19 '@portabletext/react@5.0.0': @@ -2505,12 +2457,12 @@ packages: peerDependencies: react: ^18.2 || ^19 - '@portabletext/sanity-bridge@1.2.4': - resolution: {integrity: sha512-ph94+vTx3+sHhnnJutf72Gy7PFFeCR512VpD0T0g4x/gPNVpeIUGidtM/8PTUsoXGNqfp99AaRtrJ7tRmOU+gg==} + '@portabletext/sanity-bridge@1.2.5': + resolution: {integrity: sha512-KWuvfNxw8NzKVYE7af7HSyO8d8BNGiMqV1gM4WUfATEYS9mX6hNoPojlPJNdoXk/dKUfiK7gM9Hewef/ZosaTw==} engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: - '@sanity/schema': ^4.17.0 - '@sanity/types': ^4.17.0 + '@sanity/schema': ^4.18.0 + '@sanity/types': ^4.18.0 '@portabletext/schema@2.0.0': resolution: {integrity: sha512-RtsjsfuU/v3CeCZsIHIu6l9tyEGN8DG3xpLrWUJXVjeSVO5t4yHpCwmaB1fLruP8vQUCCRdiOtcipIFOumf9Iw==} @@ -2520,18 +2472,10 @@ packages: resolution: {integrity: sha512-DBMpj3lLnQjyljyJ+rC0E2GMGaFIniLGqojTMyBCDBNRu1nxuFCmLVEw3l4mBgyFN1TGVM0mcHxII+jdPuVgaQ==} engines: {node: '>=20.19 <22 || >=22.12'} - '@portabletext/toolkit@3.0.3': - resolution: {integrity: sha512-EI59/l4E0E5wCyWUzvW1FPKWfqDsbebCnCf9ZDHjXGH95X4EORlCtnPuA79PpKaHv0LTChORy55trRzW6tYnOQ==} - engines: {node: ^14.13.1 || >=16.0.0} - '@portabletext/toolkit@4.0.0': resolution: {integrity: sha512-Jj/QIy3vzZCNcxiUGM7KjGhUhyVjch+9pOzotWRARPNe07R6nbF/cRsKL70q5Xizf+6PVtFYwks4CSXKInC+wg==} engines: {node: '>=20.19 <22 || >=22.12'} - '@portabletext/types@2.0.15': - resolution: {integrity: sha512-2e6i2gSQsrA/5OL5Gm4/9bxB9MNO73Fa47zj+0mT93xkoQUCGCWX5fZh1YBJ86hszaRYlqvqG08oULxvvPPp/Q==} - engines: {node: ^14.13.1 || >=16.0.0 || >=18.0.0} - '@portabletext/types@3.0.0': resolution: {integrity: sha512-7U8+bFcnguNtXr4rwMDj0EvJJDRzLaaof2mQqCjUcqxuuJpAppFaATZgrKmPI1uBgtFMi4unk1nIaOOmLHrX8Q==} engines: {node: '>=20.19 <22 || >=22.12'} @@ -2773,6 +2717,14 @@ packages: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@react-aria/test-utils@1.0.0-beta.1': + resolution: {integrity: sha512-A4aBIj16m8ixW02o98lRYlebm3ai2/31UIJQvHFKex6UBbjAi8PpI3Vp/heyTU13J8hl0nrr6Bptc35jxyErWA==} + peerDependencies: + '@testing-library/react': ^16.0.0 + '@testing-library/user-event': ^14.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@react-aria/textfield@3.18.2': resolution: {integrity: sha512-G+lM8VYSor6g9Yptc6hLZ6BF+0cq0pYol1z6wdQUQgJN8tg4HPtzq75lsZtlCSIznL3amgRAxJtd0dUrsAnvaQ==} peerDependencies: @@ -3311,12 +3263,12 @@ packages: resolution: {integrity: sha512-UyBJG4oWNs+VGVo5Yr5aKir5bgMzF/dnaNYjqxP2+5+iXnvhVOcI6dAtEXDj7kMmn5/ysHNKbLDlW6aVeBm7xg==} engines: {node: '>=18'} - '@sanity/comlink@4.0.0': - resolution: {integrity: sha512-vTidwlsO/I/sYcepdPRrSBA8TX4JGrO3wa703pxpSfXMUAClNYXi/3vtq9uhE2KUu8gbgUo1IO59mWBiQ39Ofg==} + '@sanity/comlink@4.0.1': + resolution: {integrity: sha512-vdGOd6sxNjqTo2H3Q3L2/Gepy+cDBiQ1mr9ck7c/A9o4NnmBLoDliifsNHIwgNwBUz37oH4+EIz/lIjNy8hSew==} engines: {node: '>=20.19 <22 || >=22.12'} - '@sanity/descriptors@1.1.1': - resolution: {integrity: sha512-pTqpyLhH3z4NDhjKHyfL+quVN0ixA8NikcdqxRmL2iqPZuJavi81eKm631PaUqJGbY1kh1+vHnO1/GgWIcjgxw==} + '@sanity/descriptors@1.2.0': + resolution: {integrity: sha512-C8QuLHwzgqCZInJDyz+V+9QnnVUI7LcNEdR+HRkll9JE6dkkjW6jG6W1md7bv7TXCYvEl0fOHDgXTB7k0ibjew==} engines: {node: '>=18.0.0'} '@sanity/diff-match-patch@3.2.0': @@ -3434,8 +3386,8 @@ packages: resolution: {integrity: sha512-8egBjVuXT3O0dChWf7C/zzvNCG5FgA8cK9hHPDArAcrtY1MbNkCqCrC04Nm7egJ/s4vZBcZx4F/dt0GPXfhYNg==} engines: {node: '>=18'} - '@sanity/presentation-comlink@2.0.0': - resolution: {integrity: sha512-NN079HWOT+RGn2xMwohUF+xz6Oq1V82Eb5r3TfmIHZjtO9xOi6T2WoISdcMkDkd96Lg5puvv/SCczb75SAawZA==} + '@sanity/presentation-comlink@2.0.1': + resolution: {integrity: sha512-D0S2CfVyda99cd/8SnXxQ2tsVlVuRq4CAOjxRuF53evYmBhpWezSEpWKqAa0e1lunGBKK1EroxmOzb5ofNRwMg==} engines: {node: '>=20.19 <22 || >=22.12'} '@sanity/preview-url-secret@2.1.16': @@ -3709,10 +3661,6 @@ packages: typescript: optional: true - '@svta/common-media-library@0.17.4': - resolution: {integrity: sha512-nP/KThzQW5FZKdc9V7ICTa9/A7xGw66VQoLPYOEwwMZTTrISp1zIQAX4KAYJw2PN/VPnxJQJXIYbzZTXgMHctw==} - engines: {node: '>=20'} - '@swc/helpers@0.5.17': resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} @@ -3948,9 +3896,6 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@18.19.130': - resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} - '@types/node@24.10.1': resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} @@ -3968,8 +3913,8 @@ packages: '@types/react-is@19.2.0': resolution: {integrity: sha512-NP2xtcjZfORsOa4g2JwdseyEnF+wUCx25fTdG/J/HIY6yKga6+NozRBg2xR2gyh7kKYyd6DXndbq0YbQuTJ7Ew==} - '@types/react@19.2.6': - resolution: {integrity: sha512-p/jUvulfgU7oKtj6Xpk8cA2Y1xKTtICGpJYeJXz2YVO2UcvjQgeRMLDGfDeqeRW2Ta+0QNFwcc8X3GH8SxZz6w==} + '@types/react@19.2.7': + resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} @@ -4022,20 +3967,17 @@ packages: '@vercel/stega@0.1.2': resolution: {integrity: sha512-P7mafQXjkrsoyTRppnt0N21udKS9wUmLXHRyP9saLXLHw32j/FgUJ3FscSWgvSqRs4cj7wKZtwqJEvWJ2jbGmA==} - '@vimeo/player@2.29.0': - resolution: {integrity: sha512-9JjvjeqUndb9otCCFd0/+2ESsLk7VkDE6sxOBy9iy2ukezuQbplVRi+g9g59yAurKofbmTi/KcKxBGO/22zWRw==} - '@vitejs/plugin-react@4.7.0': resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - '@vitest/coverage-v8@4.0.13': - resolution: {integrity: sha512-w77N6bmtJ3CFnL/YHiYotwW/JI3oDlR3K38WEIqegRfdMSScaYxwYKB/0jSNpOTZzUjQkG8HHEz4sdWQMWpQ5g==} + '@vitest/coverage-v8@4.0.14': + resolution: {integrity: sha512-EYHLqN/BY6b47qHH7gtMxAg++saoGmsjWmAq9MlXxAz4M0NcHh9iOyKhBZyU4yxZqOd8Xnqp80/5saeitz4Cng==} peerDependencies: - '@vitest/browser': 4.0.13 - vitest: 4.0.13 + '@vitest/browser': 4.0.14 + vitest: 4.0.14 peerDependenciesMeta: '@vitest/browser': optional: true @@ -4043,8 +3985,8 @@ packages: '@vitest/expect@3.2.4': resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/expect@4.0.13': - resolution: {integrity: sha512-zYtcnNIBm6yS7Gpr7nFTmq8ncowlMdOJkWLqYvhr/zweY6tFbDkDi8BPPOeHxEtK1rSI69H7Fd4+1sqvEGli6w==} + '@vitest/expect@4.0.14': + resolution: {integrity: sha512-RHk63V3zvRiYOWAV0rGEBRO820ce17hz7cI2kDmEdfQsBjT2luEKB5tCOc91u1oSQoUOZkSv3ZyzkdkSLD7lKw==} '@vitest/mocker@3.2.4': resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} @@ -4057,8 +3999,8 @@ packages: vite: optional: true - '@vitest/mocker@4.0.13': - resolution: {integrity: sha512-eNCwzrI5djoauklwP1fuslHBjrbR8rqIVbvNlAnkq1OTa6XT+lX68mrtPirNM9TnR69XUPt4puBCx2Wexseylg==} + '@vitest/mocker@4.0.14': + resolution: {integrity: sha512-RzS5NujlCzeRPF1MK7MXLiEFpkIXeMdQ+rN3Kk3tDI9j0mtbr7Nmuq67tpkOJQpgyClbOltCXMjLZicJHsH5Cg==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0-0 @@ -4071,46 +4013,46 @@ packages: '@vitest/pretty-format@3.2.4': resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/pretty-format@4.0.13': - resolution: {integrity: sha512-ooqfze8URWbI2ozOeLDMh8YZxWDpGXoeY3VOgcDnsUxN0jPyPWSUvjPQWqDGCBks+opWlN1E4oP1UYl3C/2EQA==} + '@vitest/pretty-format@4.0.14': + resolution: {integrity: sha512-SOYPgujB6TITcJxgd3wmsLl+wZv+fy3av2PpiPpsWPZ6J1ySUYfScfpIt2Yv56ShJXR2MOA6q2KjKHN4EpdyRQ==} - '@vitest/runner@4.0.13': - resolution: {integrity: sha512-9IKlAru58wcVaWy7hz6qWPb2QzJTKt+IOVKjAx5vb5rzEFPTL6H4/R9BMvjZ2ppkxKgTrFONEJFtzvnyEpiT+A==} + '@vitest/runner@4.0.14': + resolution: {integrity: sha512-BsAIk3FAqxICqREbX8SetIteT8PiaUL/tgJjmhxJhCsigmzzH8xeadtp7LRnTpCVzvf0ib9BgAfKJHuhNllKLw==} - '@vitest/snapshot@4.0.13': - resolution: {integrity: sha512-hb7Usvyika1huG6G6l191qu1urNPsq1iFc2hmdzQY3F5/rTgqQnwwplyf8zoYHkpt7H6rw5UfIw6i/3qf9oSxQ==} + '@vitest/snapshot@4.0.14': + resolution: {integrity: sha512-aQVBfT1PMzDSA16Y3Fp45a0q8nKexx6N5Amw3MX55BeTeZpoC08fGqEZqVmPcqN0ueZsuUQ9rriPMhZ3Mu19Ag==} '@vitest/spy@3.2.4': resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/spy@4.0.13': - resolution: {integrity: sha512-hSu+m4se0lDV5yVIcNWqjuncrmBgwaXa2utFLIrBkQCQkt+pSwyZTPFQAZiiF/63j8jYa8uAeUZ3RSfcdWaYWw==} + '@vitest/spy@4.0.14': + resolution: {integrity: sha512-JmAZT1UtZooO0tpY3GRyiC/8W7dCs05UOq9rfsUUgEZEdq+DuHLmWhPsrTt0TiW7WYeL/hXpaE07AZ2RCk44hg==} '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} - '@vitest/utils@4.0.13': - resolution: {integrity: sha512-ydozWyQ4LZuu8rLp47xFUWis5VOKMdHjXCWhs1LuJsTNKww+pTHQNK4e0assIB9K80TxFyskENL6vCu3j34EYA==} + '@vitest/utils@4.0.14': + resolution: {integrity: sha512-hLqXZKAWNg8pI+SQXyXxWCTOpA3MvsqcbVeNgSi8x/CSN2wi26dSzn1wrOhmCmFjEvN9p8/kLFRHa6PI8jHazw==} - '@volar/kit@2.4.23': - resolution: {integrity: sha512-YuUIzo9zwC2IkN7FStIcVl1YS9w5vkSFEZfPvnu0IbIMaR9WHhc9ZxvlT+91vrcSoRY469H2jwbrGqpG7m1KaQ==} + '@volar/kit@2.4.26': + resolution: {integrity: sha512-shgNg7PbV8SIxxQLOQh5zMr8KV0JvdG9If0MwJb5L1HMrBU91jBxR0ANi2OJPMMme6/l1vIYm4hCaO6W2JaEcQ==} peerDependencies: typescript: '*' - '@volar/language-core@2.4.23': - resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==} + '@volar/language-core@2.4.26': + resolution: {integrity: sha512-hH0SMitMxnB43OZpyF1IFPS9bgb2I3bpCh76m2WEK7BE0A0EzpYsRp0CCH2xNKshr7kacU5TQBLYn4zj7CG60A==} - '@volar/language-server@2.4.23': - resolution: {integrity: sha512-k0iO+tybMGMMyrNdWOxgFkP0XJTdbH0w+WZlM54RzJU3WZSjHEupwL30klpM7ep4FO6qyQa03h+VcGHD4Q8gEg==} + '@volar/language-server@2.4.26': + resolution: {integrity: sha512-Xsyu+VDgM8TyVkQfBz2aIViSEOgH2un0gIJlp0M8rssDDLCqr4ssQzwHOyPf7sT7UIjrlAMnJvRkC/u0mmgtYw==} - '@volar/language-service@2.4.23': - resolution: {integrity: sha512-h5mU9DZ/6u3LCB9xomJtorNG6awBNnk9VuCioGsp6UtFiM8amvS5FcsaC3dabdL9zO0z+Gq9vIEMb/5u9K6jGQ==} + '@volar/language-service@2.4.26': + resolution: {integrity: sha512-ZBPRR1ytXttSV5X4VPvEQR/glxs+7/4IOJIBCOW3/EJk4z77R4mF2y4wM3fNgOXXZT5h16j3sC5w+LGNkz2VlA==} - '@volar/source-map@2.4.23': - resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==} + '@volar/source-map@2.4.26': + resolution: {integrity: sha512-JJw0Tt/kSFsIRmgTQF4JSt81AUSI1aEye5Zl65EeZ8H35JHnTvFGmpDOBn5iOxd48fyGE+ZvZBp5FcgAy/1Qhw==} - '@volar/typescript@2.4.23': - resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==} + '@volar/typescript@2.4.26': + resolution: {integrity: sha512-N87ecLD48Sp6zV9zID/5yuS1+5foj0DfuYGdQ6KHj/IbKvyKv1zNX6VCmnKYwtmHadEO6mFc2EKISiu3RDPAvA==} '@vscode/emmet-helper@2.11.0': resolution: {integrity: sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==} @@ -4348,25 +4290,12 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true - astro-auto-import@0.4.5: - resolution: {integrity: sha512-KU1qFJ97Qks2aT+qSxjrOY6tcwzzLVhY/8w1eM8vwqpP+MDpHKAlbr8Otg9T8g/Mfl/FOdG3nO9lydv1zbtyQA==} - engines: {node: '>=16.0.0'} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta - - astro-embed@0.9.2: - resolution: {integrity: sha512-MUeNrfnNgcrV9E8WqEW9IYK8+Y3etDLyyi8Uf35rM5WJ53wkh511ye9oi15taJuqOaYRk2hQ9P5G2+/JS1Mjxg==} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta - - astro-font@1.1.0: - resolution: {integrity: sha512-hj1A0MkaJTeaArBpf1m9s4Nxu1Bn9h0QiEPeR9Dfjle25pT4CH4higzuadWzCRSvhGO2SzbM11YwZEF+cmLDxg==} - astro-github-file-loader@1.1.0: resolution: {integrity: sha512-zRrmC+lEJPkqzbPQTS/g8l55TwXYDbKuJozKj4aAnCrF3KEP6VHkhVGfnzSABOX3XiGj/FpwBfIQdE//AgP9oQ==} - astro-portabletext@0.11.4: - resolution: {integrity: sha512-2dOPJAZs6IiVotFaQB5Em0fYUNhX7cf2FfWf0dXfQ67wLmLXsUiQnRzb1BORrc9LS8YVQhXjhNXARB4kZwO+2w==} + astro-portabletext@0.12.0: + resolution: {integrity: sha512-pm1yyNwHHWVFsFj6pDSeAlPBA48Mk99SnB38K1Zu7xdMB2+SDA3XdT+N2qGwD0tJuf7ZI1gpsr/RBZEL1eZshQ==} + engines: {node: '>=20.19 <22 || >=22.12'} peerDependencies: astro: '>=4.6.0' @@ -4391,9 +4320,6 @@ packages: peerDependencies: postcss: ^8.1.0 - await-lock@2.2.2: - resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==} - aws4@1.13.2: resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} @@ -4448,19 +4374,10 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.8.30: - resolution: {integrity: sha512-aTUKW4ptQhS64+v2d6IkPzymEzzhw+G0bA1g3uBRV3+ntkH+svttKseW5IOR4Ed6NUVKqnY7qT3dKvzQ7io4AA==} + baseline-browser-mapping@2.8.31: + resolution: {integrity: sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==} hasBin: true - bcp-47-match@2.0.3: - resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} - - bcp-47-normalize@2.3.0: - resolution: {integrity: sha512-8I/wfzqQvttUFz7HVJgIZ7+dj3vUaIyIxYXaTRP1YWoSDfzt6TUmxaKZeuXR62qBmYr+nvuWINFRl6pZ5DlN4Q==} - - bcp-47@2.1.0: - resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} - before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} @@ -4541,8 +4458,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001756: - resolution: {integrity: sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A==} + caniuse-lite@1.0.30001757: + resolution: {integrity: sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==} cardinal@2.1.1: resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} @@ -4680,16 +4597,10 @@ packages: resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} engines: {node: '>=0.8'} - cloudflare-video-element@1.3.4: - resolution: {integrity: sha512-F9g+tXzGEXI6v6L48qXxr8vnR8+L6yy7IhpJxK++lpzuVekMHTixxH7/dzLuq6OacVGziU4RB5pzZYJ7/LYtJg==} - clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - codem-isoboxer@0.3.10: - resolution: {integrity: sha512-eNk3TRV+xQMJ1PEj0FQGY8KD4m0GPxT487XJ+Iftm7mVa9WpPFDMWqPt+46buiP5j5Wzqe5oMIhqBcAeKfygSA==} - collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} @@ -4770,8 +4681,8 @@ packages: cookie-es@1.2.2: resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} - cookie@1.0.2: - resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + cookie@1.1.0: + resolution: {integrity: sha512-vXiThu1/rlos7EGu8TuNZQEg2e9TvhH9dmS4T4ZVzB7Ao1agEZ6EG3sn5n+hZRYUgduISd1HpngFzAZiDGm5vQ==} engines: {node: '>=18'} core-js-compat@3.47.0: @@ -4816,9 +4727,6 @@ packages: css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - css-selector-parser@1.4.1: - resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} - css-to-react-native@3.2.0: resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} @@ -4864,9 +4772,6 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - cssom@0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - cssstyle@4.6.0: resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} engines: {node: '>=18'} @@ -5014,12 +4919,6 @@ packages: resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} engines: {node: '>=12'} - dash-video-element@0.3.0: - resolution: {integrity: sha512-Pe+BxG153n+CH++3gmWMApVXEUs767YGxsRebdNZRSZdXjbv7OGbsitYbjNMC4QAjCWBvBjIclAYV4hoc7OWSQ==} - - dashjs@5.1.0: - resolution: {integrity: sha512-FilZfs+0pj9NB7q2VMT4zahG+V2JoleVl6K9kWunvndICdclw/jLAfLImcmCr1WqxH4hsgsFXvaVgea9XGkgVQ==} - data-uri-to-buffer@1.2.0: resolution: {integrity: sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==} @@ -5212,8 +5111,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.259: - resolution: {integrity: sha512-I+oLXgpEJzD6Cwuwt1gYjxsDmu/S/Kd41mmLA3O+/uH2pFRO/DvOjUyGozL8j3KeLV6WyZ7ssPwELMsXCcsJAQ==} + electron-to-chromium@1.5.260: + resolution: {integrity: sha512-ov8rBoOBhVawpzdre+Cmz4FB+y66Eqrk6Gwqd8NGxuhv99GQ8XqMAr351KEkOt7gukXWDg6gJWEMKgL2RLMPtA==} emmet@2.4.11: resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==} @@ -5652,9 +5551,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - groq-js@1.21.0: resolution: {integrity: sha512-CQlUzcD5Ju30P+yEuxYJzQjwjC1w5OyZ207ZVKOAdwvVTGGOKM7QPa8nGGEsrEVNM0fQ7VyRC39WGecqRmDJLg==} engines: {node: '>= 14'} @@ -5747,9 +5643,6 @@ packages: history@5.3.0: resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} - hls-video-element@1.5.9: - resolution: {integrity: sha512-hDXhSI3IpSSODJF8ecNzDHKP5cqsouOuKDMjoTexyFePKr9KpXVCPAnVrXFTTH8VbOim4xkLtPkVJFt7J1Rs6w==} - hls.js@1.6.15: resolution: {integrity: sha512-E3a5VwgXimGHwpRGV+WxRTKeSp2DW5DI5MWv34ulL3t5UNmyJWCQ1KmLEHbYzcfThfXG8amBL+fCYPneGHC4VA==} @@ -5824,6 +5717,9 @@ packages: idb-keyval@6.2.2: resolution: {integrity: sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==} + idb@8.0.3: + resolution: {integrity: sha512-LtwtVyVYO5BqRvcsKuB2iUMnHwPVByPCXFXOpuU96IZPPoPN6xjOGxZQ74pgSVVLQWtUOYgyeL4GE98BY5D3wg==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -5831,12 +5727,12 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - immer@10.2.0: resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==} + immer@11.0.0: + resolution: {integrity: sha512-XtRG4SINt4dpqlnJvs70O2j6hH7H0X8fUzFsjMn1rwnETaxwp83HLNimXBjZ78MrKl3/d3/pkzDH0o0Lkxm37Q==} + immutable@5.1.4: resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} @@ -5847,9 +5743,6 @@ packages: import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - imsc@1.1.5: - resolution: {integrity: sha512-V8je+CGkcvGhgl2C1GlhqFFiUOIEdwXbXLiu1Fcubvvbo+g9inauqT3l0pNYXGoLPBj3jxtZz9t+wCopMkwadQ==} - imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -6040,15 +5933,12 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - iso-datestring-validator@2.2.2: - resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} - isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - isomorphic-dompurify@2.32.0: - resolution: {integrity: sha512-4i6G4ICY57wQpiaNd6WcwhHUAqGDAJGWRlfWKLunBchJjtF2HV4eUeJtUupoEddbnnxYUiRhqfd9e4aDYR7ROA==} + isomorphic-dompurify@2.33.0: + resolution: {integrity: sha512-pXGR3rAHAXb5Bvr56pc5aV0Lh8laubLo7/60F+soOzDFmwks6MtgDhL7p46VoxLnwgIsjgmVhQpUt4mUlL/XEw==} engines: {node: '>=20.19.5'} istanbul-lib-coverage@3.2.2: @@ -6178,9 +6068,6 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - lie@3.1.1: - resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} - lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -6188,21 +6075,9 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkedom@0.18.12: - resolution: {integrity: sha512-jalJsOwIKuQJSeTvsgzPe9iJzyfVaEJiEXl+25EkKevsULHvMJzpNqwvj1jOESWdmgKDiXObyjOYwlUqG7wo1Q==} - engines: {node: '>=16'} - peerDependencies: - canvas: '>= 2' - peerDependenciesMeta: - canvas: - optional: true - linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lite-youtube-embed@0.3.4: - resolution: {integrity: sha512-aXgxpwK7AIW58GEbRzA8EYaY4LWvF3FKak6B9OtSJmuNyLhX2ouD4cMTxz/yR5HFInhknaYd2jLWOTRTvT8oAw==} - load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} @@ -6211,9 +6086,6 @@ packages: resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} engines: {node: '>=6.11.5'} - localforage@1.10.0: - resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} - locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -6374,8 +6246,8 @@ packages: mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} mdast-util-to-markdown@2.1.2: resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} @@ -6648,9 +6520,6 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} - multiformats@9.9.0: - resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} - mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -6675,9 +6544,6 @@ packages: engines: {node: ^18 || >=20} hasBin: true - native-promise-only@0.8.1: - resolution: {integrity: sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==} - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -6745,6 +6611,9 @@ packages: peerDependencies: rxjs: ^6.5 || ^7 + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + ofetch@1.5.1: resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} @@ -6978,13 +6847,13 @@ packages: player.style@0.3.0: resolution: {integrity: sha512-ny1TbqA2ZsUd6jzN+F034+UMXVK7n5SrwepsrZ2gIqVz00Hn0ohCUbbUdst/2IOFCy0oiTbaOXkSFxRw1RmSlg==} - playwright-core@1.56.1: - resolution: {integrity: sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==} + playwright-core@1.57.0: + resolution: {integrity: sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==} engines: {node: '>=18'} hasBin: true - playwright@1.56.1: - resolution: {integrity: sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==} + playwright@1.57.0: + resolution: {integrity: sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==} engines: {node: '>=18'} hasBin: true @@ -7363,12 +7232,11 @@ packages: react-is@19.2.0: resolution: {integrity: sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==} - react-player@3.4.0: - resolution: {integrity: sha512-QpQSHXtnMBKjQVNeaCYMtTVcynWQ0DDDhz/FJu1OR9PHLC1Aih94UqNstywzSHbJ6Oc7lI8/7kDDqcIvyTI6zQ==} + react-lite-youtube-embed@3.3.2: + resolution: {integrity: sha512-54+Q19NCdLFmidg06USaHR/yQ7q8izNjSxNehOVipxhvXMbjqCTWTOROJyIwTnL62VmtTxLpUW15rPI6pry9gw==} peerDependencies: - '@types/react': ^17.0.0 || ^18 || ^19 - react: ^17.0.2 || ^18 || ^19 - react-dom: ^17.0.2 || ^18 || ^19 + react: '>=18.2.0' + react-dom: '>=18.2.0' react-refractor@2.2.0: resolution: {integrity: sha512-UvWkBVqH/2b9nkkkt4UNFtU3aY1orQfd4plPjx5rxbefy6vGajNHU9n+tv8CbykFyVirr3vEBfN2JTxyK0d36g==} @@ -7601,6 +7469,19 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + rollup-plugin-visualizer@6.0.5: + resolution: {integrity: sha512-9+HlNgKCVbJDs8tVtjQ43US12eqaiHyyiLMdBwQ7vSZPiHMysGNo2E88TAp1si5wx8NAoYriI2A5kuKfIakmJg==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + rolldown: 1.x || ^1.0.0-beta + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rolldown: + optional: true + rollup: + optional: true + rollup@4.53.3: resolution: {integrity: sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -7674,9 +7555,6 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - sax@1.2.1: - resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} - sax@1.4.3: resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} @@ -7837,9 +7715,6 @@ packages: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} - spotify-audio-element@1.0.3: - resolution: {integrity: sha512-I1/qD8cg/UnTlCIMiKSdZUJTyYfYhaqFK7LIVElc48eOqUUbVCaw1bqL8I6mJzdMJTh3eoNyF/ewvB7NoS/g9A==} - sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -7958,9 +7833,6 @@ packages: suf-log@2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} - super-media-element@1.4.2: - resolution: {integrity: sha512-9pP/CVNp4NF2MNlRzLwQkjiTgKKe9WYXrLh9+8QokWmMxz+zt2mf1utkWLco26IuA3AfVcTb//qtlTIjY3VHxA==} - supports-color@10.2.2: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} @@ -8043,9 +7915,6 @@ packages: through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - tiktok-video-element@0.1.1: - resolution: {integrity: sha512-BaiVzvNz2UXDKTdSrXzrNf4q6Ecc+/utYUh7zdEu2jzYcJVDoqYbVfUl0bCfMoOeeAqg28vD/yN63Y3E9jOrlA==} - tiny-inflate@1.0.3: resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} @@ -8084,22 +7953,18 @@ packages: resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} - tlds@1.261.0: - resolution: {integrity: sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA==} - hasBin: true - tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - tldts-core@7.0.18: - resolution: {integrity: sha512-jqJC13oP4FFAahv4JT/0WTDrCF9Okv7lpKtOZUGPLiAnNbACcSg8Y8T+Z9xthOmRBqi/Sob4yi0TE0miRCvF7Q==} + tldts-core@7.0.19: + resolution: {integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==} tldts@6.1.86: resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} hasBin: true - tldts@7.0.18: - resolution: {integrity: sha512-lCcgTAgMxQ1JKOWrVGo6E69Ukbnx4Gc1wiYLRf6J5NN4HRYJtCby1rPF8rkQ4a6qqoFBK5dvjJ1zJ0F7VfDSvw==} + tldts@7.0.19: + resolution: {integrity: sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==} hasBin: true to-regex-range@5.0.1: @@ -8143,9 +8008,6 @@ packages: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} - ts-pattern@5.9.0: - resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==} - tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -8173,9 +8035,6 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - twitch-video-element@0.1.5: - resolution: {integrity: sha512-3UdWMa5ytWFdpgJAM6XEqqRK/1FvWdJVcKDOw4IHBPt4p52E+4fXT42fBdRZFfoxBPXQNZUDDNHFW8wIopD7Og==} - type-fest@0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} @@ -8196,9 +8055,6 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - typed-usa-states@2.1.0: - resolution: {integrity: sha512-9HyajobhSjkrF/vg0f70AVBZUY7t9RqFowyyFtim2HmKQ+LtYh14AmIe+3dTfOH5zYrgSLgOlSR+luH9F0g6dw==} - typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -8219,31 +8075,18 @@ packages: engines: {node: '>=14.17'} hasBin: true - ua-parser-js@1.0.41: - resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} - hasBin: true - uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - uhyphen@0.2.0: - resolution: {integrity: sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==} - - uint8arrays@3.0.0: - resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} - ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} @@ -8321,9 +8164,6 @@ packages: unist-util-remove-position@5.0.0: resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - unist-util-select@4.0.3: - resolution: {integrity: sha512-1074+K9VyR3NyUz3lgNtHKm7ln+jSZXtLJM4E22uVuoFn88a/Go2pX8dusrt/W+KWH1ncn8jcd8uCQuvXb/fXA==} - unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -8342,8 +8182,8 @@ packages: universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} - unplugin@2.3.10: - resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} + unplugin@2.3.11: + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} engines: {node: '>=18.12.0'} unstorage@1.17.3: @@ -8476,6 +8316,10 @@ packages: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true + uuid@13.0.0: + resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} + hasBin: true + uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -8484,8 +8328,8 @@ packages: resolution: {integrity: sha512-jjRGChg03uGp9f6wQYSO8qXkweJwRbA5WRuEQE8xLIiehIzIIi23qZSzsyvZPCPoFqkeLtZuz7Plt1LGukAInA==} hasBin: true - valibot@1.1.0: - resolution: {integrity: sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw==} + valibot@1.2.0: + resolution: {integrity: sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==} peerDependencies: typescript: '>=5' peerDependenciesMeta: @@ -8504,9 +8348,6 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vimeo-video-element@1.6.1: - resolution: {integrity: sha512-UwDLzhgg98pct1xb6799I1vRDXIzaAX6rs1TG/QOf6y+VrXpTFrI7mYz2gnj9QCtBcGK68f4z64A+MRYRsLJaQ==} - vite-tsconfig-paths@5.1.4: resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} peerDependencies: @@ -8603,19 +8444,18 @@ packages: vite: optional: true - vitest@4.0.13: - resolution: {integrity: sha512-QSD4I0fN6uZQfftryIXuqvqgBxTvJ3ZNkF6RWECd82YGAYAfhcppBLFXzXJHQAAhVFyYEuFTrq6h0hQqjB7jIQ==} + vitest@4.0.14: + resolution: {integrity: sha512-d9B2J9Cm9dN9+6nxMnnNJKJCtcyKfnHj15N6YNJfaFHRLua/d3sRKU9RuKmO9mB0XdFtUizlxfz/VPbd3OxGhw==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/debug': ^4.1.12 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.13 - '@vitest/browser-preview': 4.0.13 - '@vitest/browser-webdriverio': 4.0.13 - '@vitest/ui': 4.0.13 + '@vitest/browser-playwright': 4.0.14 + '@vitest/browser-preview': 4.0.14 + '@vitest/browser-webdriverio': 4.0.14 + '@vitest/ui': 4.0.14 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -8623,8 +8463,6 @@ packages: optional: true '@opentelemetry/api': optional: true - '@types/debug': - optional: true '@types/node': optional: true '@vitest/browser-playwright': @@ -8747,10 +8585,6 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - weakmap-polyfill@2.0.4: - resolution: {integrity: sha512-ZzxBf288iALJseijWelmECm/1x7ZwQn3sMYIkDr2VvZp7r6SEKuT8D0O9Wiq6L9Nl5mazrOMcmiZE/2NCenaxw==} - engines: {node: '>=8.10.0'} - web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -8826,9 +8660,6 @@ packages: resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} engines: {node: '>=18'} - wistia-video-element@1.3.5: - resolution: {integrity: sha512-aIG0xEtclPb9xfklAkOwHFv/BMiH3Ql0yWWKQ1XyUCoSDaF3sOD+JNLmakOChvn2LLUX7FqH/mYb8bXT4ACnMw==} - wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} @@ -9002,9 +8833,6 @@ packages: youch@4.1.0-beta.10: resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} - youtube-video-element@1.8.0: - resolution: {integrity: sha512-u3M0MgO+KUtVwIyKJXZXXJ0As0k6d5NflOrh1GjyG8NNOp+liW2nFU29hpXeUcxUWbVKhudIYd39hMVeEgCilQ==} - zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -9049,7 +8877,7 @@ packages: snapshots: - '@acemir/cssom@0.9.23': {} + '@acemir/cssom@0.9.24': {} '@actions/core@1.11.1': dependencies: @@ -9144,64 +8972,6 @@ snapshots: '@asamuzakjp/nwsapi@2.3.9': {} - '@astro-community/astro-embed-baseline-status@0.2.1(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': - dependencies: - '@astro-community/astro-embed-utils': 0.1.5 - astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - transitivePeerDependencies: - - canvas - - '@astro-community/astro-embed-bluesky@0.1.5(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': - dependencies: - '@atproto/api': 0.13.35 - astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - ts-pattern: 5.9.0 - - '@astro-community/astro-embed-integration@0.8.3(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': - dependencies: - '@astro-community/astro-embed-bluesky': 0.1.5(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@astro-community/astro-embed-link-preview': 0.2.3 - '@astro-community/astro-embed-twitter': 0.5.9(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@astro-community/astro-embed-vimeo': 0.3.11(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@astro-community/astro-embed-youtube': 0.5.9(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@types/unist': 2.0.11 - astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - astro-auto-import: 0.4.5(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - unist-util-select: 4.0.3 - transitivePeerDependencies: - - canvas - - '@astro-community/astro-embed-link-preview@0.2.3': - dependencies: - '@astro-community/astro-embed-utils': 0.1.5 - transitivePeerDependencies: - - canvas - - '@astro-community/astro-embed-twitter@0.5.9(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': - dependencies: - '@astro-community/astro-embed-utils': 0.1.5 - astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - transitivePeerDependencies: - - canvas - - '@astro-community/astro-embed-utils@0.1.5': - dependencies: - linkedom: 0.18.12 - transitivePeerDependencies: - - canvas - - '@astro-community/astro-embed-vimeo@0.3.11(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': - dependencies: - '@astro-community/astro-embed-utils': 0.1.5 - astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - transitivePeerDependencies: - - canvas - - '@astro-community/astro-embed-youtube@0.5.9(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': - dependencies: - astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - lite-youtube-embed: 0.3.4 - '@astrojs/check@0.9.5(prettier-plugin-astro@0.14.1)(prettier@3.6.2)(typescript@5.9.3)': dependencies: '@astrojs/language-server': 2.16.0(prettier-plugin-astro@0.14.1)(prettier@3.6.2)(typescript@5.9.3) @@ -9217,11 +8987,11 @@ snapshots: dependencies: '@astrojs/internal-helpers': 0.7.5 '@astrojs/underscore-redirects': 1.0.0 - '@cloudflare/workers-types': 4.20251121.0 + '@cloudflare/workers-types': 4.20251126.0 astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) tinyglobby: 0.2.15 vite: 6.4.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) - wrangler: 4.46.0(@cloudflare/workers-types@4.20251121.0) + wrangler: 4.46.0(@cloudflare/workers-types@4.20251126.0) transitivePeerDependencies: - '@types/node' - bufferutil @@ -9246,19 +9016,19 @@ snapshots: '@astrojs/compiler': 2.13.0 '@astrojs/yaml2ts': 0.2.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@volar/kit': 2.4.23(typescript@5.9.3) - '@volar/language-core': 2.4.23 - '@volar/language-server': 2.4.23 - '@volar/language-service': 2.4.23 + '@volar/kit': 2.4.26(typescript@5.9.3) + '@volar/language-core': 2.4.26 + '@volar/language-server': 2.4.26 + '@volar/language-service': 2.4.26 fast-glob: 3.3.3 muggle-string: 0.4.1 - volar-service-css: 0.0.66(@volar/language-service@2.4.23) - volar-service-emmet: 0.0.66(@volar/language-service@2.4.23) - volar-service-html: 0.0.66(@volar/language-service@2.4.23) - volar-service-prettier: 0.0.66(@volar/language-service@2.4.23)(prettier@3.6.2) - volar-service-typescript: 0.0.66(@volar/language-service@2.4.23) - volar-service-typescript-twoslash-queries: 0.0.66(@volar/language-service@2.4.23) - volar-service-yaml: 0.0.66(@volar/language-service@2.4.23) + volar-service-css: 0.0.66(@volar/language-service@2.4.26) + volar-service-emmet: 0.0.66(@volar/language-service@2.4.26) + volar-service-html: 0.0.66(@volar/language-service@2.4.26) + volar-service-prettier: 0.0.66(@volar/language-service@2.4.26)(prettier@3.6.2) + volar-service-typescript: 0.0.66(@volar/language-service@2.4.26) + volar-service-typescript-twoslash-queries: 0.0.66(@volar/language-service@2.4.26) + volar-service-yaml: 0.0.66(@volar/language-service@2.4.26) vscode-html-languageservice: 5.6.0 vscode-uri: 3.1.0 optionalDependencies: @@ -9267,12 +9037,12 @@ snapshots: transitivePeerDependencies: - typescript - '@astrojs/markdoc@0.15.9(@types/react@19.2.6)(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(react@19.2.0)': + '@astrojs/markdoc@0.15.9(@types/react@19.2.7)(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(react@19.2.0)': dependencies: '@astrojs/internal-helpers': 0.7.5 '@astrojs/markdown-remark': 6.3.9 '@astrojs/prism': 3.3.0 - '@markdoc/markdoc': 0.5.4(@types/react@19.2.6)(react@19.2.0) + '@markdoc/markdoc': 0.5.4(@types/react@19.2.7)(react@19.2.0) astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) esbuild: 0.25.12 github-slugger: 2.0.0 @@ -9331,10 +9101,10 @@ snapshots: dependencies: prismjs: 1.30.0 - '@astrojs/react@4.4.2(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)': + '@astrojs/react@4.4.2(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)': dependencies: - '@types/react': 19.2.6 - '@types/react-dom': 19.2.3(@types/react@19.2.6) + '@types/react': 19.2.7 + '@types/react-dom': 19.2.3(@types/react@19.2.7) '@vitejs/plugin-react': 4.7.0(vite@6.4.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) react: 19.2.0 react-dom: 19.2.0(react@19.2.0) @@ -9383,41 +9153,6 @@ snapshots: dependencies: yaml: 2.8.1 - '@atproto/api@0.13.35': - dependencies: - '@atproto/common-web': 0.4.3 - '@atproto/lexicon': 0.4.14 - '@atproto/syntax': 0.3.4 - '@atproto/xrpc': 0.6.12 - await-lock: 2.2.2 - multiformats: 9.9.0 - tlds: 1.261.0 - zod: 3.25.76 - - '@atproto/common-web@0.4.3': - dependencies: - graphemer: 1.4.0 - multiformats: 9.9.0 - uint8arrays: 3.0.0 - zod: 3.25.76 - - '@atproto/lexicon@0.4.14': - dependencies: - '@atproto/common-web': 0.4.3 - '@atproto/syntax': 0.4.1 - iso-datestring-validator: 2.2.2 - multiformats: 9.9.0 - zod: 3.25.76 - - '@atproto/syntax@0.3.4': {} - - '@atproto/syntax@0.4.1': {} - - '@atproto/xrpc@0.6.12': - dependencies: - '@atproto/lexicon': 0.4.14 - zod: 3.25.76 - '@aws-lite/client@0.21.10': dependencies: aws4: 1.13.2 @@ -9426,10 +9161,10 @@ snapshots: '@aws-lite/ssm@0.2.5': {} - '@axe-core/playwright@4.11.0(playwright-core@1.56.1)': + '@axe-core/playwright@4.11.0(playwright-core@1.57.0)': dependencies: axe-core: 4.11.0 - playwright-core: 1.56.1 + playwright-core: 1.57.0 '@babel/code-frame@7.27.1': dependencies: @@ -10274,7 +10009,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20251118.0': optional: true - '@cloudflare/workers-types@4.20251121.0': {} + '@cloudflare/workers-types@4.20251126.0': {} '@cspotcode/source-map-support@0.8.1': dependencies: @@ -11035,13 +10770,15 @@ snapshots: '@juggle/resize-observer@3.4.0': {} - '@markdoc/markdoc@0.5.4(@types/react@19.2.6)(react@19.2.0)': + '@markdoc/markdoc@0.5.4(@types/react@19.2.7)(react@19.2.0)': optionalDependencies: '@types/linkify-it': 3.0.5 '@types/markdown-it': 12.2.3 - '@types/react': 19.2.6 + '@types/react': 19.2.7 react: 19.2.0 + '@maskito/core@4.0.1': {} + '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.8 @@ -11076,35 +10813,35 @@ snapshots: dependencies: mux-embed: 5.9.0 - '@mux/mux-player-react@3.9.0(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@mux/mux-player-react@3.9.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@mux/mux-player': 3.9.0(react@19.2.0) - '@mux/playback-core': 0.31.3 + '@mux/mux-player': 3.9.1(react@19.2.0) + '@mux/playback-core': 0.31.4 prop-types: 15.8.1 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) optionalDependencies: - '@types/react': 19.2.6 - '@types/react-dom': 19.2.3(@types/react@19.2.6) + '@types/react': 19.2.7 + '@types/react-dom': 19.2.3(@types/react@19.2.7) - '@mux/mux-player@3.9.0(react@19.2.0)': + '@mux/mux-player@3.9.1(react@19.2.0)': dependencies: - '@mux/mux-video': 0.28.0 - '@mux/playback-core': 0.31.3 + '@mux/mux-video': 0.28.1 + '@mux/playback-core': 0.31.4 media-chrome: 4.16.0(react@19.2.0) player.style: 0.3.0(react@19.2.0) transitivePeerDependencies: - react - '@mux/mux-video@0.28.0': + '@mux/mux-video@0.28.1': dependencies: '@mux/mux-data-google-ima': 0.2.8 - '@mux/playback-core': 0.31.3 + '@mux/playback-core': 0.31.4 castable-video: 1.1.11 custom-media-element: 1.4.5 media-tracks: 0.3.4 - '@mux/playback-core@0.31.3': + '@mux/playback-core@0.31.4': dependencies: hls.js: 1.6.15 mux-embed: 5.14.0 @@ -11278,9 +11015,9 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@playwright/test@1.56.1': + '@playwright/test@1.57.0': dependencies: - playwright: 1.56.1 + playwright: 1.57.0 '@poppinss/colors@4.1.5': dependencies: @@ -11294,28 +11031,28 @@ snapshots: '@poppinss/exception@1.2.2': {} - '@portabletext/block-tools@4.1.1(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))': + '@portabletext/block-tools@4.1.2(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))': dependencies: - '@portabletext/sanity-bridge': 1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)) + '@portabletext/sanity-bridge': 1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)) '@portabletext/schema': 2.0.0 - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) lodash: 4.17.21 transitivePeerDependencies: - '@sanity/schema' - '@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2)': + '@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2)': dependencies: - '@portabletext/block-tools': 4.1.1(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)) + '@portabletext/block-tools': 4.1.2(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)) '@portabletext/keyboard-shortcuts': 2.1.0 '@portabletext/patches': 2.0.0 - '@portabletext/sanity-bridge': 1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)) + '@portabletext/sanity-bridge': 1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)) '@portabletext/schema': 2.0.0 '@portabletext/to-html': 4.0.1 - '@sanity/schema': 4.18.0(@types/react@19.2.6)(debug@4.4.3) - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) - '@xstate/react': 6.0.0(@types/react@19.2.6)(react@19.2.0)(xstate@5.24.0) + '@sanity/schema': 4.18.0(@types/react@19.2.7)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) + '@xstate/react': 6.0.0(@types/react@19.2.7)(react@19.2.0)(xstate@5.24.0) debug: 4.4.3(supports-color@8.1.1) - immer: 10.2.0 + immer: 11.0.0 lodash: 4.17.21 lodash.startcase: 4.4.0 react: 19.2.0 @@ -11337,10 +11074,10 @@ snapshots: '@sanity/diff-match-patch': 3.2.0 lodash: 4.17.21 - '@portabletext/plugin-character-pair-decorator@4.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0)': + '@portabletext/plugin-character-pair-decorator@4.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0)': dependencies: - '@portabletext/editor': 3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) - '@xstate/react': 6.0.0(@types/react@19.2.6)(react@19.2.0)(xstate@5.24.0) + '@portabletext/editor': 3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) + '@xstate/react': 6.0.0(@types/react@19.2.7)(react@19.2.0)(xstate@5.24.0) react: 19.2.0 react-compiler-runtime: 1.0.0(react@19.2.0) remeda: 2.32.0 @@ -11348,36 +11085,36 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@portabletext/plugin-input-rule@1.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0)': + '@portabletext/plugin-input-rule@1.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0)': dependencies: - '@portabletext/editor': 3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) - '@xstate/react': 6.0.0(@types/react@19.2.6)(react@19.2.0)(xstate@5.24.0) + '@portabletext/editor': 3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) + '@xstate/react': 6.0.0(@types/react@19.2.7)(react@19.2.0)(xstate@5.24.0) react: 19.2.0 react-compiler-runtime: 1.0.0(react@19.2.0) xstate: 5.24.0 transitivePeerDependencies: - '@types/react' - '@portabletext/plugin-markdown-shortcuts@4.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0)': + '@portabletext/plugin-markdown-shortcuts@4.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0)': dependencies: - '@portabletext/editor': 3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) - '@portabletext/plugin-character-pair-decorator': 4.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0) - '@portabletext/plugin-input-rule': 1.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0) + '@portabletext/editor': 3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) + '@portabletext/plugin-character-pair-decorator': 4.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0) + '@portabletext/plugin-input-rule': 1.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0) react: 19.2.0 react-compiler-runtime: 1.0.0(react@19.2.0) transitivePeerDependencies: - '@types/react' - '@portabletext/plugin-one-line@3.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(react@19.2.0)': + '@portabletext/plugin-one-line@3.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(react@19.2.0)': dependencies: - '@portabletext/editor': 3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) + '@portabletext/editor': 3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) react: 19.2.0 react-compiler-runtime: 1.0.0(react@19.2.0) - '@portabletext/plugin-typography@4.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0)': + '@portabletext/plugin-typography@4.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0)': dependencies: - '@portabletext/editor': 3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) - '@portabletext/plugin-input-rule': 1.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0) + '@portabletext/editor': 3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) + '@portabletext/plugin-input-rule': 1.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0) react: 19.2.0 react-compiler-runtime: 1.0.0(react@19.2.0) transitivePeerDependencies: @@ -11389,11 +11126,11 @@ snapshots: '@portabletext/types': 3.0.0 react: 19.2.0 - '@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))': + '@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))': dependencies: '@portabletext/schema': 2.0.0 - '@sanity/schema': 4.18.0(@types/react@19.2.6)(debug@4.4.3) - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/schema': 4.18.0(@types/react@19.2.7)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) lodash.startcase: 4.4.0 '@portabletext/schema@2.0.0': {} @@ -11403,16 +11140,10 @@ snapshots: '@portabletext/toolkit': 4.0.0 '@portabletext/types': 3.0.0 - '@portabletext/toolkit@3.0.3': - dependencies: - '@portabletext/types': 2.0.15 - '@portabletext/toolkit@4.0.0': dependencies: '@portabletext/types': 3.0.0 - '@portabletext/types@2.0.15': {} - '@portabletext/types@3.0.0': {} '@react-aria/autocomplete@3.0.0-rc.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': @@ -11944,6 +11675,14 @@ snapshots: react: 19.2.0 react-dom: 19.2.0(react@19.2.0) + '@react-aria/test-utils@1.0.0-beta.1(@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@swc/helpers': 0.5.17 + '@testing-library/react': 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + '@react-aria/textfield@3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@react-aria/form': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -12544,16 +12283,16 @@ snapshots: '@sanity/asset-utils@2.3.0': {} - '@sanity/astro@3.2.10(@emotion/is-prop-valid@1.2.2)(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(typescript@5.9.3)': + '@sanity/astro@3.2.10(@emotion/is-prop-valid@1.2.2)(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(typescript@5.9.3)': dependencies: '@sanity/client': 7.13.0(debug@4.4.3) - '@sanity/visual-editing': 2.15.4(@emotion/is-prop-valid@1.2.2)(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(typescript@5.9.3) + '@sanity/visual-editing': 2.15.4(@emotion/is-prop-valid@1.2.2)(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(typescript@5.9.3) astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) history: 5.3.0 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) react-is: 19.2.0 - sanity: 4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) + sanity: 4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) styled-components: 6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0) transitivePeerDependencies: - '@emotion/is-prop-valid' @@ -12661,13 +12400,13 @@ snapshots: uuid: 11.1.0 xstate: 5.24.0 - '@sanity/comlink@4.0.0': + '@sanity/comlink@4.0.1': dependencies: rxjs: 7.8.2 - uuid: 11.1.0 + uuid: 13.0.0 xstate: 5.24.0 - '@sanity/descriptors@1.1.1': + '@sanity/descriptors@1.2.0': dependencies: sha256-uint8array: 0.10.7 @@ -12692,10 +12431,10 @@ snapshots: event-source-polyfill: 1.0.31 eventsource: 2.0.2 - '@sanity/export@4.0.1(@types/react@19.2.6)': + '@sanity/export@4.0.1(@types/react@19.2.7)': dependencies: '@sanity/client': 7.13.0(debug@4.4.3) - '@sanity/util': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/util': 4.18.0(@types/react@19.2.7)(debug@4.4.3) archiver: 7.0.1 debug: 4.4.3(supports-color@8.1.1) get-it: 8.6.10(debug@4.4.3) @@ -12727,11 +12466,11 @@ snapshots: '@sanity/image-url@1.2.0': {} - '@sanity/import@3.38.3(@types/react@19.2.6)': + '@sanity/import@3.38.3(@types/react@19.2.7)': dependencies: '@sanity/asset-utils': 2.3.0 '@sanity/generate-help-url': 3.0.0 - '@sanity/mutator': 3.99.0(@types/react@19.2.6) + '@sanity/mutator': 3.99.0(@types/react@19.2.7) '@sanity/uuid': 3.0.2 debug: 4.4.3(supports-color@8.1.1) file-url: 2.0.2 @@ -12754,10 +12493,10 @@ snapshots: - '@types/react' - supports-color - '@sanity/insert-menu@1.1.13(@emotion/is-prop-valid@1.2.2)(@sanity/types@4.18.0(@types/react@19.2.6))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))': + '@sanity/insert-menu@1.1.13(@emotion/is-prop-valid@1.2.2)(@sanity/types@4.18.0(@types/react@19.2.7))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))': dependencies: '@sanity/icons': 3.7.4(react@19.2.0) - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) '@sanity/ui': 2.16.22(@emotion/is-prop-valid@1.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) lodash: 4.17.21 react: 19.2.0 @@ -12768,10 +12507,10 @@ snapshots: - '@emotion/is-prop-valid' - styled-components - '@sanity/insert-menu@2.1.0(@emotion/is-prop-valid@1.2.2)(@sanity/types@4.18.0(@types/react@19.2.6))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))': + '@sanity/insert-menu@2.1.0(@emotion/is-prop-valid@1.2.2)(@sanity/types@4.18.0(@types/react@19.2.7))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))': dependencies: '@sanity/icons': 3.7.4(react@19.2.0) - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) '@sanity/ui': 3.1.11(@emotion/is-prop-valid@1.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) lodash: 4.17.21 react: 19.2.0 @@ -12797,14 +12536,14 @@ snapshots: '@sanity/message-protocol@0.17.6': dependencies: - '@sanity/comlink': 4.0.0 + '@sanity/comlink': 4.0.1 - '@sanity/migrate@4.18.0(@types/react@19.2.6)': + '@sanity/migrate@4.18.0(@types/react@19.2.7)': dependencies: '@sanity/client': 7.13.0(debug@4.4.3) '@sanity/mutate': 0.14.0(debug@4.4.3) - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) - '@sanity/util': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) + '@sanity/util': 4.18.0(@types/react@19.2.7)(debug@4.4.3) arrify: 2.0.1 debug: 4.4.3(supports-color@8.1.1) fast-fifo: 1.3.2 @@ -12854,10 +12593,10 @@ snapshots: transitivePeerDependencies: - debug - '@sanity/mutator@3.99.0(@types/react@19.2.6)': + '@sanity/mutator@3.99.0(@types/react@19.2.7)': dependencies: '@sanity/diff-match-patch': 3.2.0 - '@sanity/types': 3.99.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 3.99.0(@types/react@19.2.7)(debug@4.4.3) '@sanity/uuid': 3.0.2 debug: 4.4.3(supports-color@8.1.1) lodash: 4.17.21 @@ -12865,10 +12604,10 @@ snapshots: - '@types/react' - supports-color - '@sanity/mutator@4.18.0(@types/react@19.2.6)': + '@sanity/mutator@4.18.0(@types/react@19.2.7)': dependencies: '@sanity/diff-match-patch': 3.2.0 - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) '@sanity/uuid': 3.0.2 debug: 4.4.3(supports-color@8.1.1) lodash: 4.17.21 @@ -12876,29 +12615,29 @@ snapshots: - '@types/react' - supports-color - '@sanity/presentation-comlink@1.0.33(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))': + '@sanity/presentation-comlink@1.0.33(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))': dependencies: '@sanity/comlink': 3.1.1 - '@sanity/visual-editing-types': 1.1.8(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6)) + '@sanity/visual-editing-types': 1.1.8(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7)) transitivePeerDependencies: - '@sanity/client' - '@sanity/types' - '@sanity/presentation-comlink@2.0.0(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))': + '@sanity/presentation-comlink@2.0.1(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))': dependencies: - '@sanity/comlink': 4.0.0 - '@sanity/visual-editing-types': 1.1.8(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6)) + '@sanity/comlink': 4.0.1 + '@sanity/visual-editing-types': 1.1.8(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7)) transitivePeerDependencies: - '@sanity/client' - '@sanity/types' - '@sanity/preview-url-secret@2.1.16(@sanity/client@7.13.0)(@sanity/icons@3.7.4(react@19.2.0))(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': + '@sanity/preview-url-secret@2.1.16(@sanity/client@7.13.0)(@sanity/icons@3.7.4(react@19.2.0))(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': dependencies: '@sanity/client': 7.13.0(debug@4.4.3) '@sanity/uuid': 3.0.2 optionalDependencies: '@sanity/icons': 3.7.4(react@19.2.0) - sanity: 4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) + sanity: 4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) '@sanity/runtime-cli@11.1.4(@types/node@24.10.1)(debug@4.4.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)': dependencies: @@ -12944,11 +12683,11 @@ snapshots: - utf-8-validate - yaml - '@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3)': + '@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3)': dependencies: - '@sanity/descriptors': 1.1.1 + '@sanity/descriptors': 1.2.0 '@sanity/generate-help-url': 3.0.0 - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) arrify: 2.0.1 groq-js: 1.21.0 humanize-list: 1.0.1 @@ -12960,7 +12699,7 @@ snapshots: - debug - supports-color - '@sanity/sdk@2.1.2(@types/react@19.2.6)(debug@4.4.3)(immer@10.2.0)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0))': + '@sanity/sdk@2.1.2(@types/react@19.2.7)(debug@4.4.3)(immer@11.0.0)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0))': dependencies: '@sanity/bifur-client': 0.4.1 '@sanity/client': 7.13.0(debug@4.4.3) @@ -12970,12 +12709,12 @@ snapshots: '@sanity/json-match': 1.0.5 '@sanity/message-protocol': 0.12.0 '@sanity/mutate': 0.12.6(debug@4.4.3) - '@sanity/types': 3.99.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 3.99.0(@types/react@19.2.7)(debug@4.4.3) groq: 3.88.1-typegen-experimental.0 lodash-es: 4.17.21 reselect: 5.1.1 rxjs: 7.8.2 - zustand: 5.0.8(@types/react@19.2.6)(immer@10.2.0)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) + zustand: 5.0.8(@types/react@19.2.7)(immer@11.0.0)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) transitivePeerDependencies: - '@types/react' - debug @@ -12996,19 +12735,19 @@ snapshots: '@actions/github': 6.0.1 yaml: 2.8.1 - '@sanity/types@3.99.0(@types/react@19.2.6)(debug@4.4.3)': + '@sanity/types@3.99.0(@types/react@19.2.7)(debug@4.4.3)': dependencies: '@sanity/client': 7.13.0(debug@4.4.3) '@sanity/media-library-types': 1.0.1 - '@types/react': 19.2.6 + '@types/react': 19.2.7 transitivePeerDependencies: - debug - '@sanity/types@4.18.0(@types/react@19.2.6)(debug@4.4.3)': + '@sanity/types@4.18.0(@types/react@19.2.7)(debug@4.4.3)': dependencies: '@sanity/client': 7.13.0(debug@4.4.3) '@sanity/media-library-types': 1.0.1 - '@types/react': 19.2.6 + '@types/react': 19.2.7 transitivePeerDependencies: - debug @@ -13048,12 +12787,12 @@ snapshots: transitivePeerDependencies: - '@emotion/is-prop-valid' - '@sanity/util@4.18.0(@types/react@19.2.6)(debug@4.4.3)': + '@sanity/util@4.18.0(@types/react@19.2.7)(debug@4.4.3)': dependencies: '@date-fns/tz': 1.4.1 '@date-fns/utc': 2.1.1 '@sanity/client': 7.13.0(debug@4.4.3) - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) date-fns: 4.1.0 rxjs: 7.8.2 transitivePeerDependencies: @@ -13065,31 +12804,31 @@ snapshots: '@types/uuid': 8.3.4 uuid: 8.3.2 - '@sanity/visual-editing-csm@2.0.26(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))(typescript@5.9.3)': + '@sanity/visual-editing-csm@2.0.26(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))(typescript@5.9.3)': dependencies: '@sanity/client': 7.13.0(debug@4.4.3) - '@sanity/visual-editing-types': 1.1.8(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6)) - valibot: 1.1.0(typescript@5.9.3) + '@sanity/visual-editing-types': 1.1.8(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7)) + valibot: 1.2.0(typescript@5.9.3) transitivePeerDependencies: - '@sanity/types' - typescript - '@sanity/visual-editing-types@1.1.8(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))': + '@sanity/visual-editing-types@1.1.8(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))': dependencies: '@sanity/client': 7.13.0(debug@4.4.3) optionalDependencies: - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) - '@sanity/visual-editing@2.15.4(@emotion/is-prop-valid@1.2.2)(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(typescript@5.9.3)': + '@sanity/visual-editing@2.15.4(@emotion/is-prop-valid@1.2.2)(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(typescript@5.9.3)': dependencies: '@sanity/comlink': 3.1.1 '@sanity/icons': 3.7.4(react@19.2.0) - '@sanity/insert-menu': 1.1.13(@emotion/is-prop-valid@1.2.2)(@sanity/types@4.18.0(@types/react@19.2.6))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) + '@sanity/insert-menu': 1.1.13(@emotion/is-prop-valid@1.2.2)(@sanity/types@4.18.0(@types/react@19.2.7))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) '@sanity/mutate': 0.11.0-canary.4(xstate@5.24.0) - '@sanity/presentation-comlink': 1.0.33(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6)) - '@sanity/preview-url-secret': 2.1.16(@sanity/client@7.13.0)(@sanity/icons@3.7.4(react@19.2.0))(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) + '@sanity/presentation-comlink': 1.0.33(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7)) + '@sanity/preview-url-secret': 2.1.16(@sanity/client@7.13.0)(@sanity/icons@3.7.4(react@19.2.0))(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) '@sanity/ui': 2.16.22(@emotion/is-prop-valid@1.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) - '@sanity/visual-editing-csm': 2.0.26(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6))(typescript@5.9.3) + '@sanity/visual-editing-csm': 2.0.26(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7))(typescript@5.9.3) '@vercel/stega': 0.1.2 get-random-values-esm: 1.0.2 react: 19.2.0 @@ -13198,7 +12937,7 @@ snapshots: storybook: 10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) ts-dedent: 2.2.0 - '@storybook/addon-vitest@10.0.8(@vitest/runner@4.0.13)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)))(vitest@4.0.13(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))': + '@storybook/addon-vitest@10.0.8(@vitest/runner@4.0.14)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)))(vitest@4.0.14(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@storybook/global': 5.0.0 '@storybook/icons': 1.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -13206,8 +12945,8 @@ snapshots: storybook: 10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) ts-dedent: 2.2.0 optionalDependencies: - '@vitest/runner': 4.0.13 - vitest: 4.0.13(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) + '@vitest/runner': 4.0.14 + vitest: 4.0.14(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) transitivePeerDependencies: - react - react-dom @@ -13226,7 +12965,7 @@ snapshots: '@storybook/csf-plugin@10.0.8(esbuild@0.27.0)(rollup@4.53.3)(storybook@10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))(webpack@5.102.1(esbuild@0.27.0))': dependencies: storybook: 10.0.8(@testing-library/dom@10.4.1)(prettier@3.6.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) - unplugin: 2.3.10 + unplugin: 2.3.11 optionalDependencies: esbuild: 0.27.0 rollup: 4.53.3 @@ -13278,8 +13017,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@svta/common-media-library@0.17.4': {} - '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 @@ -13320,15 +13057,15 @@ snapshots: picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@babel/runtime': 7.28.4 '@testing-library/dom': 10.4.1 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) optionalDependencies: - '@types/react': 19.2.6 - '@types/react-dom': 19.2.3(@types/react@19.2.6) + '@types/react': 19.2.7 + '@types/react-dom': 19.2.3(@types/react@19.2.7) '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: @@ -13558,10 +13295,6 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@18.19.130': - dependencies: - undici-types: 5.26.5 - '@types/node@24.10.1': dependencies: undici-types: 7.16.0 @@ -13570,15 +13303,15 @@ snapshots: '@types/prismjs@1.26.5': {} - '@types/react-dom@19.2.3(@types/react@19.2.6)': + '@types/react-dom@19.2.3(@types/react@19.2.7)': dependencies: - '@types/react': 19.2.6 + '@types/react': 19.2.7 '@types/react-is@19.2.0': dependencies: - '@types/react': 19.2.6 + '@types/react': 19.2.7 - '@types/react@19.2.6': + '@types/react@19.2.7': dependencies: csstype: 3.2.3 @@ -13626,11 +13359,6 @@ snapshots: '@vercel/stega@0.1.2': {} - '@vimeo/player@2.29.0': - dependencies: - native-promise-only: 0.8.1 - weakmap-polyfill: 2.0.4 - '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.5 @@ -13655,20 +13383,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@4.0.13(vitest@4.0.13(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))': + '@vitest/coverage-v8@4.0.14(vitest@4.0.14(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.0.13 + '@vitest/utils': 4.0.14 ast-v8-to-istanbul: 0.3.8 - debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.2.0 magicast: 0.5.1 + obug: 2.1.1 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.13(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) + vitest: 4.0.14(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -13680,12 +13408,12 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/expect@4.0.13': + '@vitest/expect@4.0.14': dependencies: '@standard-schema/spec': 1.0.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.0.13 - '@vitest/utils': 4.0.13 + '@vitest/spy': 4.0.14 + '@vitest/utils': 4.0.14 chai: 6.2.1 tinyrainbow: 3.0.3 @@ -13697,9 +13425,9 @@ snapshots: optionalDependencies: vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) - '@vitest/mocker@4.0.13(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))': + '@vitest/mocker@4.0.14(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: - '@vitest/spy': 4.0.13 + '@vitest/spy': 4.0.14 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: @@ -13709,18 +13437,18 @@ snapshots: dependencies: tinyrainbow: 2.0.0 - '@vitest/pretty-format@4.0.13': + '@vitest/pretty-format@4.0.14': dependencies: tinyrainbow: 3.0.3 - '@vitest/runner@4.0.13': + '@vitest/runner@4.0.14': dependencies: - '@vitest/utils': 4.0.13 + '@vitest/utils': 4.0.14 pathe: 2.0.3 - '@vitest/snapshot@4.0.13': + '@vitest/snapshot@4.0.14': dependencies: - '@vitest/pretty-format': 4.0.13 + '@vitest/pretty-format': 4.0.14 magic-string: 0.30.21 pathe: 2.0.3 @@ -13728,7 +13456,7 @@ snapshots: dependencies: tinyspy: 4.0.4 - '@vitest/spy@4.0.13': {} + '@vitest/spy@4.0.14': {} '@vitest/utils@3.2.4': dependencies: @@ -13736,29 +13464,29 @@ snapshots: loupe: 3.2.1 tinyrainbow: 2.0.0 - '@vitest/utils@4.0.13': + '@vitest/utils@4.0.14': dependencies: - '@vitest/pretty-format': 4.0.13 + '@vitest/pretty-format': 4.0.14 tinyrainbow: 3.0.3 - '@volar/kit@2.4.23(typescript@5.9.3)': + '@volar/kit@2.4.26(typescript@5.9.3)': dependencies: - '@volar/language-service': 2.4.23 - '@volar/typescript': 2.4.23 + '@volar/language-service': 2.4.26 + '@volar/typescript': 2.4.26 typesafe-path: 0.2.2 typescript: 5.9.3 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 - '@volar/language-core@2.4.23': + '@volar/language-core@2.4.26': dependencies: - '@volar/source-map': 2.4.23 + '@volar/source-map': 2.4.26 - '@volar/language-server@2.4.23': + '@volar/language-server@2.4.26': dependencies: - '@volar/language-core': 2.4.23 - '@volar/language-service': 2.4.23 - '@volar/typescript': 2.4.23 + '@volar/language-core': 2.4.26 + '@volar/language-service': 2.4.26 + '@volar/typescript': 2.4.26 path-browserify: 1.0.1 request-light: 0.7.0 vscode-languageserver: 9.0.1 @@ -13766,18 +13494,18 @@ snapshots: vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 - '@volar/language-service@2.4.23': + '@volar/language-service@2.4.26': dependencies: - '@volar/language-core': 2.4.23 + '@volar/language-core': 2.4.26 vscode-languageserver-protocol: 3.17.5 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 - '@volar/source-map@2.4.23': {} + '@volar/source-map@2.4.26': {} - '@volar/typescript@2.4.23': + '@volar/typescript@2.4.26': dependencies: - '@volar/language-core': 2.4.23 + '@volar/language-core': 2.4.26 path-browserify: 1.0.1 vscode-uri: 3.1.0 @@ -13888,10 +13616,10 @@ snapshots: '@xtuc/long': 4.2.2 optional: true - '@xstate/react@6.0.0(@types/react@19.2.6)(react@19.2.0)(xstate@5.24.0)': + '@xstate/react@6.0.0(@types/react@19.2.7)(react@19.2.0)(xstate@5.24.0)': dependencies: react: 19.2.0 - use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.6)(react@19.2.0) + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.7)(react@19.2.0) use-sync-external-store: 1.6.0(react@19.2.0) optionalDependencies: xstate: 5.24.0 @@ -14047,27 +13775,6 @@ snapshots: astring@1.9.0: {} - astro-auto-import@0.4.5(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)): - dependencies: - '@types/node': 18.19.130 - acorn: 8.15.0 - astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - - astro-embed@0.9.2(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)): - dependencies: - '@astro-community/astro-embed-baseline-status': 0.2.1(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@astro-community/astro-embed-bluesky': 0.1.5(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@astro-community/astro-embed-integration': 0.8.3(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@astro-community/astro-embed-link-preview': 0.2.3 - '@astro-community/astro-embed-twitter': 0.5.9(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@astro-community/astro-embed-vimeo': 0.3.11(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@astro-community/astro-embed-youtube': 0.5.9(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - transitivePeerDependencies: - - canvas - - astro-font@1.1.0: {} - astro-github-file-loader@1.1.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1): dependencies: astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) @@ -14106,10 +13813,10 @@ snapshots: - uploadthing - yaml - astro-portabletext@0.11.4(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)): + astro-portabletext@0.12.0(astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)): dependencies: - '@portabletext/toolkit': 3.0.3 - '@portabletext/types': 2.0.15 + '@portabletext/toolkit': 4.0.0 + '@portabletext/types': 3.0.0 astro: 5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) astro@5.16.0(@types/node@24.10.1)(idb-keyval@6.2.2)(jiti@2.6.1)(rollup@4.53.3)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1): @@ -14128,7 +13835,7 @@ snapshots: ci-info: 4.3.1 clsx: 2.1.1 common-ancestor-path: 1.0.1 - cookie: 1.0.2 + cookie: 1.1.0 cssesc: 3.0.0 debug: 4.4.3(supports-color@8.1.1) deterministic-object-hash: 2.0.2 @@ -14225,15 +13932,13 @@ snapshots: autoprefixer@10.4.22(postcss@8.5.6): dependencies: browserslist: 4.28.0 - caniuse-lite: 1.0.30001756 + caniuse-lite: 1.0.30001757 fraction.js: 5.3.4 normalize-range: 0.1.2 picocolors: 1.1.1 postcss: 8.5.6 postcss-value-parser: 4.2.0 - await-lock@2.2.2: {} - aws4@1.13.2: {} axe-core@4.11.0: {} @@ -14276,20 +13981,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.8.30: {} - - bcp-47-match@2.0.3: {} - - bcp-47-normalize@2.3.0: - dependencies: - bcp-47: 2.1.0 - bcp-47-match: 2.0.3 - - bcp-47@2.1.0: - dependencies: - is-alphabetical: 2.0.1 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 + baseline-browser-mapping@2.8.31: {} before-after-hook@2.2.3: {} @@ -14338,9 +14030,9 @@ snapshots: browserslist@4.28.0: dependencies: - baseline-browser-mapping: 2.8.30 - caniuse-lite: 1.0.30001756 - electron-to-chromium: 1.5.259 + baseline-browser-mapping: 2.8.31 + caniuse-lite: 1.0.30001757 + electron-to-chromium: 1.5.260 node-releases: 2.0.27 update-browserslist-db: 1.1.4(browserslist@4.28.0) @@ -14380,11 +14072,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.28.0 - caniuse-lite: 1.0.30001756 + caniuse-lite: 1.0.30001757 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001756: {} + caniuse-lite@1.0.30001757: {} cardinal@2.1.1: dependencies: @@ -14507,12 +14199,8 @@ snapshots: clone@2.1.2: {} - cloudflare-video-element@1.3.4: {} - clsx@2.1.1: {} - codem-isoboxer@0.3.10: {} - collapse-white-space@2.1.0: {} color-convert@1.9.3: @@ -14593,7 +14281,7 @@ snapshots: cookie-es@1.2.2: {} - cookie@1.0.2: {} + cookie@1.1.0: {} core-js-compat@3.47.0: dependencies: @@ -14636,8 +14324,6 @@ snapshots: domutils: 3.2.2 nth-check: 2.1.1 - css-selector-parser@1.4.1: {} - css-to-react-native@3.2.0: dependencies: camelize: 1.0.1 @@ -14708,8 +14394,6 @@ snapshots: dependencies: css-tree: 2.2.1 - cssom@0.5.0: {} - cssstyle@4.6.0: dependencies: '@asamuzakjp/css-color': 3.2.0 @@ -14881,25 +14565,6 @@ snapshots: d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - dash-video-element@0.3.0: - dependencies: - custom-media-element: 1.4.5 - dashjs: 5.1.0 - media-tracks: 0.3.4 - - dashjs@5.1.0: - dependencies: - '@svta/common-media-library': 0.17.4 - bcp-47-match: 2.0.3 - bcp-47-normalize: 2.3.0 - codem-isoboxer: 0.3.10 - fast-deep-equal: 3.1.3 - html-entities: 2.6.0 - imsc: 1.1.5 - localforage: 1.10.0 - path-browserify: 1.0.1 - ua-parser-js: 1.0.41 - data-uri-to-buffer@1.2.0: {} data-urls@5.0.0: @@ -15068,7 +14733,7 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.259: {} + electron-to-chromium@1.5.260: {} emmet@2.4.11: dependencies: @@ -15607,8 +15272,6 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - groq-js@1.21.0: dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -15694,7 +15357,7 @@ snapshots: hast-util-from-parse5: 8.0.3 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 + mdast-util-to-hast: 13.2.1 parse5: 7.3.0 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -15731,7 +15394,7 @@ snapshots: comma-separated-tokens: 2.0.3 hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 + mdast-util-to-hast: 13.2.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 @@ -15800,12 +15463,6 @@ snapshots: dependencies: '@babel/runtime': 7.28.4 - hls-video-element@1.5.9: - dependencies: - custom-media-element: 1.4.5 - hls.js: 1.6.15 - media-tracks: 0.3.4 - hls.js@1.6.15: {} hoist-non-react-statics@3.3.2: @@ -15885,14 +15542,16 @@ snapshots: idb-keyval@6.2.2: optional: true + idb@8.0.3: {} + ieee754@1.2.1: {} ignore@5.3.2: {} - immediate@3.0.6: {} - immer@10.2.0: {} + immer@11.0.0: {} + immutable@5.1.4: optional: true @@ -15903,10 +15562,6 @@ snapshots: import-meta-resolve@4.2.0: {} - imsc@1.1.5: - dependencies: - sax: 1.2.1 - imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -16044,11 +15699,9 @@ snapshots: isexe@3.1.1: {} - iso-datestring-validator@2.2.2: {} - isobject@3.0.1: {} - isomorphic-dompurify@2.32.0: + isomorphic-dompurify@2.33.0: dependencies: dompurify: 3.3.0 jsdom: 27.2.0 @@ -16146,7 +15799,7 @@ snapshots: jsdom@27.2.0: dependencies: - '@acemir/cssom': 0.9.23 + '@acemir/cssom': 0.9.24 '@asamuzakjp/dom-selector': 6.7.4 cssstyle: 5.3.3 data-urls: 6.0.0 @@ -16205,28 +15858,14 @@ snapshots: leven@3.1.0: {} - lie@3.1.1: - dependencies: - immediate: 3.0.6 - lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} - linkedom@0.18.12: - dependencies: - css-select: 5.2.2 - cssom: 0.5.0 - html-escaper: 3.0.3 - htmlparser2: 10.0.0 - uhyphen: 0.2.0 - linkify-it@5.0.0: dependencies: uc.micro: 2.1.0 - lite-youtube-embed@0.3.4: {} - load-yaml-file@0.2.0: dependencies: graceful-fs: 4.2.11 @@ -16237,10 +15876,6 @@ snapshots: loader-runner@4.3.1: optional: true - localforage@1.10.0: - dependencies: - lie: 3.1.1 - locate-path@3.0.0: dependencies: p-locate: 3.0.0 @@ -16491,7 +16126,7 @@ snapshots: '@types/mdast': 4.0.4 unist-util-is: 6.0.1 - mdast-util-to-hast@13.2.0: + mdast-util-to-hast@13.2.1: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -16964,8 +16599,6 @@ snapshots: muggle-string@0.4.1: {} - multiformats@9.9.0: {} - mute-stream@2.0.0: {} mux-embed@5.14.0: {} @@ -16978,8 +16611,6 @@ snapshots: nanoid@5.1.6: {} - native-promise-only@0.8.1: {} - neo-async@2.6.2: optional: true @@ -17043,6 +16674,8 @@ snapshots: dependencies: rxjs: 7.8.2 + obug@2.1.1: {} + ofetch@1.5.1: dependencies: destr: 2.0.5 @@ -17291,11 +16924,11 @@ snapshots: transitivePeerDependencies: - react - playwright-core@1.56.1: {} + playwright-core@1.57.0: {} - playwright@1.56.1: + playwright@1.57.0: dependencies: - playwright-core: 1.56.1 + playwright-core: 1.57.0 optionalDependencies: fsevents: 2.3.2 @@ -17697,17 +17330,17 @@ snapshots: react-fast-compare@3.2.2: {} - react-focus-lock@2.13.6(@types/react@19.2.6)(react@19.2.0): + react-focus-lock@2.13.6(@types/react@19.2.7)(react@19.2.0): dependencies: '@babel/runtime': 7.28.4 focus-lock: 1.3.6 prop-types: 15.8.1 react: 19.2.0 react-clientside-effect: 1.2.8(react@19.2.0) - use-callback-ref: 1.3.3(@types/react@19.2.6)(react@19.2.0) - use-sidecar: 1.1.3(@types/react@19.2.6)(react@19.2.0) + use-callback-ref: 1.3.3(@types/react@19.2.7)(react@19.2.0) + use-sidecar: 1.1.3(@types/react@19.2.7)(react@19.2.0) optionalDependencies: - '@types/react': 19.2.6 + '@types/react': 19.2.7 react-hook-form@7.66.1(react@19.2.0): dependencies: @@ -17729,23 +17362,10 @@ snapshots: react-is@19.2.0: {} - react-player@3.4.0(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-lite-youtube-embed@3.3.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: - '@mux/mux-player-react': 3.9.0(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@types/react': 19.2.6 - cloudflare-video-element: 1.3.4 - dash-video-element: 0.3.0 - hls-video-element: 1.5.9 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) - spotify-audio-element: 1.0.3 - tiktok-video-element: 0.1.1 - twitch-video-element: 0.1.5 - vimeo-video-element: 1.6.1 - wistia-video-element: 1.3.5 - youtube-video-element: 1.8.0 - transitivePeerDependencies: - - '@types/react-dom' react-refractor@2.2.0(react@19.2.0): dependencies: @@ -18011,7 +17631,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - mdast-util-to-hast: 13.2.0 + mdast-util-to-hast: 13.2.1 unified: 11.0.5 vfile: 6.0.3 @@ -18104,6 +17724,15 @@ snapshots: robust-predicates@3.0.2: {} + rollup-plugin-visualizer@6.0.5(rollup@4.53.3): + dependencies: + open: 8.4.2 + picomatch: 4.0.3 + source-map: 0.7.6 + yargs: 17.7.2 + optionalDependencies: + rollup: 4.53.3 + rollup@4.53.3: dependencies: '@types/estree': 1.0.8 @@ -18178,7 +17807,7 @@ snapshots: parse-srcset: 1.0.2 postcss: 8.5.6 - sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1): + sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1): dependencies: '@dnd-kit/core': 6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@dnd-kit/modifiers': 6.0.1(@dnd-kit/core@6.3.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) @@ -18186,13 +17815,13 @@ snapshots: '@dnd-kit/utilities': 3.2.2(react@19.2.0) '@isaacs/ttlcache': 1.4.1 '@juggle/resize-observer': 3.4.0 - '@mux/mux-player-react': 3.9.0(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@portabletext/block-tools': 4.1.1(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)) - '@portabletext/editor': 3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) + '@mux/mux-player-react': 3.9.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@portabletext/block-tools': 4.1.2(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)) + '@portabletext/editor': 3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2) '@portabletext/patches': 2.0.0 - '@portabletext/plugin-markdown-shortcuts': 4.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0) - '@portabletext/plugin-one-line': 3.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(react@19.2.0) - '@portabletext/plugin-typography': 4.0.6(@portabletext/editor@3.0.6(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6))(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.6)(react@19.2.0) + '@portabletext/plugin-markdown-shortcuts': 4.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0) + '@portabletext/plugin-one-line': 3.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(react@19.2.0) + '@portabletext/plugin-typography': 4.0.7(@portabletext/editor@3.0.7(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rxjs@7.8.2))(@types/react@19.2.7)(react@19.2.0) '@portabletext/react': 5.0.0(react@19.2.0) '@portabletext/toolkit': 4.0.0 '@rexxars/react-json-inspector': 9.0.1(react@19.2.0) @@ -18201,30 +17830,30 @@ snapshots: '@sanity/cli': 4.18.0(@types/node@24.10.1)(react@19.2.0)(sass@1.94.2)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) '@sanity/client': 7.13.0(debug@4.4.3) '@sanity/color': 3.0.6 - '@sanity/comlink': 4.0.0 + '@sanity/comlink': 4.0.1 '@sanity/diff': 4.18.0 '@sanity/diff-match-patch': 3.2.0 '@sanity/diff-patch': 5.0.0 '@sanity/eventsource': 5.0.2 - '@sanity/export': 4.0.1(@types/react@19.2.6) + '@sanity/export': 4.0.1(@types/react@19.2.7) '@sanity/icons': 3.7.4(react@19.2.0) '@sanity/id-utils': 1.0.0 '@sanity/image-url': 1.2.0 - '@sanity/import': 3.38.3(@types/react@19.2.6) - '@sanity/insert-menu': 2.1.0(@emotion/is-prop-valid@1.2.2)(@sanity/types@4.18.0(@types/react@19.2.6))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) + '@sanity/import': 3.38.3(@types/react@19.2.7) + '@sanity/insert-menu': 2.1.0(@emotion/is-prop-valid@1.2.2)(@sanity/types@4.18.0(@types/react@19.2.7))(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) '@sanity/logos': 2.2.2(react@19.2.0) '@sanity/media-library-types': 1.0.1 '@sanity/message-protocol': 0.17.6 - '@sanity/migrate': 4.18.0(@types/react@19.2.6) - '@sanity/mutator': 4.18.0(@types/react@19.2.6) - '@sanity/presentation-comlink': 2.0.0(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.6)) - '@sanity/preview-url-secret': 2.1.16(@sanity/client@7.13.0)(@sanity/icons@3.7.4(react@19.2.0))(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.4(@sanity/schema@4.18.0(@types/react@19.2.6)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.6)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.6))(@types/react@19.2.6)(immer@10.2.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) - '@sanity/schema': 4.18.0(@types/react@19.2.6)(debug@4.4.3) - '@sanity/sdk': 2.1.2(@types/react@19.2.6)(debug@4.4.3)(immer@10.2.0)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) + '@sanity/migrate': 4.18.0(@types/react@19.2.7) + '@sanity/mutator': 4.18.0(@types/react@19.2.7) + '@sanity/presentation-comlink': 2.0.1(@sanity/client@7.13.0)(@sanity/types@4.18.0(@types/react@19.2.7)) + '@sanity/preview-url-secret': 2.1.16(@sanity/client@7.13.0)(@sanity/icons@3.7.4(react@19.2.0))(sanity@4.18.0(@emotion/is-prop-valid@1.2.2)(@portabletext/sanity-bridge@1.2.5(@sanity/schema@4.18.0(@types/react@19.2.7)(debug@4.4.3))(@sanity/types@4.18.0(@types/react@19.2.7)))(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(immer@11.0.0)(jiti@2.6.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.2)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) + '@sanity/schema': 4.18.0(@types/react@19.2.7)(debug@4.4.3) + '@sanity/sdk': 2.1.2(@types/react@19.2.7)(debug@4.4.3)(immer@11.0.0)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)) '@sanity/telemetry': 0.8.1(react@19.2.0) - '@sanity/types': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/types': 4.18.0(@types/react@19.2.7)(debug@4.4.3) '@sanity/ui': 3.1.11(@emotion/is-prop-valid@1.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@19.2.0)(react@19.2.0)(styled-components@6.1.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) - '@sanity/util': 4.18.0(@types/react@19.2.6)(debug@4.4.3) + '@sanity/util': 4.18.0(@types/react@19.2.7)(debug@4.4.3) '@sanity/uuid': 3.0.2 '@sentry/react': 8.55.0(react@19.2.0) '@tanstack/react-table': 8.21.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -18236,7 +17865,7 @@ snapshots: '@types/use-sync-external-store': 1.5.0 '@types/which': 3.0.4 '@vitejs/plugin-react': 4.7.0(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) - '@xstate/react': 6.0.0(@types/react@19.2.6)(react@19.2.0)(xstate@5.24.0) + '@xstate/react': 6.0.0(@types/react@19.2.7)(react@19.2.0)(xstate@5.24.0) archiver: 7.0.1 arrify: 2.0.1 async-mutex: 0.5.0 @@ -18263,7 +17892,7 @@ snapshots: import-fresh: 3.3.1 is-hotkey-esm: 1.0.0 is-tar: 1.0.0 - isomorphic-dompurify: 2.32.0 + isomorphic-dompurify: 2.33.0 jsdom: 26.1.0 jsdom-global: 3.0.2(jsdom@26.1.0) json-lexer: 1.2.0 @@ -18295,7 +17924,7 @@ snapshots: react-compiler-runtime: 1.0.0(react@19.2.0) react-dom: 19.2.0(react@19.2.0) react-fast-compare: 3.2.2 - react-focus-lock: 2.13.6(@types/react@19.2.6)(react@19.2.0) + react-focus-lock: 2.13.6(@types/react@19.2.7)(react@19.2.0) react-i18next: 15.6.1(i18next@23.16.8)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3) react-is: 19.2.0 react-refractor: 4.0.0(react@19.2.0) @@ -18368,8 +17997,6 @@ snapshots: '@parcel/watcher': 2.5.1 optional: true - sax@1.2.1: {} - sax@1.4.3: {} saxes@6.0.0: @@ -18578,8 +18205,6 @@ snapshots: split2@4.2.0: {} - spotify-audio-element@1.0.3: {} - sprintf-js@1.0.3: {} stackback@0.0.2: {} @@ -18725,8 +18350,6 @@ snapshots: s.color: 0.0.15 optional: true - super-media-element@1.4.2: {} - supports-color@10.2.2: {} supports-color@5.5.0: @@ -18832,8 +18455,6 @@ snapshots: dependencies: readable-stream: 3.6.2 - tiktok-video-element@0.1.1: {} - tiny-inflate@1.0.3: {} tiny-invariant@1.3.1: {} @@ -18859,19 +18480,17 @@ snapshots: tinyspy@4.0.4: {} - tlds@1.261.0: {} - tldts-core@6.1.86: {} - tldts-core@7.0.18: {} + tldts-core@7.0.19: {} tldts@6.1.86: dependencies: tldts-core: 6.1.86 - tldts@7.0.18: + tldts@7.0.19: dependencies: - tldts-core: 7.0.18 + tldts-core: 7.0.19 to-regex-range@5.0.1: dependencies: @@ -18887,7 +18506,7 @@ snapshots: tough-cookie@6.0.0: dependencies: - tldts: 7.0.18 + tldts: 7.0.19 tr46@5.1.1: dependencies: @@ -18907,8 +18526,6 @@ snapshots: ts-dedent@2.2.0: {} - ts-pattern@5.9.0: {} - tsconfck@3.1.6(typescript@5.9.3): optionalDependencies: typescript: 5.9.3 @@ -18929,8 +18546,6 @@ snapshots: tunnel@0.0.6: {} - twitch-video-element@0.1.5: {} - type-fest@0.18.1: {} type-fest@0.21.3: {} @@ -18941,8 +18556,6 @@ snapshots: type-fest@4.41.0: {} - typed-usa-states@2.1.0: {} - typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 @@ -18961,24 +18574,14 @@ snapshots: typescript@5.9.3: {} - ua-parser-js@1.0.41: {} - uc.micro@2.1.0: {} ufo@1.6.1: {} - uhyphen@0.2.0: {} - - uint8arrays@3.0.0: - dependencies: - multiformats: 9.9.0 - ultrahtml@1.6.0: {} uncrypto@0.1.3: {} - undici-types@5.26.5: {} - undici-types@7.16.0: {} undici@5.29.0: @@ -19073,13 +18676,6 @@ snapshots: '@types/unist': 3.0.3 unist-util-visit: 5.0.0 - unist-util-select@4.0.3: - dependencies: - '@types/unist': 2.0.11 - css-selector-parser: 1.4.1 - nth-check: 2.1.1 - zwitch: 2.0.4 - unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 @@ -19106,7 +18702,7 @@ snapshots: universal-user-agent@6.0.1: {} - unplugin@2.3.10: + unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 acorn: 8.15.0 @@ -19134,12 +18730,12 @@ snapshots: urlpattern-polyfill@10.1.0: {} - use-callback-ref@1.3.3(@types/react@19.2.6)(react@19.2.0): + use-callback-ref@1.3.3(@types/react@19.2.7)(react@19.2.0): dependencies: react: 19.2.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.6 + '@types/react': 19.2.7 use-device-pixel-ratio@1.1.2(react@19.2.0): dependencies: @@ -19153,19 +18749,19 @@ snapshots: dependencies: react: 19.2.0 - use-isomorphic-layout-effect@1.2.1(@types/react@19.2.6)(react@19.2.0): + use-isomorphic-layout-effect@1.2.1(@types/react@19.2.7)(react@19.2.0): dependencies: react: 19.2.0 optionalDependencies: - '@types/react': 19.2.6 + '@types/react': 19.2.7 - use-sidecar@1.1.3(@types/react@19.2.6)(react@19.2.0): + use-sidecar@1.1.3(@types/react@19.2.7)(react@19.2.0): dependencies: detect-node-es: 1.1.0 react: 19.2.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.6 + '@types/react': 19.2.7 use-sync-external-store@1.6.0(react@19.2.0): dependencies: @@ -19177,11 +18773,13 @@ snapshots: uuid@11.1.0: {} + uuid@13.0.0: {} + uuid@8.3.2: {} uuidv7@0.4.4: {} - valibot@1.1.0(typescript@5.9.3): + valibot@1.2.0(typescript@5.9.3): optionalDependencies: typescript: 5.9.3 @@ -19205,10 +18803,6 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vimeo-video-element@1.6.1: - dependencies: - '@vimeo/player': 2.29.0 - vite-tsconfig-paths@5.1.4(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)): dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -19256,19 +18850,19 @@ snapshots: optionalDependencies: vite: 6.4.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) - vitest@4.0.13(@types/debug@4.1.12)(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1): + vitest@4.0.14(@types/node@24.10.1)(jiti@2.6.1)(jsdom@26.1.0)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1): dependencies: - '@vitest/expect': 4.0.13 - '@vitest/mocker': 4.0.13(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) - '@vitest/pretty-format': 4.0.13 - '@vitest/runner': 4.0.13 - '@vitest/snapshot': 4.0.13 - '@vitest/spy': 4.0.13 - '@vitest/utils': 4.0.13 - debug: 4.4.3(supports-color@8.1.1) + '@vitest/expect': 4.0.14 + '@vitest/mocker': 4.0.14(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1)) + '@vitest/pretty-format': 4.0.14 + '@vitest/runner': 4.0.14 + '@vitest/snapshot': 4.0.14 + '@vitest/spy': 4.0.14 + '@vitest/utils': 4.0.14 es-module-lexer: 1.7.0 expect-type: 1.2.2 magic-string: 0.30.21 + obug: 2.1.1 pathe: 2.0.3 picomatch: 4.0.3 std-env: 3.10.0 @@ -19279,7 +18873,6 @@ snapshots: vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(sass@1.94.2)(terser@5.44.1)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/debug': 4.1.12 '@types/node': 24.10.1 jsdom: 26.1.0 transitivePeerDependencies: @@ -19291,52 +18884,51 @@ snapshots: - sass-embedded - stylus - sugarss - - supports-color - terser - tsx - yaml void-elements@3.1.0: {} - volar-service-css@0.0.66(@volar/language-service@2.4.23): + volar-service-css@0.0.66(@volar/language-service@2.4.26): dependencies: vscode-css-languageservice: 6.3.8 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.23 + '@volar/language-service': 2.4.26 - volar-service-emmet@0.0.66(@volar/language-service@2.4.23): + volar-service-emmet@0.0.66(@volar/language-service@2.4.26): dependencies: '@emmetio/css-parser': https://codeload.github.com/ramya-rao-a/css-parser/tar.gz/370c480ac103bd17c7bcfb34bf5d577dc40d3660 '@emmetio/html-matcher': 1.3.0 '@vscode/emmet-helper': 2.11.0 vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.23 + '@volar/language-service': 2.4.26 - volar-service-html@0.0.66(@volar/language-service@2.4.23): + volar-service-html@0.0.66(@volar/language-service@2.4.26): dependencies: vscode-html-languageservice: 5.6.0 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.23 + '@volar/language-service': 2.4.26 - volar-service-prettier@0.0.66(@volar/language-service@2.4.23)(prettier@3.6.2): + volar-service-prettier@0.0.66(@volar/language-service@2.4.26)(prettier@3.6.2): dependencies: vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.23 + '@volar/language-service': 2.4.26 prettier: 3.6.2 - volar-service-typescript-twoslash-queries@0.0.66(@volar/language-service@2.4.23): + volar-service-typescript-twoslash-queries@0.0.66(@volar/language-service@2.4.26): dependencies: vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.23 + '@volar/language-service': 2.4.26 - volar-service-typescript@0.0.66(@volar/language-service@2.4.23): + volar-service-typescript@0.0.66(@volar/language-service@2.4.26): dependencies: path-browserify: 1.0.1 semver: 7.7.3 @@ -19345,14 +18937,14 @@ snapshots: vscode-nls: 5.2.0 vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.23 + '@volar/language-service': 2.4.26 - volar-service-yaml@0.0.66(@volar/language-service@2.4.23): + volar-service-yaml@0.0.66(@volar/language-service@2.4.26): dependencies: vscode-uri: 3.1.0 yaml-language-server: 1.19.2 optionalDependencies: - '@volar/language-service': 2.4.23 + '@volar/language-service': 2.4.26 vscode-css-languageservice@6.3.8: dependencies: @@ -19409,8 +19001,6 @@ snapshots: dependencies: defaults: 1.0.4 - weakmap-polyfill@2.0.4: {} - web-namespaces@2.0.1: {} webidl-conversions@7.0.0: {} @@ -19498,10 +19088,6 @@ snapshots: dependencies: string-width: 7.2.0 - wistia-video-element@1.3.5: - dependencies: - super-media-element: 1.4.2 - wordwrap@1.0.0: {} workerd@1.20251105.0: @@ -19520,7 +19106,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20251118.0 '@cloudflare/workerd-windows-64': 1.20251118.0 - wrangler@4.46.0(@cloudflare/workers-types@4.20251121.0): + wrangler@4.46.0(@cloudflare/workers-types@4.20251126.0): dependencies: '@cloudflare/kv-asset-handler': 0.4.0 '@cloudflare/unenv-preset': 2.7.9(unenv@2.0.0-rc.24)(workerd@1.20251105.0) @@ -19531,13 +19117,13 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20251105.0 optionalDependencies: - '@cloudflare/workers-types': 4.20251121.0 + '@cloudflare/workers-types': 4.20251126.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil - utf-8-validate - wrangler@4.50.0(@cloudflare/workers-types@4.20251121.0): + wrangler@4.50.0(@cloudflare/workers-types@4.20251126.0): dependencies: '@cloudflare/kv-asset-handler': 0.4.0 '@cloudflare/unenv-preset': 2.7.11(unenv@2.0.0-rc.24)(workerd@1.20251118.0) @@ -19548,7 +19134,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20251118.0 optionalDependencies: - '@cloudflare/workers-types': 4.20251121.0 + '@cloudflare/workers-types': 4.20251126.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil @@ -19670,11 +19256,9 @@ snapshots: '@poppinss/colors': 4.1.5 '@poppinss/dumper': 0.6.5 '@speed-highlight/core': 1.2.12 - cookie: 1.0.2 + cookie: 1.1.0 youch-core: 0.3.3 - youtube-video-element@1.8.0: {} - zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 @@ -19694,10 +19278,10 @@ snapshots: zod@3.25.76: {} - zustand@5.0.8(@types/react@19.2.6)(immer@10.2.0)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)): + zustand@5.0.8(@types/react@19.2.7)(immer@11.0.0)(react@19.2.0)(use-sync-external-store@1.6.0(react@19.2.0)): optionalDependencies: - '@types/react': 19.2.6 - immer: 10.2.0 + '@types/react': 19.2.7 + immer: 11.0.0 react: 19.2.0 use-sync-external-store: 1.6.0(react@19.2.0) diff --git a/src/components/Footer.astro b/src/components/Footer.astro index a26652dc..c3532a6a 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -1,6 +1,6 @@ --- import { RiHeart3Line } from "@remixicon/react"; -import siteInfo from "~/constants/site-info"; +import siteInfo from "@/constants/site-info"; import Logo from "./Logo.astro"; import Subscribe from "./Subscribe.astro"; diff --git a/src/components/Header.astro b/src/components/Header.astro index 383e231b..7fb1f8ca 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -1,5 +1,5 @@ --- -import siteInfo from "~/constants/site-info"; +import siteInfo from "@/constants/site-info"; import Logo from "./Logo.astro"; const { urls } = siteInfo; diff --git a/src/components/PageHeader.astro b/src/components/PageHeader.astro index 2627cdee..d77a04e5 100644 --- a/src/components/PageHeader.astro +++ b/src/components/PageHeader.astro @@ -2,7 +2,7 @@ import dayjs from "dayjs"; import utc from "dayjs/plugin/utc"; import type { RoughAnnotationType } from "rough-notation/lib/model"; -import { smartquotes } from "~/utils/smartquotes"; +import { smartquotes } from "@/utils/smartquotes"; dayjs.extend(utc); @@ -33,7 +33,7 @@ const { title, date, description, annotation = "circle" } = Astro.props; - + diff --git a/src/layouts/ProseLayout.astro b/src/layouts/ProseLayout.astro index 1a6e660d..1ff4a73a 100644 --- a/src/layouts/ProseLayout.astro +++ b/src/layouts/ProseLayout.astro @@ -1,10 +1,10 @@ --- import type { SanityAssetDocument } from "@sanity/client"; import type { RoughAnnotationType } from "rough-notation/lib/model"; -import PageHeader from "~/components/PageHeader.astro"; -import type { NamesakeColor } from "~/constants/colors"; -import { urlForImage } from "~/sanity/lib/urlForImage"; -import { smartquotes } from "~/utils/smartquotes"; +import PageHeader from "@/components/PageHeader.astro"; +import type { NamesakeColor } from "@/constants/colors"; +import { urlForImage } from "@/sanity/lib/urlForImage"; +import { smartquotes } from "@/utils/smartquotes"; import BaseLayout from "./BaseLayout.astro"; interface Props { diff --git a/src/pages/404.astro b/src/pages/404.astro index ec20d135..12cfa195 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -1,7 +1,7 @@ --- export const prerender = true; -import BaseLayout from "~/layouts/BaseLayout.astro"; +import BaseLayout from "@/layouts/BaseLayout.astro"; --- diff --git a/src/pages/brand-assets/index.astro b/src/pages/brand-assets/index.astro index b6d1ed80..f735d185 100644 --- a/src/pages/brand-assets/index.astro +++ b/src/pages/brand-assets/index.astro @@ -2,8 +2,8 @@ export const prerender = true; import { RiDownloadLine } from "@remixicon/react"; -import PageHeader from "~/components/PageHeader.astro"; -import BaseLayout from "~/layouts/BaseLayout.astro"; +import PageHeader from "@/components/PageHeader.astro"; +import BaseLayout from "@/layouts/BaseLayout.astro"; import BrandAssetCard from "./_components/BrandAssetCard.astro"; import Swatches from "./_components/Swatches.astro"; --- diff --git a/src/forms/ma-court-order/MaCourtOrderForm.tsx b/src/pages/forms/court-order-ma/_Form.tsx similarity index 51% rename from src/forms/ma-court-order/MaCourtOrderForm.tsx rename to src/pages/forms/court-order-ma/_Form.tsx index 087f8495..d7b1cd27 100644 --- a/src/forms/ma-court-order/MaCourtOrderForm.tsx +++ b/src/pages/forms/court-order-ma/_Form.tsx @@ -2,23 +2,23 @@ import { useForm } from "react-hook-form"; import { FormContainer, type Step, -} from "../../components/react/forms/FormContainer"; -import { BirthplaceStep } from "./steps/BirthplaceStep"; -import { ContactInfoStep } from "./steps/ContactInfoStep"; -import { CurrentNameStep } from "./steps/CurrentNameStep"; -import { DateOfBirthStep } from "./steps/DateOfBirthStep"; -import { FeeWaiverStep } from "./steps/FeeWaiverStep"; -import { ImpoundCaseStep } from "./steps/ImpoundCaseStep"; -import { InterpreterStep } from "./steps/InterpreterStep"; -import { MothersMaidenNameStep } from "./steps/MothersMaidenNameStep"; -import { NewNameStep } from "./steps/NewNameStep"; -import { OtherNamesStep } from "./steps/OtherNamesStep"; -import { PreviousNameChangeStep } from "./steps/PreviousNameChangeStep"; -import { PronounsStep } from "./steps/PronounsStep"; -import { ReasonStep } from "./steps/ReasonStep"; -import { ResidentialAddressStep } from "./steps/ResidentialAddressStep"; -import { ReturnDocumentsStep } from "./steps/ReturnDocumentsStep"; -import { WaivePublicationStep } from "./steps/WaivePublicationStep"; +} from "@/components/react/forms/FormContainer"; +import { BirthplaceStep } from "./_steps/BirthplaceStep"; +import { ContactInfoStep } from "./_steps/ContactInfoStep"; +import { CurrentNameStep } from "./_steps/CurrentNameStep"; +import { DateOfBirthStep } from "./_steps/DateOfBirthStep"; +import { FeeWaiverStep } from "./_steps/FeeWaiverStep"; +import { ImpoundCaseStep } from "./_steps/ImpoundCaseStep"; +import { InterpreterStep } from "./_steps/InterpreterStep"; +import { MothersMaidenNameStep } from "./_steps/MothersMaidenNameStep"; +import { NewNameStep } from "./_steps/NewNameStep"; +import { OtherNamesStep } from "./_steps/OtherNamesStep"; +import { PreviousNameChangeStep } from "./_steps/PreviousNameChangeStep"; +import { PronounsStep } from "./_steps/PronounsStep"; +import { ReasonStep } from "./_steps/ReasonStep"; +import { ResidentialAddressStep } from "./_steps/ResidentialAddressStep"; +import { ReturnDocumentsStep } from "./_steps/ReturnDocumentsStep"; +import { WaivePublicationStep } from "./_steps/WaivePublicationStep"; const STEPS: readonly Step[] = [ { id: "new-name", component: NewNameStep }, @@ -39,17 +39,13 @@ const STEPS: readonly Step[] = [ { id: "mothers-maiden-name", component: MothersMaidenNameStep }, ]; -export interface MaCourtOrderFormProps { - /** Form title from Sanity (optional, falls back to default) */ - title?: string; - /** Form description from Sanity (optional, falls back to default) */ - description?: string; -} - export function MaCourtOrderForm({ - title = "Massachusetts Court Order", - description = "File for a court-ordered name change in Massachusetts. This is the first step in the legal name change process.", -}: MaCourtOrderFormProps = {}) { + title, + description, +}: { + title: string; + description: string; +}) { const form = useForm({ defaultValues: { // TODO: Add form field defaults here diff --git a/src/pages/forms/court-order-ma/_steps/BirthplaceStep.tsx b/src/pages/forms/court-order-ma/_steps/BirthplaceStep.tsx new file mode 100644 index 00000000..cef0a676 --- /dev/null +++ b/src/pages/forms/court-order-ma/_steps/BirthplaceStep.tsx @@ -0,0 +1,10 @@ +import { FormStep } from "@/components/react/forms/FormStep"; + +export function BirthplaceStep() { + return ( + + {/* TODO: Add ComboBoxField components here */} +

Form fields will go here...

+
+ ); +} diff --git a/src/forms/ma-court-order/steps/ContactInfoStep.tsx b/src/pages/forms/court-order-ma/_steps/ContactInfoStep.tsx similarity index 57% rename from src/forms/ma-court-order/steps/ContactInfoStep.tsx rename to src/pages/forms/court-order-ma/_steps/ContactInfoStep.tsx index 01750e10..5e654985 100644 --- a/src/forms/ma-court-order/steps/ContactInfoStep.tsx +++ b/src/pages/forms/court-order-ma/_steps/ContactInfoStep.tsx @@ -1,7 +1,6 @@ -import type { StepComponentProps } from "../../../components/react/forms/FormContainer"; -import { FormStep } from "../../../components/react/forms/FormStep"; +import { FormStep } from "@/components/react/forms/FormStep"; -export function ContactInfoStep(_props: StepComponentProps) { +export function ContactInfoStep() { return ( + {/* TODO: Add MemorableDateField component here */} +

Form fields will go here...

+
+ ); +} diff --git a/src/forms/ma-court-order/steps/FeeWaiverStep.tsx b/src/pages/forms/court-order-ma/_steps/FeeWaiverStep.tsx similarity index 63% rename from src/forms/ma-court-order/steps/FeeWaiverStep.tsx rename to src/pages/forms/court-order-ma/_steps/FeeWaiverStep.tsx index 207cafd7..1cb6640f 100644 --- a/src/forms/ma-court-order/steps/FeeWaiverStep.tsx +++ b/src/pages/forms/court-order-ma/_steps/FeeWaiverStep.tsx @@ -1,7 +1,6 @@ -import type { StepComponentProps } from "../../../components/react/forms/FormContainer"; -import { FormStep } from "../../../components/react/forms/FormStep"; +import { FormStep } from "@/components/react/forms/FormStep"; -export function FeeWaiverStep(_props: StepComponentProps) { +export function FeeWaiverStep() { return ( + {/* TODO: Add YesNoField and conditional subsection */} +

Form fields will go here...

+
+ ); +} diff --git a/src/forms/ma-court-order/steps/PronounsStep.tsx b/src/pages/forms/court-order-ma/_steps/PronounsStep.tsx similarity index 51% rename from src/forms/ma-court-order/steps/PronounsStep.tsx rename to src/pages/forms/court-order-ma/_steps/PronounsStep.tsx index 7ecad417..e7a70146 100644 --- a/src/forms/ma-court-order/steps/PronounsStep.tsx +++ b/src/pages/forms/court-order-ma/_steps/PronounsStep.tsx @@ -1,7 +1,6 @@ -import type { StepComponentProps } from "../../../components/react/forms/FormContainer"; -import { FormStep } from "../../../components/react/forms/FormStep"; +import { FormStep } from "@/components/react/forms/FormStep"; -export function PronounsStep(_props: StepComponentProps) { +export function PronounsStep() { return ( {/* TODO: Add YesNoField and conditional PronounSelectField */} diff --git a/src/pages/forms/court-order-ma/_steps/ReasonStep.tsx b/src/pages/forms/court-order-ma/_steps/ReasonStep.tsx new file mode 100644 index 00000000..7fdb6e31 --- /dev/null +++ b/src/pages/forms/court-order-ma/_steps/ReasonStep.tsx @@ -0,0 +1,10 @@ +import { FormStep } from "@/components/react/forms/FormStep"; + +export function ReasonStep() { + return ( + + {/* TODO: Add LongTextField and Banner components here */} +

Form fields will go here...

+
+ ); +} diff --git a/src/forms/ma-court-order/steps/ResidentialAddressStep.tsx b/src/pages/forms/court-order-ma/_steps/ResidentialAddressStep.tsx similarity index 59% rename from src/forms/ma-court-order/steps/ResidentialAddressStep.tsx rename to src/pages/forms/court-order-ma/_steps/ResidentialAddressStep.tsx index d41fe8a6..e1c75629 100644 --- a/src/forms/ma-court-order/steps/ResidentialAddressStep.tsx +++ b/src/pages/forms/court-order-ma/_steps/ResidentialAddressStep.tsx @@ -1,7 +1,6 @@ -import type { StepComponentProps } from "../../../components/react/forms/FormContainer"; -import { FormStep } from "../../../components/react/forms/FormStep"; +import { FormStep } from "@/components/react/forms/FormStep"; -export function ResidentialAddressStep(_props: StepComponentProps) { +export function ResidentialAddressStep() { return ( + {/* TODO: Add YesNoField and conditional Banner */} +

Form fields will go here...

+
+ ); +} diff --git a/src/forms/ma-court-order/steps/WaivePublicationStep.tsx b/src/pages/forms/court-order-ma/_steps/WaivePublicationStep.tsx similarity index 51% rename from src/forms/ma-court-order/steps/WaivePublicationStep.tsx rename to src/pages/forms/court-order-ma/_steps/WaivePublicationStep.tsx index e99c5004..d0012bc2 100644 --- a/src/forms/ma-court-order/steps/WaivePublicationStep.tsx +++ b/src/pages/forms/court-order-ma/_steps/WaivePublicationStep.tsx @@ -1,10 +1,9 @@ -import type { StepComponentProps } from "../../../components/react/forms/FormContainer"; -import { FormStep } from "../../../components/react/forms/FormStep"; +import { FormStep } from "@/components/react/forms/FormStep"; -export function WaivePublicationStep(_props: StepComponentProps) { +export function WaivePublicationStep() { return ( {/* TODO: Add YesNoField, conditional LongTextField and Banner */} diff --git a/src/pages/forms/[slug].astro b/src/pages/forms/court-order-ma/index.astro similarity index 68% rename from src/pages/forms/[slug].astro rename to src/pages/forms/court-order-ma/index.astro index 3f58fa20..12fcf2e2 100644 --- a/src/pages/forms/[slug].astro +++ b/src/pages/forms/court-order-ma/index.astro @@ -3,36 +3,29 @@ import type { SanityDocument } from "@sanity/client"; import dayjs from "dayjs"; import localizedFormat from "dayjs/plugin/localizedFormat"; import utc from "dayjs/plugin/utc"; -import { FormRenderer } from "~/components/react/forms/FormRenderer/FormRenderer"; -import BaseLayout from "~/layouts/BaseLayout.astro"; -import { loadQuery } from "~/sanity/lib/loadQuery"; +import BaseLayout from "@/layouts/BaseLayout.astro"; +import { loadQuery } from "@/sanity/lib/loadQuery"; +import { MaCourtOrderForm } from "./_Form"; dayjs.extend(utc); dayjs.extend(localizedFormat); -const { slug } = Astro.params; - -if (!slug) return Astro.redirect("/404"); - const { data: form } = await loadQuery({ query: `*[_type == "form" && slug.current == $slug][0]`, params: { - slug, + slug: "court-order-ma", }, }); - -if (!form) return Astro.redirect("/404"); --- -
- Form last edited on {" "} + Form last revised on {" "} . diff --git a/src/pages/forms/index.astro b/src/pages/forms/index.astro index a7e37f8d..a41249a7 100644 --- a/src/pages/forms/index.astro +++ b/src/pages/forms/index.astro @@ -1,8 +1,8 @@ --- import type { SanityDocument } from "@sanity/client"; -import PageHeader from "~/components/PageHeader.astro"; -import BaseLayout from "~/layouts/BaseLayout.astro"; -import { loadQuery } from "~/sanity/lib/loadQuery"; +import PageHeader from "@/components/PageHeader.astro"; +import BaseLayout from "@/layouts/BaseLayout.astro"; +import { loadQuery } from "@/sanity/lib/loadQuery"; const { params } = Astro.props; diff --git a/src/pages/forms/social-security/_Form.tsx b/src/pages/forms/social-security/_Form.tsx new file mode 100644 index 00000000..8c3cdcd4 --- /dev/null +++ b/src/pages/forms/social-security/_Form.tsx @@ -0,0 +1,136 @@ +import type { FormEvent } from "react"; +import { + FormContainer, + type Step, +} from "@/components/react/forms/FormContainer"; +import type { FieldName, FieldType } from "@/constants/fields"; +import { downloadMergedPdf } from "@/pdfs/utils/downloadMergedPdf"; +import { loadPdfs } from "@/pdfs/utils/loadPdfs"; +import { useForm } from "@/utils/useForm"; +import { AddressStep } from "./_steps/AddressStep"; +import { BirthplaceStep } from "./_steps/BirthplaceStep"; +import { CitizenshipStep } from "./_steps/CitizenshipStep"; +import { DateOfBirthStep } from "./_steps/DateOfBirthStep"; +import { EthnicityStep } from "./_steps/EthnicityStep"; +import { FilingForSomeoneElseStep } from "./_steps/FilingForSomeoneElseStep"; +import { NewNameStep } from "./_steps/NewNameStep"; +import { OldNameStep } from "./_steps/OldNameStep"; +import { ParentOneNameStep } from "./_steps/ParentOneNameStep"; +import { ParentTwoNameStep } from "./_steps/ParentTwoNameStep"; +import { PhoneNumberStep } from "./_steps/PhoneNumberStep"; +import { PreviousNamesStep } from "./_steps/PreviousNamesStep"; +import { PreviousSocialSecurityCardStep } from "./_steps/PreviousSocialSecurityCardStep"; +import { RaceStep } from "./_steps/RaceStep"; +import { SexStep } from "./_steps/SexStep"; + +const FORM_FIELDS: FieldName[] = [ + "newFirstName", + "newMiddleName", + "newLastName", + "oldFirstName", + "oldMiddleName", + "oldLastName", + "previousLegalNames", + "birthplaceCity", + "birthplaceState", + "birthplaceCountry", + "dateOfBirth", + "citizenshipStatus", + "isHispanicOrLatino", + "race", + "sexAssignedAtBirth", + "mothersFirstName", + "mothersMiddleName", + "mothersLastName", + "fathersFirstName", + "fathersMiddleName", + "fathersLastName", + "hasPreviousSocialSecurityCard", + "previousSocialSecurityCardFirstName", + "previousSocialSecurityCardMiddleName", + "previousSocialSecurityCardLastName", + "isCurrentlyUnhoused", + "isFilingForSomeoneElse", + "relationshipToFilingFor", + "relationshipToFilingForOther", +] as const; + +type FormData = { + [K in (typeof FORM_FIELDS)[number]]: FieldType; +}; + +const STEPS: readonly Step[] = [ + { id: "new-name", component: NewNameStep }, + { id: "old-name", component: OldNameStep }, + { id: "previous-names", component: PreviousNamesStep }, + { id: "birthplace", component: BirthplaceStep }, + { id: "date-of-birth", component: DateOfBirthStep }, + { id: "citizenship", component: CitizenshipStep }, + { id: "ethnicity", component: EthnicityStep }, + { id: "race", component: RaceStep }, + { id: "sex", component: SexStep }, + { id: "parent-one", component: ParentOneNameStep }, + { id: "parent-two", component: ParentTwoNameStep }, + { + id: "previous-social-security-card", + component: PreviousSocialSecurityCardStep, + }, + { id: "phone-number", component: PhoneNumberStep }, + { id: "address", component: AddressStep }, + { id: "filing-for-someone-else", component: FilingForSomeoneElseStep }, +]; + +export function SocialSecurityForm({ + title, + description, +}: { + title: string; + description: string; +}) { + const { onSubmit, ...form } = useForm(FORM_FIELDS); + + const handleSubmit = async (event: FormEvent) => { + event.preventDefault(); + + try { + const pdfs = await loadPdfs([ + { pdfId: "ss5-application-for-social-security-card" }, + ]); + + await downloadMergedPdf({ + title: "Social Security Card", + instructions: [ + "Please review all documents carefully.", + "Fill in your social security number—for security, Namesake never asks for this.", + "Make an Appointment with a Social Security Administration Office.", + "Remember to bring certified copies of your completed court order, along with other required supporting documents.", + form.watch("citizenshipStatus") === "legalAlienNotAllowedToWork" || + form.watch("citizenshipStatus") === "other" + ? "You must provide a document from a U.S. Federal, State, or local government agency that explains why you need a Social Security number and that you meet all the requirements for the government benefit." + : "", + ], + pdfs, + userData: form.getValues(), + }); + + // Save form to user documents + // await saveDocuments({ pdfIds: pdfs.map((pdf) => pdf.id) }); + + // Save encrypted responses + await onSubmit(); + } catch (_error) { + // TODO: Error handling + console.error(_error); + } + }; + + return ( + + ); +} diff --git a/src/pages/forms/social-security/_steps/AddressStep.tsx b/src/pages/forms/social-security/_steps/AddressStep.tsx new file mode 100644 index 00000000..219058df --- /dev/null +++ b/src/pages/forms/social-security/_steps/AddressStep.tsx @@ -0,0 +1,10 @@ +import { AddressField } from "@/components/react/forms/AddressField"; +import { FormStep } from "@/components/react/forms/FormStep"; + +export function AddressStep() { + return ( + + + + ); +} diff --git a/src/pages/forms/social-security/_steps/BirthplaceStep.tsx b/src/pages/forms/social-security/_steps/BirthplaceStep.tsx new file mode 100644 index 00000000..d5f09f06 --- /dev/null +++ b/src/pages/forms/social-security/_steps/BirthplaceStep.tsx @@ -0,0 +1,34 @@ +import { ComboBoxField } from "@/components/react/forms/ComboBoxField"; +import { FormStep } from "@/components/react/forms/FormStep"; +import { ShortTextField } from "@/components/react/forms/ShortTextField"; +import { COUNTRIES } from "@/constants/countries"; +import { BIRTHPLACES } from "@/constants/jurisdictions"; + +export function BirthplaceStep() { + return ( + + + ({ + label, + value, + }))} + /> + value !== "US") + .map(([value, label]) => ({ + label, + value, + }))} + /> + {/* TODO: Add conditional ComboBoxField for birthplaceState when country is US */} + + ); +} diff --git a/src/pages/forms/social-security/_steps/CitizenshipStep.tsx b/src/pages/forms/social-security/_steps/CitizenshipStep.tsx new file mode 100644 index 00000000..bd206b1f --- /dev/null +++ b/src/pages/forms/social-security/_steps/CitizenshipStep.tsx @@ -0,0 +1,32 @@ +import { FormStep } from "@/components/react/forms/FormStep"; +import { RadioGroupField } from "@/components/react/forms/RadioGroupField"; + +export function CitizenshipStep() { + return ( + + + {/* TODO: Add conditional Banner for legalAlienNotAllowedToWork and other */} + + ); +} diff --git a/src/pages/forms/social-security/_steps/DateOfBirthStep.tsx b/src/pages/forms/social-security/_steps/DateOfBirthStep.tsx new file mode 100644 index 00000000..4eed08ff --- /dev/null +++ b/src/pages/forms/social-security/_steps/DateOfBirthStep.tsx @@ -0,0 +1,10 @@ +import { FormStep } from "@/components/react/forms/FormStep"; +import { MemorableDateField } from "@/components/react/forms/MemorableDateField"; + +export function DateOfBirthStep() { + return ( + + + + ); +} diff --git a/src/pages/forms/social-security/_steps/EthnicityStep.tsx b/src/pages/forms/social-security/_steps/EthnicityStep.tsx new file mode 100644 index 00000000..67f861e9 --- /dev/null +++ b/src/pages/forms/social-security/_steps/EthnicityStep.tsx @@ -0,0 +1,24 @@ +import { Banner } from "@/components/react/common/Banner"; +import { FormStep } from "@/components/react/forms/FormStep"; +import { YesNoField } from "@/components/react/forms/YesNoField"; + +export function EthnicityStep() { + return ( + + + + The Social Security Administration requests this information for + research and statistical purposes. + + + ); +} diff --git a/src/forms/social-security/steps/FilingForSomeoneElseStep.tsx b/src/pages/forms/social-security/_steps/FilingForSomeoneElseStep.tsx similarity index 57% rename from src/forms/social-security/steps/FilingForSomeoneElseStep.tsx rename to src/pages/forms/social-security/_steps/FilingForSomeoneElseStep.tsx index 2da5fcbe..621a713e 100644 --- a/src/forms/social-security/steps/FilingForSomeoneElseStep.tsx +++ b/src/pages/forms/social-security/_steps/FilingForSomeoneElseStep.tsx @@ -1,10 +1,16 @@ -import type { StepComponentProps } from "../../../components/react/forms/FormContainer"; -import { FormStep } from "../../../components/react/forms/FormStep"; +import { FormStep } from "@/components/react/forms/FormStep"; +import { YesNoField } from "@/components/react/forms/YesNoField"; -export function FilingForSomeoneElseStep(_props: StepComponentProps) { +export function FilingForSomeoneElseStep() { return ( - {/* TODO: Add YesNoField for isFilingForSomeoneElse */} + {/* TODO: Add conditional subsection if isFilingForSomeoneElse is true */} {/* Subsection: "What is your relationship to the person you are filing for?" */} {/* TODO: Add RadioGroupField for relationshipToFilingFor */} diff --git a/src/pages/forms/social-security/_steps/NewNameStep.tsx b/src/pages/forms/social-security/_steps/NewNameStep.tsx new file mode 100644 index 00000000..28937857 --- /dev/null +++ b/src/pages/forms/social-security/_steps/NewNameStep.tsx @@ -0,0 +1,13 @@ +import { FormStep } from "@/components/react/forms/FormStep"; +import { NameField } from "@/components/react/forms/NameField"; + +export function NewNameStep() { + return ( + + + + ); +} diff --git a/src/pages/forms/social-security/_steps/OldNameStep.tsx b/src/pages/forms/social-security/_steps/OldNameStep.tsx new file mode 100644 index 00000000..510b1d15 --- /dev/null +++ b/src/pages/forms/social-security/_steps/OldNameStep.tsx @@ -0,0 +1,13 @@ +import { FormStep } from "@/components/react/forms/FormStep"; +import { NameField } from "@/components/react/forms/NameField"; + +export function OldNameStep() { + return ( + + + + ); +} diff --git a/src/pages/forms/social-security/_steps/ParentOneNameStep.tsx b/src/pages/forms/social-security/_steps/ParentOneNameStep.tsx new file mode 100644 index 00000000..8f2850f7 --- /dev/null +++ b/src/pages/forms/social-security/_steps/ParentOneNameStep.tsx @@ -0,0 +1,15 @@ +import { Banner } from "@/components/react/common/Banner"; +import { FormStep } from "@/components/react/forms/FormStep"; +import { NameField } from "@/components/react/forms/NameField"; + +export function ParentOneNameStep() { + return ( + + + + Use your parent's name at their birth, before marriage. This is also + known as a maiden name. + + + ); +} diff --git a/src/pages/forms/social-security/_steps/ParentTwoNameStep.tsx b/src/pages/forms/social-security/_steps/ParentTwoNameStep.tsx new file mode 100644 index 00000000..6e5c3c65 --- /dev/null +++ b/src/pages/forms/social-security/_steps/ParentTwoNameStep.tsx @@ -0,0 +1,10 @@ +import { FormStep } from "@/components/react/forms/FormStep"; +import { NameField } from "@/components/react/forms/NameField"; + +export function ParentTwoNameStep() { + return ( + + + + ); +} diff --git a/src/pages/forms/social-security/_steps/PhoneNumberStep.tsx b/src/pages/forms/social-security/_steps/PhoneNumberStep.tsx new file mode 100644 index 00000000..283d2001 --- /dev/null +++ b/src/pages/forms/social-security/_steps/PhoneNumberStep.tsx @@ -0,0 +1,10 @@ +import { FormStep } from "@/components/react/forms/FormStep"; +import { PhoneField } from "@/components/react/forms/PhoneField"; + +export function PhoneNumberStep() { + return ( + + + + ); +} diff --git a/src/pages/forms/social-security/_steps/PreviousNamesStep.tsx b/src/pages/forms/social-security/_steps/PreviousNamesStep.tsx new file mode 100644 index 00000000..e740974d --- /dev/null +++ b/src/pages/forms/social-security/_steps/PreviousNamesStep.tsx @@ -0,0 +1,10 @@ +import { FormStep } from "@/components/react/forms/FormStep"; +import { LongTextField } from "@/components/react/forms/LongTextField"; + +export function PreviousNamesStep() { + return ( + + + + ); +} diff --git a/src/pages/forms/social-security/_steps/PreviousSocialSecurityCardStep.tsx b/src/pages/forms/social-security/_steps/PreviousSocialSecurityCardStep.tsx new file mode 100644 index 00000000..69a8bac0 --- /dev/null +++ b/src/pages/forms/social-security/_steps/PreviousSocialSecurityCardStep.tsx @@ -0,0 +1,22 @@ +import { FormStep } from "@/components/react/forms/FormStep"; +import { YesNoField } from "@/components/react/forms/YesNoField"; + +export function PreviousSocialSecurityCardStep() { + return ( + + + {/* TODO: Add conditional subsection if hasPreviousSocialSecurityCard is true */} + {/* Subsection: "What is the name shown on your most recent Social Security card?" */} + {/* TODO: Add NameField for previousSocialSecurityCardName */} + + ); +} diff --git a/src/pages/forms/social-security/_steps/RaceStep.tsx b/src/pages/forms/social-security/_steps/RaceStep.tsx new file mode 100644 index 00000000..85029140 --- /dev/null +++ b/src/pages/forms/social-security/_steps/RaceStep.tsx @@ -0,0 +1,52 @@ +import { Banner } from "@/components/react/common/Banner"; +import { CheckboxGroupField } from "@/components/react/forms/CheckboxGroupField"; +import { FormStep } from "@/components/react/forms/FormStep"; + +export function RaceStep() { + return ( + + + + The Social Security Administration requests this information for + research and statistical purposes. + + + ); +} diff --git a/src/pages/forms/social-security/_steps/SexStep.tsx b/src/pages/forms/social-security/_steps/SexStep.tsx new file mode 100644 index 00000000..df5b52c6 --- /dev/null +++ b/src/pages/forms/social-security/_steps/SexStep.tsx @@ -0,0 +1,57 @@ +import { Banner } from "@/components/react/common/Banner"; +import { FormStep } from "@/components/react/forms/FormStep"; +import { RadioGroupField } from "@/components/react/forms/RadioGroupField"; + +export function SexStep() { + return ( + + + +

+ + Namesake recommends selecting the same gender marker that the Social + Security Administration already has on file. + {" "} + The gender marker is not shown on your Social Security card. +

+

+ As of January 20, 2025, the Trump administration has directed the + Social Security Administration to{" "} + + stop processing gender marker updates + {" "} + associated with social security records. Per{" "} + + Lambda Legal + + , if you apply for a gender marker change with Social Security now, + you will likely be told that they cannot process your request. +

+
+
+ ); +} diff --git a/src/pages/forms/social-security/index.astro b/src/pages/forms/social-security/index.astro new file mode 100644 index 00000000..bf8cd8d5 --- /dev/null +++ b/src/pages/forms/social-security/index.astro @@ -0,0 +1,42 @@ +--- +import type { SanityDocument } from "@sanity/client"; +import dayjs from "dayjs"; +import localizedFormat from "dayjs/plugin/localizedFormat"; +import utc from "dayjs/plugin/utc"; +import BaseLayout from "@/layouts/BaseLayout.astro"; +import { loadQuery } from "@/sanity/lib/loadQuery"; +import { SocialSecurityForm } from "./_Form"; + +dayjs.extend(utc); +dayjs.extend(localizedFormat); + +const { data: form } = await loadQuery({ + query: `*[_type == "form" && slug.current == $slug][0]`, + params: { + slug: "social-security", + }, +}); +--- + + + +
+ Form last revised on {" "} + . +
+
+ + diff --git a/src/pages/guides/[slug].astro b/src/pages/guides/[slug].astro index 80cc2d67..02a1911f 100644 --- a/src/pages/guides/[slug].astro +++ b/src/pages/guides/[slug].astro @@ -3,11 +3,11 @@ import type { SanityDocument } from "@sanity/client"; import dayjs from "dayjs"; import localizedFormat from "dayjs/plugin/localizedFormat"; import utc from "dayjs/plugin/utc"; -import TableOfContents from "~/components/TableOfContents.astro"; -import PortableText from "~/components/text/PortableText.astro"; -import ProseLayout from "~/layouts/ProseLayout.astro"; -import { extractHeadings } from "~/sanity/lib/extractHeadings"; -import { loadQuery } from "~/sanity/lib/loadQuery"; +import TableOfContents from "@/components/TableOfContents.astro"; +import PortableText from "@/components/text/PortableText.astro"; +import ProseLayout from "@/layouts/ProseLayout.astro"; +import { extractHeadings } from "@/sanity/lib/extractHeadings"; +import { loadQuery } from "@/sanity/lib/loadQuery"; dayjs.extend(utc); dayjs.extend(localizedFormat); diff --git a/src/pages/guides/index.astro b/src/pages/guides/index.astro index 215b23eb..0e1f0d40 100644 --- a/src/pages/guides/index.astro +++ b/src/pages/guides/index.astro @@ -1,8 +1,8 @@ --- import type { SanityDocument } from "@sanity/client"; -import PageHeader from "~/components/PageHeader.astro"; -import BaseLayout from "~/layouts/BaseLayout.astro"; -import { loadQuery } from "~/sanity/lib/loadQuery"; +import PageHeader from "@/components/PageHeader.astro"; +import BaseLayout from "@/layouts/BaseLayout.astro"; +import { loadQuery } from "@/sanity/lib/loadQuery"; const { params } = Astro.props; diff --git a/src/pages/index.astro b/src/pages/index.astro index 86245f96..1f1c65a8 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -4,13 +4,13 @@ export const prerender = true; import { Image } from "astro:assets"; import { RiArrowRightLine } from "@remixicon/react"; import type { SanityDocument } from "@sanity/client"; -import Partners from "~/components/Partners.astro"; -import SupportMap from "~/components/SupportMap.astro"; -import PortableText from "~/components/text/PortableText.astro"; -import siteInfo from "~/constants/site-info"; -import BaseLayout from "~/layouts/BaseLayout.astro"; -import heroIllustration from "~/pages/home/_hero-form.png"; -import { loadQuery } from "~/sanity/lib/loadQuery"; +import Partners from "@/components/Partners.astro"; +import SupportMap from "@/components/SupportMap.astro"; +import PortableText from "@/components/text/PortableText.astro"; +import siteInfo from "@/constants/site-info"; +import BaseLayout from "@/layouts/BaseLayout.astro"; +import heroIllustration from "@/pages/home/_hero-form.png"; +import { loadQuery } from "@/sanity/lib/loadQuery"; // Fetch the home page from Sanity (slug: "index" or empty slug for home) const { data: page } = await loadQuery({ @@ -85,6 +85,7 @@ if (!page) return Astro.redirect("/404"); display: flex; flex-direction: column; align-items: center; + padding-block: var(--space-2xl); } @keyframes slideInUp { diff --git a/src/pages/press.astro b/src/pages/press.astro index 14aed6e4..2bd01f7d 100644 --- a/src/pages/press.astro +++ b/src/pages/press.astro @@ -1,9 +1,9 @@ --- import type { SanityDocument } from "@sanity/client"; -import ArticleLink from "~/components/ArticleLink.astro"; -import PageHeader from "~/components/PageHeader.astro"; -import BaseLayout from "~/layouts/BaseLayout.astro"; -import { loadQuery } from "~/sanity/lib/loadQuery"; +import ArticleLink from "@/components/ArticleLink.astro"; +import PageHeader from "@/components/PageHeader.astro"; +import BaseLayout from "@/layouts/BaseLayout.astro"; +import { loadQuery } from "@/sanity/lib/loadQuery"; const { params } = Astro.props; diff --git a/src/pages/privacy.astro b/src/pages/privacy.astro index ee7a52ec..3664497a 100644 --- a/src/pages/privacy.astro +++ b/src/pages/privacy.astro @@ -1,7 +1,7 @@ --- import { getEntry, render } from "astro:content"; -import TableOfContents from "~/components/TableOfContents.astro"; -import ProseLayout from "~/layouts/ProseLayout.astro"; +import TableOfContents from "@/components/TableOfContents.astro"; +import ProseLayout from "@/layouts/ProseLayout.astro"; const entry = await getEntry("policy", "privacy"); if (entry === undefined) return Astro.redirect("/404"); diff --git a/src/pages/subprocessors.astro b/src/pages/subprocessors.astro index bb90ca67..1a016dac 100644 --- a/src/pages/subprocessors.astro +++ b/src/pages/subprocessors.astro @@ -1,7 +1,7 @@ --- import { getEntry, render } from "astro:content"; -import TableOfContents from "~/components/TableOfContents.astro"; -import ProseLayout from "~/layouts/ProseLayout.astro"; +import TableOfContents from "@/components/TableOfContents.astro"; +import ProseLayout from "@/layouts/ProseLayout.astro"; const entry = await getEntry("policy", "subprocessors"); if (entry === undefined) return Astro.redirect("/404"); diff --git a/src/pages/terms.astro b/src/pages/terms.astro index 1c7c2217..b2fbbffa 100644 --- a/src/pages/terms.astro +++ b/src/pages/terms.astro @@ -1,7 +1,7 @@ --- import { getEntry, render } from "astro:content"; -import TableOfContents from "~/components/TableOfContents.astro"; -import ProseLayout from "~/layouts/ProseLayout.astro"; +import TableOfContents from "@/components/TableOfContents.astro"; +import ProseLayout from "@/layouts/ProseLayout.astro"; const entry = await getEntry("policy", "terms"); if (entry === undefined) return Astro.redirect("/404"); diff --git a/src/pdfs/README.md b/src/pdfs/README.md index 9fbd1f12..16f3b565 100644 --- a/src/pdfs/README.md +++ b/src/pdfs/README.md @@ -16,7 +16,7 @@ Each `.pdf` file should be accompanied by a `.ts` definition of the same name co ```ts // cjp27-petition-to-change-name-of-adult.ts -import { definePdf } from "~/utils/pdf"; +import { definePdf } from "@/utils/pdf"; import pdf from "./cjp27-petition-to-change-name-of-adult.pdf"; export default definePdf({ diff --git a/src/pdfs/federal/__tests__/ss5-application-for-social-security-card.test.ts b/src/pdfs/federal/__tests__/ss5-application-for-social-security-card.test.ts index 1ca4b8e2..61b450f5 100644 --- a/src/pdfs/federal/__tests__/ss5-application-for-social-security-card.test.ts +++ b/src/pdfs/federal/__tests__/ss5-application-for-social-security-card.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { getPdfForm } from "../../utils"; +import { getPdfForm } from "@/pdfs/utils/getPdfForm"; import ss5Application from "../ss5-application-for-social-security-card"; describe("SS-5 Application for Social Security Card", () => { diff --git a/src/pdfs/federal/ss5-application-for-social-security-card.ts b/src/pdfs/federal/ss5-application-for-social-security-card.ts index b7644f2e..163b9f94 100644 --- a/src/pdfs/federal/ss5-application-for-social-security-card.ts +++ b/src/pdfs/federal/ss5-application-for-social-security-card.ts @@ -1,6 +1,6 @@ -import { definePdf } from "~/pdfs/utils"; -import { formatBirthplaceStateOrCountry } from "~/utils/formatBirthplaceStateOrCountry"; -import { formatDateMMDDYYYY } from "~/utils/formatDateMMDDYYYY"; +import { definePdf } from "@/pdfs/utils/definePdf"; +import { formatBirthplaceStateOrCountry } from "@/utils/formatBirthplaceStateOrCountry"; +import { formatDateMMDDYYYY } from "@/utils/formatDateMMDDYYYY"; import pdf from "./ss5-application-for-social-security-card.pdf"; export default definePdf({ diff --git a/src/pdfs/index.ts b/src/pdfs/index.ts index 9649c9b3..a0b1f0aa 100644 --- a/src/pdfs/index.ts +++ b/src/pdfs/index.ts @@ -1,4 +1,4 @@ -import type { PDFDefinition, PDFId } from "~/constants/forms"; +import type { PDFDefinition, PDFId } from "@/constants/forms"; export async function getPdfDefinition(pdfId: PDFId) { const pdfModules = import.meta.glob("/src/forms/*/!(*.test|utils).ts", { diff --git a/src/pdfs/ma/__tests__/affidavit-of-indigency.test.ts b/src/pdfs/ma/__tests__/affidavit-of-indigency.test.ts index c83f2345..ba5165ef 100644 --- a/src/pdfs/ma/__tests__/affidavit-of-indigency.test.ts +++ b/src/pdfs/ma/__tests__/affidavit-of-indigency.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { getPdfForm } from "../../utils"; +import { getPdfForm } from "@/pdfs/utils/getPdfForm"; import affidavitOfIndigency from "../affidavit-of-indigency"; describe("Affidavit of Indigency", () => { diff --git a/src/pdfs/ma/__tests__/cjd400-motion-to-impound.test.ts b/src/pdfs/ma/__tests__/cjd400-motion-to-impound.test.ts index d631bb8c..a2c6c25a 100644 --- a/src/pdfs/ma/__tests__/cjd400-motion-to-impound.test.ts +++ b/src/pdfs/ma/__tests__/cjd400-motion-to-impound.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { getPdfForm } from "../../utils"; +import { getPdfForm } from "@/pdfs/utils/getPdfForm"; import motionToImpoundRecords from "../cjd400-motion-to-impound"; describe("CJD400 Motion to Impound Records", () => { diff --git a/src/pdfs/ma/__tests__/cjd400-motion-to-waive-publication.test.ts b/src/pdfs/ma/__tests__/cjd400-motion-to-waive-publication.test.ts index e1a09780..949de630 100644 --- a/src/pdfs/ma/__tests__/cjd400-motion-to-waive-publication.test.ts +++ b/src/pdfs/ma/__tests__/cjd400-motion-to-waive-publication.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { getPdfForm } from "../../utils"; +import { getPdfForm } from "@/pdfs/utils/getPdfForm"; import motionToWaivePublication from "../cjd400-motion-to-waive-publication"; describe("CJD400 Motion to Waive Publication", () => { diff --git a/src/pdfs/ma/__tests__/cjp27-petition-to-change-name-of-adult.test.ts b/src/pdfs/ma/__tests__/cjp27-petition-to-change-name-of-adult.test.ts index e69b66a1..fd7d0f03 100644 --- a/src/pdfs/ma/__tests__/cjp27-petition-to-change-name-of-adult.test.ts +++ b/src/pdfs/ma/__tests__/cjp27-petition-to-change-name-of-adult.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { getPdfForm } from "../../utils"; +import { getPdfForm } from "@/pdfs/utils/getPdfForm"; import petitionToChangeNameOfAdult from "../cjp27-petition-to-change-name-of-adult"; describe("CJP27 Petition to Change Name of Adult", () => { diff --git a/src/pdfs/ma/__tests__/cjp34-cori-and-wms-release-request.test.ts b/src/pdfs/ma/__tests__/cjp34-cori-and-wms-release-request.test.ts index 9e70cf8f..2f9a6a91 100644 --- a/src/pdfs/ma/__tests__/cjp34-cori-and-wms-release-request.test.ts +++ b/src/pdfs/ma/__tests__/cjp34-cori-and-wms-release-request.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { getPdfForm } from "../../utils"; +import { getPdfForm } from "@/pdfs/utils/getPdfForm"; import coriAndWmsReleaseRequest from "../cjp34-cori-and-wms-release-request"; describe("CJP34 CORI and WMS Release Request", () => { diff --git a/src/pdfs/ma/affidavit-of-indigency.ts b/src/pdfs/ma/affidavit-of-indigency.ts index 8c7387ac..1a133e7d 100644 --- a/src/pdfs/ma/affidavit-of-indigency.ts +++ b/src/pdfs/ma/affidavit-of-indigency.ts @@ -1,5 +1,5 @@ -import { definePdf } from "~/pdfs/utils"; -import { joinNames } from "~/utils/joinNames"; +import { definePdf } from "@/pdfs/utils/definePdf"; +import { joinNames } from "@/utils/joinNames"; import pdf from "./affidavit-of-indigency.pdf"; export default definePdf({ diff --git a/src/pdfs/ma/cjd400-motion-to-impound.ts b/src/pdfs/ma/cjd400-motion-to-impound.ts index 57ad83b5..a1105747 100644 --- a/src/pdfs/ma/cjd400-motion-to-impound.ts +++ b/src/pdfs/ma/cjd400-motion-to-impound.ts @@ -1,5 +1,5 @@ -import { definePdf } from "~/pdfs/utils"; -import { joinNames } from "~/utils/joinNames"; +import { definePdf } from "@/pdfs/utils/definePdf"; +import { joinNames } from "@/utils/joinNames"; import pdf from "./cjd400-motion-to-waive-publication.pdf"; export default definePdf({ diff --git a/src/pdfs/ma/cjd400-motion-to-waive-publication.ts b/src/pdfs/ma/cjd400-motion-to-waive-publication.ts index 300964ff..66f8c196 100644 --- a/src/pdfs/ma/cjd400-motion-to-waive-publication.ts +++ b/src/pdfs/ma/cjd400-motion-to-waive-publication.ts @@ -1,5 +1,5 @@ -import { definePdf } from "~/pdfs/utils"; -import { joinNames } from "~/utils/joinNames"; +import { definePdf } from "@/pdfs/utils/definePdf"; +import { joinNames } from "@/utils/joinNames"; import pdf from "./cjd400-motion-to-waive-publication.pdf"; export default definePdf({ diff --git a/src/pdfs/ma/cjp27-petition-to-change-name-of-adult.ts b/src/pdfs/ma/cjp27-petition-to-change-name-of-adult.ts index a89ca945..8ea9404b 100644 --- a/src/pdfs/ma/cjp27-petition-to-change-name-of-adult.ts +++ b/src/pdfs/ma/cjp27-petition-to-change-name-of-adult.ts @@ -1,7 +1,7 @@ import languageNameMap from "language-name-map/map"; -import { definePdf } from "~/pdfs/utils"; -import { formatDateMMDDYYYY } from "~/utils/formatDateMMDDYYYY"; -import { joinPronouns } from "~/utils/joinPronouns"; +import { definePdf } from "@/pdfs/utils/definePdf"; +import { formatDateMMDDYYYY } from "@/utils/formatDateMMDDYYYY"; +import { joinPronouns } from "@/utils/joinPronouns"; import pdf from "./cjp27-petition-to-change-name-of-adult.pdf"; export default definePdf({ diff --git a/src/pdfs/ma/cjp34-cori-and-wms-release-request.ts b/src/pdfs/ma/cjp34-cori-and-wms-release-request.ts index 28ebfcff..60af537b 100644 --- a/src/pdfs/ma/cjp34-cori-and-wms-release-request.ts +++ b/src/pdfs/ma/cjp34-cori-and-wms-release-request.ts @@ -1,6 +1,6 @@ -import { definePdf } from "~/pdfs/utils"; -import { formatDateMMDDYYYY } from "~/utils/formatDateMMDDYYYY"; -import { joinNames } from "~/utils/joinNames"; +import { definePdf } from "@/pdfs/utils/definePdf"; +import { formatDateMMDDYYYY } from "@/utils/formatDateMMDDYYYY"; +import { joinNames } from "@/utils/joinNames"; import pdf from "./cjp34-cori-and-wms-release-request.pdf"; export default definePdf({ diff --git a/src/pdfs/utils/__tests__/loadPdfs.test.ts b/src/pdfs/utils/__tests__/loadPdfs.test.ts index aae22919..29f042f3 100644 --- a/src/pdfs/utils/__tests__/loadPdfs.test.ts +++ b/src/pdfs/utils/__tests__/loadPdfs.test.ts @@ -1,11 +1,11 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; import { loadPdfs } from "../loadPdfs"; -vi.mock("~/pdfs", () => ({ +vi.mock("@/pdfs", () => ({ getPdfDefinition: vi.fn(), })); -import { getPdfDefinition } from "~/pdfs"; +import { getPdfDefinition } from "@/pdfs"; describe("loadPdfs", () => { beforeEach(() => { diff --git a/src/pdfs/utils/createCoverPage.ts b/src/pdfs/utils/createCoverPage.ts index 795f2e25..2c4ebe33 100644 --- a/src/pdfs/utils/createCoverPage.ts +++ b/src/pdfs/utils/createCoverPage.ts @@ -1,4 +1,4 @@ -import { smartquotes } from "~/utils/smartquotes"; +import { smartquotes } from "@/utils/smartquotes"; import { loadPdfLib } from "./loadPdfLib"; /** diff --git a/src/pdfs/utils/definePdf.ts b/src/pdfs/utils/definePdf.ts index 7177843c..dcdf99e1 100644 --- a/src/pdfs/utils/definePdf.ts +++ b/src/pdfs/utils/definePdf.ts @@ -1,4 +1,4 @@ -import type { PDFDefinition } from "~/constants/forms"; +import type { PDFDefinition } from "@/constants/forms"; /** * Define a PDF form. diff --git a/src/pdfs/utils/downloadMergedPdf.ts b/src/pdfs/utils/downloadMergedPdf.ts index ac740a74..4e571cfb 100644 --- a/src/pdfs/utils/downloadMergedPdf.ts +++ b/src/pdfs/utils/downloadMergedPdf.ts @@ -1,5 +1,5 @@ -import type { FormData } from "~/constants/fields"; -import type { PDFDefinition } from "~/constants/forms"; +import type { FormData } from "@/constants/fields"; +import type { PDFDefinition } from "@/constants/forms"; import { createCoverPage } from "./createCoverPage"; import { downloadPdf } from "./downloadPdf"; import { fillPdf } from "./fillPdf"; diff --git a/src/pdfs/utils/fillPdf.ts b/src/pdfs/utils/fillPdf.ts index 003185f2..5ed802bc 100644 --- a/src/pdfs/utils/fillPdf.ts +++ b/src/pdfs/utils/fillPdf.ts @@ -1,5 +1,5 @@ -import type { FormData } from "~/constants/fields"; -import type { PDFDefinition } from "~/constants/forms"; +import type { FormData } from "@/constants/fields"; +import type { PDFDefinition } from "@/constants/forms"; import { fetchPdf } from "./fetchPdf"; import { loadPdfLib } from "./loadPdfLib"; diff --git a/src/pdfs/utils/getPdfForm.ts b/src/pdfs/utils/getPdfForm.ts index 13c6f7e1..c89d216e 100644 --- a/src/pdfs/utils/getPdfForm.ts +++ b/src/pdfs/utils/getPdfForm.ts @@ -1,5 +1,5 @@ -import type { FormData } from "~/constants/fields"; -import type { PDFDefinition } from "~/constants/forms"; +import type { FormData } from "@/constants/fields"; +import type { PDFDefinition } from "@/constants/forms"; import { fillPdf } from "./fillPdf"; import { loadPdfLib } from "./loadPdfLib"; diff --git a/src/pdfs/utils/index.ts b/src/pdfs/utils/index.ts deleted file mode 100644 index 16a3b947..00000000 --- a/src/pdfs/utils/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export { createCoverPage } from "./createCoverPage"; -export { definePdf } from "./definePdf"; -export { downloadMergedPdf } from "./downloadMergedPdf"; -export { downloadPdf } from "./downloadPdf"; -export { fetchPdf } from "./fetchPdf"; -export { fillPdf } from "./fillPdf"; -export { getPdfForm } from "./getPdfForm"; -export { loadPdfLib } from "./loadPdfLib"; -export { loadPdfs } from "./loadPdfs"; diff --git a/src/pdfs/utils/loadPdfs.ts b/src/pdfs/utils/loadPdfs.ts index 43d4b8a6..58dc89c6 100644 --- a/src/pdfs/utils/loadPdfs.ts +++ b/src/pdfs/utils/loadPdfs.ts @@ -1,5 +1,5 @@ -import type { PDFId } from "~/constants/forms"; -import { getPdfDefinition } from "~/pdfs"; +import type { PDFId } from "@/constants/forms"; +import { getPdfDefinition } from "@/pdfs"; /** * Load multiple PDFs. diff --git a/src/sanity/components/YouTubeInput.tsx b/src/sanity/components/YouTubeInput.tsx index 0cc0f5f6..77ae50b1 100644 --- a/src/sanity/components/YouTubeInput.tsx +++ b/src/sanity/components/YouTubeInput.tsx @@ -1,33 +1,10 @@ import { Box, Card, Flex, Text } from "@sanity/ui"; import { useEffect, useState } from "react"; import type { StringInputProps } from "sanity"; - -export interface YouTubeOEmbedResponse { - title: string; - author_name: string; - thumbnail_url: string; -} - -export async function fetchYouTubeVideoDetails( - url: string, -): Promise { - try { - const encodedUrl = encodeURIComponent(url); - const response = await fetch( - `https://www.youtube.com/oembed?url=${encodedUrl}&format=json`, - ); - - if (!response.ok) { - return null; - } - - const data: YouTubeOEmbedResponse = await response.json(); - - return data; - } catch { - return null; - } -} +import { + fetchYouTubeVideoDetails, + type YouTubeOEmbedResponse, +} from "../../utils/fetchYouTubeVideoDetails"; export function YouTubeInput(props: StringInputProps) { const { value } = props; diff --git a/src/sanity/components/YouTubePreview.tsx b/src/sanity/components/YouTubePreview.tsx index 43aaeb60..0bd57888 100644 --- a/src/sanity/components/YouTubePreview.tsx +++ b/src/sanity/components/YouTubePreview.tsx @@ -1,17 +1,14 @@ -import { Flex, Text } from "@sanity/ui"; -import ReactPlayer from "react-player"; +import { Text } from "@sanity/ui"; +import { YouTube } from "../../components/react/common/YouTube"; +import "react-lite-youtube-embed/dist/LiteYouTubeEmbed.css"; import type { PreviewProps } from "sanity"; export function YouTubePreview(props: PreviewProps) { const { title: url } = props; - return ( - - {typeof url === "string" ? ( - - ) : ( - Add a YouTube URL - )} - + return typeof url === "string" ? ( + + ) : ( + Add a YouTube URL ); } diff --git a/src/sanity/schema/formType.ts b/src/sanity/schema/formType.ts index b2810eb1..3967929a 100644 --- a/src/sanity/schema/formType.ts +++ b/src/sanity/schema/formType.ts @@ -1,6 +1,5 @@ import { OlistIcon } from "@sanity/icons"; import { defineField, defineType } from "sanity"; -import { FORM_REGISTRY_METADATA } from "../../forms/formRegistry"; export const formType = defineType({ name: "form", @@ -23,18 +22,16 @@ export const formType = defineType({ type: "string", }), defineField({ - name: "componentId", - title: "Form Component", + name: "slug", + title: "Slug", + type: "slug", description: - "The React component that powers this form's interactive functionality", - type: "string", + "The URL path for this form (e.g., 'social-security' for /forms/social-security). Must match an existing form page.", + validation: (Rule) => Rule.required(), options: { - list: FORM_REGISTRY_METADATA.map(({ id, title }) => ({ - title, - value: id, - })), + source: "title", + maxLength: 96, }, - validation: (Rule) => Rule.required(), }), defineField({ name: "state", @@ -49,18 +46,6 @@ export const formType = defineType({ to: [{ type: "category" }], validation: (Rule) => Rule.required(), }), - defineField({ - name: "slug", - title: "Slug", - type: "slug", - description: - "The URL path for this form (e.g., 'court-order-ma' for /forms/court-order-ma)", - validation: (Rule) => Rule.required(), - options: { - source: "title", - maxLength: 96, - }, - }), ], preview: { select: { diff --git a/src/styles/base.css b/src/styles/base.css index 38631fed..8a761d31 100644 --- a/src/styles/base.css +++ b/src/styles/base.css @@ -66,7 +66,7 @@ body[data-color="brown"]::after { main { flex: 1; - padding: var(--space-2xl) var(--space-l); + padding-inline: var(--space-l); min-width: 0; width: 100%; max-width: 1200px; diff --git a/src/styles/theme.css b/src/styles/theme.css index 6a439cd0..4d430e2a 100644 --- a/src/styles/theme.css +++ b/src/styles/theme.css @@ -74,8 +74,11 @@ --link-color: var(--namesake-black); --border-color: var(--namesake-black); --border-color-disabled: color-mix(in srgb, var(--namesake-black) 35%, transparent); - --field-background: var(--background-color); --field-text-color: var(--namesake-black); +} + +body { + --field-background: var(--background-color); --overlay-background: var(--background-color); --button-background: var(--background-color); --highlight-background: var(--namesake-black); diff --git a/src/utils/__tests__/formatBirthplaceStateOrCountry.test.ts b/src/utils/__tests__/formatBirthplaceStateOrCountry.test.ts index c7cc769c..a8f7226d 100644 --- a/src/utils/__tests__/formatBirthplaceStateOrCountry.test.ts +++ b/src/utils/__tests__/formatBirthplaceStateOrCountry.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { COUNTRIES } from "~/constants/countries"; -import { BIRTHPLACES } from "~/constants/jurisdictions"; +import { COUNTRIES } from "@/constants/countries"; +import { BIRTHPLACES } from "@/constants/jurisdictions"; import { formatBirthplaceStateOrCountry } from "../formatBirthplaceStateOrCountry"; describe("formatBirthplaceStateOrCountry", () => { diff --git a/src/utils/__tests__/formatTimeEstimate.test.ts b/src/utils/__tests__/formatTimeEstimate.test.ts index 9fe8cfdb..afe22751 100644 --- a/src/utils/__tests__/formatTimeEstimate.test.ts +++ b/src/utils/__tests__/formatTimeEstimate.test.ts @@ -3,28 +3,28 @@ import { formatTimeEstimate } from "../formatTimeEstimate"; describe("formatTimeEstimate", () => { it("formats time estimate range with default values", () => { - expect(formatTimeEstimate(5)).toBe("1–5 minutes"); // 5*0.2=1 to 5*1=5 - expect(formatTimeEstimate(3)).toBe("1–3 minutes"); // 3*0.2=0.6→1 to 3*1=3 + expect(formatTimeEstimate(5)).toBe("2–4 minutes"); + expect(formatTimeEstimate(3)).toBe("1–3 minutes"); }); it("formats time estimate for a single step", () => { - expect(formatTimeEstimate(1)).toBe("1 minute"); // 1*0.2=0.2→1, 1*1=1, same so single value + expect(formatTimeEstimate(1)).toBe("1 minute"); }); it("shows single value when min equals max", () => { expect(formatTimeEstimate(5, 2, 2)).toBe("10 minutes"); expect(formatTimeEstimate(1, 1, 1)).toBe("1 minute"); - expect(formatTimeEstimate(3, 1.5, 1.5)).toBe("5 minutes"); // 3 * 1.5 = 4.5, rounds up to 5 + expect(formatTimeEstimate(3, 1.5, 1.5)).toBe("5 minutes"); }); it("uses singular 'minute' for exactly one minute when min equals max", () => { expect(formatTimeEstimate(1, 0.5, 0.5)).toBe("1 minute"); - expect(formatTimeEstimate(2, 0.4, 0.4)).toBe("1 minute"); // 2 * 0.4 = 0.8, rounds up to 1 + expect(formatTimeEstimate(2, 0.4, 0.4)).toBe("1 minute"); }); it("rounds up fractional minutes for both min and max", () => { - expect(formatTimeEstimate(3, 1.1, 2.1)).toBe("4–7 minutes"); // 3*1.1=3.3→4, 3*2.1=6.3→7 - expect(formatTimeEstimate(5, 0.5, 1.5)).toBe("3–8 minutes"); // 5*0.5=2.5→3, 5*1.5=7.5→8 + expect(formatTimeEstimate(3, 1.1, 2.1)).toBe("4–7 minutes"); + expect(formatTimeEstimate(5, 0.5, 1.5)).toBe("3–8 minutes"); }); it("accepts custom min and max minutes per step", () => { @@ -34,17 +34,12 @@ describe("formatTimeEstimate", () => { }); it("handles zero steps", () => { - expect(formatTimeEstimate(0)).toBe("0 minutes"); // 0*0.2=0, 0*1=0, same so single value - }); - - it("handles large numbers of steps", () => { - expect(formatTimeEstimate(20)).toBe("4–20 minutes"); // 20*0.2=4, 20*1=20 - expect(formatTimeEstimate(50, 1, 2)).toBe("50–100 minutes"); + expect(formatTimeEstimate(0)).toBe("0 minutes"); }); it("handles cases where rounding makes min equal max", () => { // Edge case: if both round to the same value, show single value - expect(formatTimeEstimate(1, 1.4, 1.5)).toBe("2 minutes"); // 1.4→2, 1.5→2 + expect(formatTimeEstimate(1, 1.4, 1.5)).toBe("2 minutes"); }); it("uses en dash (not hyphen) in range", () => { diff --git a/src/utils/fetchYouTubeVideoDetails.ts b/src/utils/fetchYouTubeVideoDetails.ts new file mode 100644 index 00000000..46b92338 --- /dev/null +++ b/src/utils/fetchYouTubeVideoDetails.ts @@ -0,0 +1,26 @@ +export interface YouTubeOEmbedResponse { + title: string; + author_name: string; + thumbnail_url: string; +} + +export async function fetchYouTubeVideoDetails( + url: string, +): Promise { + try { + const encodedUrl = encodeURIComponent(url); + const response = await fetch( + `https://www.youtube.com/oembed?url=${encodedUrl}&format=json`, + ); + + if (!response.ok) { + return null; + } + + const data: YouTubeOEmbedResponse = await response.json(); + + return data; + } catch { + return null; + } +} diff --git a/src/utils/formatBirthplaceStateOrCountry.ts b/src/utils/formatBirthplaceStateOrCountry.ts index 19390af5..c4b27d75 100644 --- a/src/utils/formatBirthplaceStateOrCountry.ts +++ b/src/utils/formatBirthplaceStateOrCountry.ts @@ -1,5 +1,5 @@ -import { COUNTRIES } from "~/constants/countries"; -import { BIRTHPLACES } from "~/constants/jurisdictions"; +import { COUNTRIES } from "@/constants/countries"; +import { BIRTHPLACES } from "@/constants/jurisdictions"; export const formatBirthplaceStateOrCountry = ( birthplaceState?: string, diff --git a/src/utils/formatTimeEstimate.ts b/src/utils/formatTimeEstimate.ts index 77dcad3b..fb3d51fc 100644 --- a/src/utils/formatTimeEstimate.ts +++ b/src/utils/formatTimeEstimate.ts @@ -7,8 +7,8 @@ */ export function formatTimeEstimate( steps: number, - minMinutesPerStep = 0.2, - maxMinutesPerStep = 1, + minMinutesPerStep = 0.3, + maxMinutesPerStep = 0.75, ): string { const minMinutes = Math.ceil(steps * minMinutesPerStep); const maxMinutes = Math.ceil(steps * maxMinutesPerStep); diff --git a/src/utils/useForm.ts b/src/utils/useForm.ts new file mode 100644 index 00000000..bd70137c --- /dev/null +++ b/src/utils/useForm.ts @@ -0,0 +1,90 @@ +// import { api } from "@convex/_generated/api"; +// import { useMutation, useQuery } from "convex/react"; +// import { usePostHog } from "posthog-js/react"; +import { useMemo, useState } from "react"; +import { + type FieldValues, + type UseFormProps, + useForm as useReactHookForm, +} from "react-hook-form"; +import type { FieldName } from "@/constants/fields"; +// import { toast } from "sonner"; +// import { useEncryptionKey } from "@/hooks/useEncryptionKey"; +// import { decryptData, encryptData } from "@/utils/encryption"; + +export function useForm( + fields: FieldName[], + options?: Omit, "values" | "defaultValues">, +) { + // const posthog = usePostHog(); + const [isSubmitting, setIsSubmitting] = useState(false); + // const encryptionKey = useEncryptionKey(); + + const _fieldsList = useMemo(() => fields as string[], [fields]); + + // const encryptedResponses = useQuery(api.userFormResponses.getByFields, { + // fields: fieldsList, + // }); + + // const save = useMutation(api.userFormResponses.set); + + const form = useReactHookForm({ + mode: "onBlur", + ...options, + }); + + // useEffect(() => { + // if (!encryptedResponses?.length || !encryptionKey || isSubmitting) return; + + // Promise.all( + // encryptedResponses.map(async (response) => { + // try { + // const value = await decryptData(response.value, encryptionKey); + // form.setValue( + // response.field as Path, + // value as PathValue>, + // { + // shouldDirty: false, + // }, + // ); + // } catch (error) { + // posthog.captureException(error); + // } + // }), + // ); + // }, [encryptedResponses, encryptionKey, isSubmitting]); + + const onSubmit = form.handleSubmit(async (_data) => { + try { + // if (!encryptionKey) { + // throw new Error("No encryption key available."); + // } + + setIsSubmitting(true); + + // const entries = Object.entries(data).filter( + // ([_, value]) => value !== "" && value !== null && value !== undefined, + // ); + + // for (const [field, value] of entries) { + // const encryptedValue = await encryptData(value, encryptionKey); + // await save({ field, value: encryptedValue }); + // } + } catch (_error) { + // posthog.captureException(error); + // toast.error( + // error instanceof Error + // ? error.message + // : "An error occurred during submission. Please try again.", + // ); + } finally { + setIsSubmitting(false); + } + }); + + return { + ...form, + onSubmit, + isSubmitting, + }; +} diff --git a/stats.html b/stats.html new file mode 100644 index 00000000..db7ca4a8 --- /dev/null +++ b/stats.html @@ -0,0 +1,4949 @@ + + + + + + + + Rollup Visualizer + + + +
+ + + + + diff --git a/tsconfig.json b/tsconfig.json index 3295dfb4..aa847a96 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "astro/tsconfigs/strict", "compilerOptions": { + "allowJs": true, "baseUrl": ".", "paths": { - "~/*": ["./src/*"] + "@/*": ["./src/*"] }, "jsx": "react-jsx", "jsxImportSource": "react", diff --git a/worker-configuration.d.ts b/worker-configuration.d.ts index ca7fd813..a698857c 100644 --- a/worker-configuration.d.ts +++ b/worker-configuration.d.ts @@ -1,7 +1,10 @@ /* eslint-disable */ -// Generated by Wrangler by running `wrangler types` (hash: 187132f48ddf0f604882ba8213fe386f) -// Runtime types generated with workerd@1.20251105.0 2025-10-22 nodejs_compat +// Generated by Wrangler by running `wrangler types` (hash: 9d50a76cdc759facba0bb43994cbf977) +// Runtime types generated with workerd@1.20251118.0 2025-10-22 global_fetch_strictly_public,nodejs_compat declare namespace Cloudflare { + interface GlobalProps { + mainModule: typeof import("./dist/_worker.js/index"); + } interface Env { ASSETS: Fetcher; } @@ -451,7 +454,7 @@ interface StructuredSerializeOptions { transfer?: any[]; } declare abstract class Navigator { - sendBeacon(url: string, body?: (ReadableStream | string | (ArrayBuffer | ArrayBufferView) | Blob | FormData | URLSearchParams | URLSearchParams)): boolean; + sendBeacon(url: string, body?: BodyInit): boolean; readonly userAgent: string; readonly hardwareConcurrency: number; readonly language: string; @@ -3188,6 +3191,7 @@ interface ContainerStartupOptions { entrypoint?: string[]; enableInternet: boolean; env?: Record; + hardTimeout?: (number | bigint); } /** * The **`MessagePort`** interface of the Channel Messaging API represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other. @@ -6763,20 +6767,8 @@ declare abstract class Ai { } ? ReadableStream : AiModelList[Name]["postProcessedOutputs"]>; models(params?: AiModelsSearchParams): Promise; toMarkdown(): ToMarkdownService; - toMarkdown(files: { - name: string; - blob: Blob; - }[], options?: { - gateway?: GatewayOptions; - extraHeaders?: object; - }): Promise; - toMarkdown(files: { - name: string; - blob: Blob; - }, options?: { - gateway?: GatewayOptions; - extraHeaders?: object; - }): Promise; + toMarkdown(files: MarkdownDocument[], options?: ConversionRequestOptions): Promise; + toMarkdown(files: MarkdownDocument, options?: ConversionRequestOptions): Promise; } type GatewayRetries = { maxAttempts?: 1 | 2 | 3 | 4 | 5; @@ -8428,21 +8420,22 @@ declare namespace CloudflareWorkersModule { protected ctx: ExecutionContext; protected env: Env; constructor(ctx: ExecutionContext, env: Env); + email?(message: ForwardableEmailMessage): void | Promise; fetch?(request: Request): Response | Promise; + queue?(batch: MessageBatch): void | Promise; + scheduled?(controller: ScheduledController): void | Promise; tail?(events: TraceItem[]): void | Promise; tailStream?(event: TailStream.TailEvent): TailStream.TailEventHandlerType | Promise; - trace?(traces: TraceItem[]): void | Promise; - scheduled?(controller: ScheduledController): void | Promise; - queue?(batch: MessageBatch): void | Promise; test?(controller: TestController): void | Promise; + trace?(traces: TraceItem[]): void | Promise; } export abstract class DurableObject implements Rpc.DurableObjectBranded { [Rpc.__DURABLE_OBJECT_BRAND]: never; protected ctx: DurableObjectState; protected env: Env; constructor(ctx: DurableObjectState, env: Env); - fetch?(request: Request): Response | Promise; alarm?(alarmInfo?: AlarmInvocationInfo): void | Promise; + fetch?(request: Request): Response | Promise; webSocketMessage?(ws: WebSocket, message: string | ArrayBuffer): void | Promise; webSocketClose?(ws: WebSocket, code: number, reason: string, wasClean: boolean): void | Promise; webSocketError?(ws: WebSocket, error: unknown): void | Promise; @@ -8505,36 +8498,56 @@ declare module "cloudflare:sockets" { function _connect(address: string | SocketAddress, options?: SocketOptions): Socket; export { _connect as connect }; } +type MarkdownDocument = { + name: string; + blob: Blob; +}; type ConversionResponse = { name: string; mimeType: string; -} & ({ - format: "markdown"; + format: 'markdown'; tokens: number; data: string; } | { - format: "error"; + name: string; + mimeType: string; + format: 'error'; error: string; -}); +}; +type ImageConversionOptions = { + descriptionLanguage?: 'en' | 'es' | 'fr' | 'it' | 'pt' | 'de'; +}; +type EmbeddedImageConversionOptions = ImageConversionOptions & { + convert?: boolean; + maxConvertedImages?: number; +}; +type ConversionOptions = { + html?: { + images?: EmbeddedImageConversionOptions & { + convertOGImage?: boolean; + }; + }; + docx?: { + images?: EmbeddedImageConversionOptions; + }; + image?: ImageConversionOptions; + pdf?: { + images?: EmbeddedImageConversionOptions; + metadata?: boolean; + }; +}; +type ConversionRequestOptions = { + gateway?: GatewayOptions; + extraHeaders?: object; + conversionOptions?: ConversionOptions; +}; type SupportedFileFormat = { mimeType: string; extension: string; }; declare abstract class ToMarkdownService { - transform(files: { - name: string; - blob: Blob; - }[], options?: { - gateway?: GatewayOptions; - extraHeaders?: object; - }): Promise; - transform(files: { - name: string; - blob: Blob; - }, options?: { - gateway?: GatewayOptions; - extraHeaders?: object; - }): Promise; + transform(files: MarkdownDocument[], options?: ConversionRequestOptions): Promise; + transform(files: MarkdownDocument, options?: ConversionRequestOptions): Promise; supported(): Promise; } declare namespace TailStream { diff --git a/wrangler.jsonc b/wrangler.jsonc index 7770d65e..f988d1a4 100644 --- a/wrangler.jsonc +++ b/wrangler.jsonc @@ -1,9 +1,9 @@ { "$schema": "node_modules/wrangler/config-schema.json", "name": "namesake-fyi", - "main": "./dist/_worker.js/index.js", - "compatibility_date": "2025-08-15", - "compatibility_flags": ["nodejs_compat"], + "main": "dist/_worker.js/index.js", + "compatibility_date": "2025-10-22", + "compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"], "assets": { "binding": "ASSETS", "directory": "./dist"