From 6084dc5d6ba9f38021ea9bc1bec0bbb690c5af0b Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Sun, 28 Jun 2026 22:58:15 +0330 Subject: [PATCH] feat: add comprehensive tests for UI components, hooks, and API interactions - Implement tests for Pagination, StatusBadge, ConfirmDialog, and MobileInput components. - Add tests for useSubscription, usePaymentConfig, and usePwaInstall hooks. - Create tests for API requests in the api module, including success and error handling. - Add utility function tests for formatting and validating Iranian mobile numbers. - Implement tests for BlogFormPage and BlogsPage to validate form submissions and data fetching. - Add tests for LoginPage to ensure proper validation and state management. - Create tests for authStore and uiStore to validate state management and functionality. - Set up Vitest configuration and testing utilities for consistent testing environment. --- .claude/prompt/admin-spa-test-suite.md | 316 +++ assets/admin/components/ui/ui.test.tsx | 113 + assets/admin/hooks/hooks.test.tsx | 90 + assets/admin/lib/api.test.ts | 133 + assets/admin/lib/utils.test.ts | 170 ++ assets/admin/pages/BlogFormPage.test.tsx | 43 + assets/admin/pages/BlogsPage.test.tsx | 51 + assets/admin/pages/LoginPage.test.tsx | 41 + assets/admin/stores/authStore.test.ts | 105 + assets/admin/stores/uiStore.test.ts | 66 + assets/admin/test/setup.ts | 19 + assets/admin/test/utils.tsx | 52 + package.json | 13 +- vitest.config.mts | 25 + yarn.lock | 2992 ++++++---------------- 15 files changed, 2083 insertions(+), 2146 deletions(-) create mode 100644 .claude/prompt/admin-spa-test-suite.md create mode 100644 assets/admin/components/ui/ui.test.tsx create mode 100644 assets/admin/hooks/hooks.test.tsx create mode 100644 assets/admin/lib/api.test.ts create mode 100644 assets/admin/lib/utils.test.ts create mode 100644 assets/admin/pages/BlogFormPage.test.tsx create mode 100644 assets/admin/pages/BlogsPage.test.tsx create mode 100644 assets/admin/pages/LoginPage.test.tsx create mode 100644 assets/admin/stores/authStore.test.ts create mode 100644 assets/admin/stores/uiStore.test.ts create mode 100644 assets/admin/test/setup.ts create mode 100644 assets/admin/test/utils.tsx create mode 100644 vitest.config.mts diff --git a/.claude/prompt/admin-spa-test-suite.md b/.claude/prompt/admin-spa-test-suite.md new file mode 100644 index 00000000..a9bdf2ac --- /dev/null +++ b/.claude/prompt/admin-spa-test-suite.md @@ -0,0 +1,316 @@ +# راه‌اندازی تست و نوشتن تست‌سوئیت کامل برای Admin SPA + +## پروژه + +`clinicpro` — پنل ادمین React 19 + TypeScript زیر `assets/admin/` (build با Webpack Encore داخل ddev). فقط frontend ادمین؛ backend دست نمی‌خورد. + +## زمینه + +پنل ادمین **هیچ زیرساخت تستی ندارد** — نه test runner، نه تست. `package.json` هیچ `vitest`/`jest`/`@testing-library` و هیچ script `test` ندارد. کد شامل ۴۶ صفحه، ۱۹ کامپوننت UI، ۲ store (zustand)، ۳ hook، یک fetch wrapper و یک ماژول utility پر از منطق خالص (فرمت تاریخ شمسی، نرمال‌سازی رقم فارسی، اعتبارسنجی موبایل ایرانی) است که همگی قابل‌تست و در حال حاضر بدون پوشش‌اند. + +## مشکل / هدف + +۱. یک test runner مدرن و سازگار با استک (**Vitest + Testing Library + jsdom**) از صفر راه‌اندازی کن — مستقل از Webpack (Vitest با esbuild اجرا می‌شود و به pipeline Encore کاری ندارد). +۲. تست‌ها را **لایه‌به‌لایه و به‌ترتیب اولویت** بنویس: utils خالص → api wrapper → stores → hooks → کامپوننت‌های UI → چند صفحه نماینده. برای هر لایه یک الگوی تکرارپذیر مستقر کن تا بقیه‌ی صفحات بعداً با همان الگو پوشش داده شوند. +۳. هدف پوشش معنادار منطق و رفتار است، نه عدد پوشش صوری. هر تست باید رفتار واقعی را تأیید کند (نه snapshot بی‌معنا). + +## فایل‌های مرتبط + +| فایل | نقش | تست هدف | +|------|-----|---------| +| `clinicpro/package.json` | scripts + devDeps | افزودن deps تست + script `test` | +| `clinicpro/tsconfig.json` | alias `@/* → assets/admin/*`، `jsx: react-jsx` | باید در vitest منعکس شود | +| `clinicpro/vitest.config.ts` | **ساخته شود** | کانفیگ runner | +| `clinicpro/assets/admin/test/setup.ts` | **ساخته شود** | setup سراسری (jest-dom، mockها) | +| `clinicpro/assets/admin/test/utils.tsx` | **ساخته شود** | `renderWithProviders` (QueryClient + Router) | +| `assets/admin/lib/utils.ts` | فرمترها، رقم فارسی، موبایل، zod | تست واحد کامل | +| `assets/admin/lib/api.ts` | fetch wrapper، `ApiError`، ۴۰۱ refresh+retry | تست با mock fetch/localStorage/store/location | +| `assets/admin/stores/authStore.ts` | login/logout/refresh/fetchMe/switchContext | تست action | +| `assets/admin/stores/uiStore.ts` | toggleها + `applyTheme` (DOM) | تست action + DOM | +| `assets/admin/hooks/*.ts` | useSubscription, usePaymentConfig, usePwaInstall | تست با QueryClient + mock | +| `assets/admin/components/ui/*` | Pagination, StatusBadge, ConfirmDialog, Modal, MobileInput, … | render + رفتار | +| `assets/admin/pages/LoginPage.tsx`, `BlogFormPage.tsx`, یک list page | جریان واقعی | تست صفحه با providers | + +## وضعیت فعلی + +`package.json` scripts (بدون test): +```json +"scripts": { + "dev-server": "encore dev-server", + "dev": "encore dev", + "watch": "encore dev --watch", + "build": "encore production --progress" +} +``` + +`tsconfig.json` (نکات کلیدی): +```json +"compilerOptions": { "jsx": "react-jsx", "baseUrl": ".", "paths": { "@/*": ["assets/admin/*"] }, "strict": true }, +"include": ["assets/admin/**/*"] +``` + +`lib/api.ts` — هسته‌ی fetch wrapper (وضعیت واقعی): +```ts +function getToken(): string | null { + const raw = localStorage.getItem('clinicpro-auth'); + if (!raw) return null; + try { return JSON.parse(raw)?.state?.token ?? null; } catch { return null; } +} +// request(path, options, retry=true): +// - ست‌کردن Content-Type: application/json + Authorization: Bearer در صورت وجود +// - 401 + retry → refreshOnce() (de-dup با refreshPromise ماژولی) → اگر توکن جدید: retry با retry=false +// وگرنه logout() + window.location.replace('/admin/login') + throw ApiError(401,'ERR_UNAUTHORIZED') +// - سایر خطاها → throw ApiError(status, errors[0]?.code ?? 'ERR_UNKNOWN', errors[0]?.message ?? 'خطای ناشناخته') +// - موفق → res.json() as T +// api = { get, post, patch, put, delete } // writeها body را JSON.stringify می‌کنند +// ApiError { status, code, message } +// ApiResponse = { success, data: T, errors[] } // single: data?.data +// PaginatedResponse = { success, data: T[], meta: { totalRecords, totalPages, currentPage } } // list: items=data?.data ، total=data?.meta?.totalRecords +``` + +`lib/utils.ts` — توابع خالص قابل‌تست (امضاها): +```ts +formatRial(amount: number): string // Intl fa-IR + ' تومان' +formatNumber(n: number): string // Intl fa-IR +toDate(val: string|number|null|undefined): Date|null // number → ms*1000 ؛ 'Y-m-d' → ظهر محلی +formatDate(val): string // تقویم fa-IR-u-ca-persian ؛ نامعتبر → '—' +formatDateTime(val): string +toGregorianDate(d: Date): string // YYYY-MM-DD +maskMobile(mobile: string): string // 0912***678 اگر len>=7 +cn(...classes): string +toEnglishDigits(input: string): string // نرمال‌سازی رقم فارسی/عربی +sanitizeMobileInput(input: string): string // فقط رقم، max 11 +IRAN_MOBILE_RE = /^09\d{9}$/ ؛ isValidIranMobile(input): boolean +iranMobileSchema / iranMobileOptionalSchema // zod transform+refine +``` + +`index.tsx` — QueryClient سراسری: `{ queries: { retry: 1, staleTime: 30_000 } }`، mount در `#admin-root` با StrictMode → QueryClientProvider → BrowserRouter → App. **در تست `index.tsx` را import نکن** (service worker register دارد). + +## وظایف + +### ۱. نصب ابزار و کانفیگ runner + +deps را اضافه کن (داخل ddev): +```bash +ddev exec yarn add -D vitest@^2 jsdom @testing-library/react @testing-library/dom @testing-library/jest-dom @testing-library/user-event @vitejs/plugin-react vite-tsconfig-paths +``` +> `@vitejs/plugin-react` برای transform JSX، `vite-tsconfig-paths` تا alias `@/*` از همان `tsconfig.json` خوانده شود (بدون تکرار دستی). + +`clinicpro/vitest.config.ts` بساز: +```ts +import { defineConfig } from 'vitest/config'; +import react from '@vitejs/plugin-react'; +import tsconfigPaths from 'vite-tsconfig-paths'; + +export default defineConfig({ + plugins: [react(), tsconfigPaths()], + test: { + environment: 'jsdom', + globals: true, + setupFiles: ['./assets/admin/test/setup.ts'], + include: ['assets/admin/**/*.{test,spec}.{ts,tsx}'], + css: false, // import .css در کامپوننت‌ها را no-op کن + clearMocks: true, + restoreMocks: true, + coverage: { provider: 'v8', include: ['assets/admin/**/*.{ts,tsx}'], exclude: ['assets/admin/**/*.{test,spec}.*', 'assets/admin/test/**', 'assets/admin/index.tsx'] }, + }, +}); +``` + +script در `package.json`: +```json +"test": "vitest run", +"test:watch": "vitest", +"test:cov": "vitest run --coverage" +``` + +`clinicpro/assets/admin/test/setup.ts` بساز: +```ts +import '@testing-library/jest-dom/vitest'; +import { afterEach, vi } from 'vitest'; +import { cleanup } from '@testing-library/react'; + +afterEach(() => cleanup()); + +// matchMedia (uiStore.applyTheme و کامپوننت‌ها ممکن است صدا بزنند) +Object.defineProperty(window, 'matchMedia', { + writable: true, + value: (q: string) => ({ matches: false, media: q, addEventListener: vi.fn(), removeEventListener: vi.fn(), addListener: vi.fn(), removeListener: vi.fn(), dispatchEvent: vi.fn() }), +}); +``` +> نکته: jsdom به `window.location.replace` اجازه navigation نمی‌دهد؛ در تست api.ts آن را با `vi.stubGlobal`/`Object.defineProperty` mock کن (پایین). + +### ۲. تست واحد `lib/utils.ts` (اول و مهم‌ترین — منطق خالص، بدون mock) + +`assets/admin/lib/utils.test.ts`: +```ts +import { describe, it, expect } from 'vitest'; +import { toEnglishDigits, sanitizeMobileInput, isValidIranMobile, maskMobile, formatDate, toDate, iranMobileSchema, cn } from '@/lib/utils'; + +describe('toEnglishDigits', () => { + it('رقم فارسی و عربی را به انگلیسی تبدیل می‌کند', () => { + expect(toEnglishDigits('۰۹۱۲')).toBe('0912'); + expect(toEnglishDigits('٠٩١٢')).toBe('0912'); + }); +}); +describe('sanitizeMobileInput', () => { + it('غیررقم را حذف و به ۱۱ رقم محدود می‌کند', () => { + expect(sanitizeMobileInput('0912-345 6789012')).toBe('09123456789'); + }); +}); +describe('isValidIranMobile', () => { + it.each([['09123456789', true], ['9123456789', false], ['0812345678', false]])('%s → %s', (input, ok) => { + expect(isValidIranMobile(input as string)).toBe(ok); + }); +}); +describe('maskMobile', () => { + it('وسط شماره را ماسک می‌کند', () => { expect(maskMobile('09123456789')).toContain('***'); }); +}); +describe('formatDate', () => { + it('ورودی نامعتبر → "—"', () => { expect(formatDate(null)).toBe('—'); expect(formatDate('xxx')).toBe('—'); }); + it('timestamp ثانیه‌ای را شمسی برمی‌گرداند', () => { expect(formatDate(1700000000)).not.toBe('—'); }); +}); +describe('iranMobileSchema (zod)', () => { + it('رقم فارسی را پذیرفته و نرمال می‌کند', () => { + expect(iranMobileSchema.parse('۰۹۱۲۳۴۵۶۷۸۹')).toBe('09123456789'); + }); + it('شماره نامعتبر را رد می‌کند', () => { + expect(iranMobileSchema.safeParse('123').success).toBe(false); + }); +}); +``` +همه‌ی توابع export شده‌ی utils را پوشش بده (formatRial, formatNumber, formatDateTime, toGregorianDate, toDate حالت‌های مختلف، cn، iranMobileOptionalSchema). + +### ۳. تست `lib/api.ts` (mock fetch/localStorage/store/location) + +`assets/admin/lib/api.test.ts`. الگوی mock: +```ts +import { describe, it, expect, vi, beforeEach } from 'vitest'; + +// store را mock کن تا refresh/logout قابل‌کنترل شود +vi.mock('@/stores/authStore', () => ({ + useAuthStore: { getState: () => ({ refresh: vi.fn().mockResolvedValue('new-token'), logout: vi.fn() }) }, +})); + +beforeEach(() => { + localStorage.clear(); + vi.stubGlobal('fetch', vi.fn()); + Object.defineProperty(window, 'location', { value: { replace: vi.fn() }, writable: true }); +}); + +function jsonRes(body: unknown, ok = true, status = 200) { + return { ok, status, json: () => Promise.resolve(body) } as Response; +} +``` +سناریوهای لازم: +- موفق: `fetch` یک‌بار صدا، `Authorization: Bearer ` فقط وقتی توکن در localStorage هست (envelope `{state:{token}}`). +- خطای ۴۲۲/۴۰۰: `ApiError` با `status`/`code`/`message` درست از `errors[0]` پرتاب شود. +- ۴۰۱ + توکن جدید از refresh: درخواست **یک‌بار retry** شود و در نهایت موفق. +- ۴۰۱ + refresh ناموفق (`null`): `logout` صدا زده شود، `window.location.replace('/admin/login')`، و `ApiError(401,'ERR_UNAUTHORIZED')`. +- de-dup: دو درخواست همزمان که ۴۰۱ می‌گیرند فقط **یک‌بار** refresh را صدا بزنند (تست `refreshPromise`). +- `api.post` بدنه را `JSON.stringify` کند و method درست بفرستد. + +### ۴. تست stores + +`assets/admin/stores/authStore.test.ts` — با mock کردن `fetch` (store مستقیم fetch می‌زند): +- `login(token)` → state ست شود (`isAuthenticated=true`, `token`) و `fetchMe` فراخوانی شود. +- `logout()` → POST به `/oauth/logout` و پاک‌شدن state. +- `refresh()` → POST `/oauth/token/refresh`؛ موفق → توکن جدید برگردد و در state بنشیند؛ ناموفق → `null`. +- `fetchMe()` → GET `/oauth/userinfo` و ست‌شدن `primaryRole`, `userName`, `availableContexts`. +- بین تست‌ها state را reset کن: `useAuthStore.setState(useAuthStore.getInitialState?.() ?? initial)` یا `localStorage.clear()` + ست دستی. + +`assets/admin/stores/uiStore.test.ts`: +- `toggleDarkMode`/`setBrandHue`/`setDensity` → state تغییر کند و `applyTheme` کلاس/attribute روی `document.documentElement` بگذارد (با `expect(document.documentElement.classList.contains('dark'))` یا attribute مربوطه). +- `toggleSidebar`/`setSidebarOpen` رفتار درست. + +### ۵. تست hooks (با QueryClient wrapper + mock api) + +`assets/admin/test/utils.tsx` — helper مشترک: +```tsx +import { ReactElement, ReactNode } from 'react'; +import { render } from '@testing-library/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { MemoryRouter } from 'react-router-dom'; +import { renderHook } from '@testing-library/react'; + +export function makeClient() { + return new QueryClient({ defaultOptions: { queries: { retry: false }, mutations: { retry: false } } }); +} +export function Providers({ children, client = makeClient(), route = '/admin/dashboard' }: { children: ReactNode; client?: QueryClient; route?: string }) { + return ( + + {children} + + ); +} +export function renderWithProviders(ui: ReactElement, opts?: { route?: string }) { + const client = makeClient(); + return { client, ...render(ui, { wrapper: ({ children }) => {children}) }; +} +export function renderHookWithClient(cb: () => T) { + const client = makeClient(); + return renderHook(cb, { wrapper: ({ children }) => {children} }); +} +``` +`hooks/useSubscription.test.tsx` و `usePaymentConfig.test.tsx`: `vi.mock('@/lib/api', ...)` تا `api.get` پاسخ ثابت بدهد؛ با `waitFor` خروجی hook (`hasFeature`, `isTestMode`, …) را assert کن. +`usePwaInstall.test.tsx`: رویداد `beforeinstallprompt` را dispatch کن، `localStorage['pwa-dismissed']` را تست کن، `dismiss()`/`install()` را بررسی کن. + +### ۶. تست کامپوننت‌های UI (render + رفتار) + +با `renderWithProviders`/`render` ساده (آنها که provider نمی‌خواهند). حداقل این‌ها: +- `Pagination` — تعداد صفحه درست، کلیک «بعدی»/«قبلی» callback را با صفحه‌ی درست صدا بزند، دکمه‌های مرزی disable شوند. +- `StatusBadge` / `AppointmentStatusDropdown` — مپ وضعیت → برچسب/رنگ فارسی. +- `ConfirmDialog` — تأیید/لغو callbackها، بسته‌شدن. +- `Modal` — باز/بسته، بستن با Esc/کلیک backdrop، focus. +- `MobileInput` / `PriceInput` — نرمال‌سازی ورودی (رقم فارسی → انگلیسی، فقط عدد) با `userEvent.type`. +- `DataTable` — رندر ستون‌ها/ردیف‌ها، حالت خالی، حالت loading. + +نمونه: +```tsx +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { Pagination } from '@/components/ui/Pagination'; + +it('کلیک «بعدی» صفحه‌ی بعد را می‌فرستد', async () => { + const onPage = vi.fn(); + render(); + await userEvent.click(screen.getByRole('button', { name: /بعدی/ })); + expect(onPage).toHaveBeenCalledWith(2); +}); +``` +> props واقعی هر کامپوننت را از فایل خودش بخوان (نام props ممکن است فرق کند) — حدس نزن. + +### ۷. تست صفحه (page) با mock لایه‌ی api + +سه صفحه‌ی نماینده که سه الگو را پوشش می‌دهند: +- **`LoginPage`** — فرم RHF+Zod: ورودی نامعتبر موبایل → پیام خطای فارسی؛ submit موفق → `authStore.login`/`api.post` صدا زده شود (mock). +- **`BlogFormPage`** — اعتبارسنجی zod (عنوان <۳ کاراکتر → «عنوان الزامی است»، body <۱۰ → «محتوا الزامی است»)، submit با مقادیر معتبر → فراخوانی mutation. +- **یک list page (مثلاً `BlogsPage` یا `RatingsPage`)** — قرارداد `PaginatedResponse`: `api.get` را mock کن که `{ data: [...], meta: { totalRecords } }` بدهد؛ تأیید کن ردیف‌ها از `data?.data` و total/تعداد صفحه از `meta?.totalRecords` رندر می‌شوند. + +الگوی mock صفحه: +```tsx +vi.mock('@/lib/api', () => ({ + api: { get: vi.fn(), post: vi.fn(), patch: vi.fn(), put: vi.fn(), delete: vi.fn() }, + ApiError: class extends Error { constructor(public status: number, public code: string, message: string){ super(message); } }, +})); +``` + +### ۸. اجرا و سبزکردن + +```bash +ddev exec yarn test # کل سوئیت +ddev exec yarn test:cov # با پوشش +``` +همه‌ی تست‌ها باید سبز شوند. اگر تستی به‌خاطر رفتار واقعی کد شکست خورد، **کد را تغییر نده** مگر باگ واقعی باشد — تست را با رفتار واقعی هم‌راستا کن (و باگ واقعی را جدا گزارش بده). + +## نکات مهم + +- **هیچ فرضی درباره‌ی props/نام تابع نزن** — هر فایل هدف را قبل از تست بخوان و امضاها/نام exportها را از کد واقعی بردار. مثال‌های بالا الگو هستند، نه قرارداد قطعی. +- Vitest مستقل از Webpack Encore است؛ خطای شناخته‌ی `lightningcss` در build ddev ربطی به تست ندارد. CSS importها با `css: false` بی‌اثر می‌شوند. +- `index.tsx` را در تست import نکن (service worker register + mount واقعی). فقط `App`/صفحات/ماژول‌ها را import کن. +- jsdom navigation ندارد: هرجا کد `window.location.replace` می‌زند (api.ts و App guardها) آن را mock کن. +- store‌ها `persist` دارند؛ بین تست‌ها `localStorage.clear()` و reset state تا نشت حالت بین تست‌ها رخ ندهد (`clearMocks/restoreMocks` در کانفیگ ست شده). +- `formatDate`/`formatDateTime` به تقویم `fa-IR-u-ca-persian` و timezone وابسته‌اند؛ به‌جای assert رشته‌ی دقیق، روی «نامعتبر → '—'» و «معتبر → غیر '—' و شامل رقم فارسی» assert کن تا تست شکننده نشود. +- اولویت پوشش: utils (۱۰۰٪) → api.ts → stores → hooks → UI components → pages. اگر زمان محدود شد، لایه‌های پایین‌تر (page) را با همان الگوی مستقرشده برای بقیه‌ی صفحات قابل‌گسترش بگذار و در گزارش، صفحاتِ پوشش‌داده‌نشده را فهرست کن (silent truncation ممنوع). +- این تغییر فقط frontend است؛ backend، migration و `docs/api/` دست نمی‌خورد. +- بعد از پایان: `ddev exec npx tsc --noEmit --project tsconfig.json` تا تست‌ها type-error وارد نکرده باشند (فایل‌های تست هم زیر `assets/admin/**` و در دامنه‌ی tsconfig هستند). diff --git a/assets/admin/components/ui/ui.test.tsx b/assets/admin/components/ui/ui.test.tsx new file mode 100644 index 00000000..a6e82b11 --- /dev/null +++ b/assets/admin/components/ui/ui.test.tsx @@ -0,0 +1,113 @@ +import { describe, it, expect, vi } from 'vitest'; +import { render, screen, fireEvent } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import Pagination from '@/components/ui/Pagination'; +import StatusBadge, { ActiveBadge } from '@/components/ui/StatusBadge'; +import ConfirmDialog from '@/components/ui/ConfirmDialog'; +import MobileInput from '@/components/ui/MobileInput'; + +describe('Pagination', () => { + it('وقتی یک صفحه یا کمتر است چیزی رندر نمی‌کند', () => { + const { container } = render( + , + ); + expect(container.firstChild).toBeNull(); + }); + + it('دکمه «قبلی» در صفحه اول غیرفعال است', () => { + render(); + const buttons = screen.getAllByRole('button'); + expect(buttons[0]).toBeDisabled(); // prev + expect(buttons[buttons.length - 1]).not.toBeDisabled(); // next + }); + + it('کلیک «بعدی» صفحه page+1 را می‌فرستد', async () => { + const onPage = vi.fn(); + render(); + const buttons = screen.getAllByRole('button'); + await userEvent.click(buttons[buttons.length - 1]); + expect(onPage).toHaveBeenCalledWith(2); + }); + + it('کلیک روی شماره صفحه همان شماره را می‌فرستد', async () => { + const onPage = vi.fn(); + render(); + await userEvent.click(screen.getByText('۳')); + expect(onPage).toHaveBeenCalledWith(3); + }); +}); + +describe('StatusBadge', () => { + it.each([ + ['appointment', 'confirmed', 'تأیید شده'], + ['appointment', 'no_show', 'غیبت'], + ['payment', 'success', 'موفق'], + ['sms', 'approved', 'تأیید شده'], + ['settlement', 'rejected', 'رد شده'], + ])('%s/%s → %s', (type, value, label) => { + render(); + expect(screen.getByText(label)).toBeInTheDocument(); + }); + + it('مقدار ناشناخته → خود مقدار نمایش داده می‌شود', () => { + render(); + expect(screen.getByText('zzz')).toBeInTheDocument(); + }); + + it('ActiveBadge فعال/غیرفعال', () => { + const { rerender } = render(); + expect(screen.getByText('فعال')).toBeInTheDocument(); + rerender(); + expect(screen.getByText('غیرفعال')).toBeInTheDocument(); + }); +}); + +describe('ConfirmDialog', () => { + it('وقتی open=false چیزی رندر نمی‌شود', () => { + const { container } = render( + , + ); + expect(container.firstChild).toBeNull(); + }); + + it('تأیید و لغو callbackهای درست را صدا می‌زنند', async () => { + const onConfirm = vi.fn(); + const onCancel = vi.fn(); + render( + , + ); + await userEvent.click(screen.getByRole('button', { name: 'تأیید' })); + expect(onConfirm).toHaveBeenCalledTimes(1); + await userEvent.click(screen.getByRole('button', { name: 'لغو' })); + expect(onCancel).toHaveBeenCalledTimes(1); + }); + + it('در حالت loading دکمه‌ها غیرفعال و متن «در حال انجام...» است', () => { + render( + , + ); + expect(screen.getByText('در حال انجام...')).toBeInTheDocument(); + screen.getAllByRole('button').forEach((b) => { + if (b.textContent) expect(b).toBeDisabled(); + }); + }); +}); + +describe('MobileInput', () => { + it('ارقام فارسی و جداکننده را قبل از onChange نرمال می‌کند', () => { + const onChange = vi.fn(); + render(); + const input = screen.getByRole('textbox'); + fireEvent.change(input, { target: { value: '۰۹۱۲-۳۴۵ ۶۷۸۹' } }); + expect(onChange).toHaveBeenCalled(); + const evt = onChange.mock.calls[0][0]; + expect(evt.target.value).toBe('09123456789'); + }); + + it('placeholder پیش‌فرض و maxLength=11 دارد', () => { + render(); + const input = screen.getByPlaceholderText('09xxxxxxxxx') as HTMLInputElement; + expect(input.maxLength).toBe(11); + expect(input.getAttribute('dir')).toBe('ltr'); + }); +}); diff --git a/assets/admin/hooks/hooks.test.tsx b/assets/admin/hooks/hooks.test.tsx new file mode 100644 index 00000000..d0ebce63 --- /dev/null +++ b/assets/admin/hooks/hooks.test.tsx @@ -0,0 +1,90 @@ +import { describe, it, expect, beforeEach, vi } from 'vitest'; +import { act, renderHook, waitFor } from '@testing-library/react'; +import { renderHookWithClient } from '@/test/utils'; + +vi.mock('@/lib/api', () => ({ + api: { get: vi.fn(), post: vi.fn(), patch: vi.fn(), put: vi.fn(), delete: vi.fn() }, + ApiError: class extends Error {}, +})); + +import { api } from '@/lib/api'; +import { useAuthStore } from '@/stores/authStore'; +import { useSubscription } from '@/hooks/useSubscription'; +import { usePaymentConfig } from '@/hooks/usePaymentConfig'; +import { usePwaInstall } from '@/hooks/usePwaInstall'; + +const get = api.get as ReturnType; + +beforeEach(() => { + localStorage.clear(); + get.mockReset(); + useAuthStore.setState({ primaryRole: null }); +}); + +describe('useSubscription', () => { + it('برای نقش doctor فعال است و hasFeature/maxSecretaries را برمی‌گرداند', async () => { + useAuthStore.setState({ primaryRole: 'doctor' }); + get.mockResolvedValue({ + data: { + subscription: { + plan: { features: { sms: true, claims: false }, max_secretaries: 3 }, + days_remaining: 5, + }, + }, + }); + + const { result } = renderHookWithClient(() => useSubscription()); + await waitFor(() => expect(result.current.hasPlan).toBe(true)); + + expect(result.current.hasFeature('sms')).toBe(true); + expect(result.current.hasFeature('claims')).toBe(false); + expect(result.current.hasFeature('unknown')).toBe(false); + expect(result.current.maxSecretaries).toBe(3); + expect(result.current.isExpiringSoon).toBe(true); + }); + + it('برای نقش admin غیرفعال است (query اجرا نمی‌شود)', async () => { + useAuthStore.setState({ primaryRole: 'admin' }); + const { result } = renderHookWithClient(() => useSubscription()); + expect(result.current.hasPlan).toBe(false); + expect(get).not.toHaveBeenCalled(); + }); +}); + +describe('usePaymentConfig', () => { + it('test_mode را به isTestMode مپ می‌کند', async () => { + get.mockResolvedValue({ data: { test_mode: true } }); + const { result } = renderHookWithClient(() => usePaymentConfig()); + await waitFor(() => expect(result.current.isTestMode).toBe(true)); + }); + it('پیش‌فرض isTestMode=false', () => { + get.mockResolvedValue({ data: { test_mode: false } }); + const { result } = renderHookWithClient(() => usePaymentConfig()); + expect(result.current.isTestMode).toBe(false); + }); +}); + +describe('usePwaInstall', () => { + it('رویداد beforeinstallprompt را می‌گیرد', () => { + const { result } = renderHook(() => usePwaInstall()); + expect(result.current.promptEvent).toBeNull(); + act(() => { + window.dispatchEvent(new Event('beforeinstallprompt')); + }); + expect(result.current.promptEvent).not.toBeNull(); + }); + + it('dismiss در localStorage ذخیره و isDismissed را true می‌کند', () => { + const { result } = renderHook(() => usePwaInstall()); + expect(result.current.isDismissed).toBe(false); + act(() => result.current.dismiss()); + expect(localStorage.getItem('pwa-dismissed')).toBe('1'); + expect(result.current.isDismissed).toBe(true); + }); + + it('اگر قبلاً dismiss شده باشد، اولیه isDismissed=true', () => { + localStorage.setItem('pwa-dismissed', '1'); + const { result } = renderHook(() => usePwaInstall()); + expect(result.current.isDismissed).toBe(true); + }); +}); diff --git a/assets/admin/lib/api.test.ts b/assets/admin/lib/api.test.ts new file mode 100644 index 00000000..e8d6df7c --- /dev/null +++ b/assets/admin/lib/api.test.ts @@ -0,0 +1,133 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; + +const { refreshMock, logoutMock } = vi.hoisted(() => ({ + refreshMock: vi.fn(), + logoutMock: vi.fn(), +})); + +vi.mock('@/stores/authStore', () => ({ + useAuthStore: { getState: () => ({ refresh: refreshMock, logout: logoutMock }) }, +})); + +import { api, ApiError } from '@/lib/api'; + +const replaceMock = vi.fn(); + +function jsonRes(body: unknown, ok = true, status = 200): Response { + return { ok, status, json: () => Promise.resolve(body) } as unknown as Response; +} + +function setToken(token: string) { + localStorage.setItem('clinicpro-auth', JSON.stringify({ state: { token } })); +} + +beforeEach(() => { + localStorage.clear(); + refreshMock.mockReset(); + logoutMock.mockReset(); + replaceMock.mockReset(); + vi.stubGlobal('fetch', vi.fn()); + Object.defineProperty(window, 'location', { + value: { replace: replaceMock }, + writable: true, + configurable: true, + }); +}); + +describe('request — موفق', () => { + it('بدنه JSON را برمی‌گرداند', async () => { + (fetch as ReturnType).mockResolvedValue( + jsonRes({ success: true, data: { id: 1 } }), + ); + const out = await api.get<{ data: { id: number } }>('/api/v1/x'); + expect(out).toEqual({ success: true, data: { id: 1 } }); + expect(fetch).toHaveBeenCalledTimes(1); + }); + + it('وقتی توکن هست هدر Authorization می‌فرستد', async () => { + setToken('tok-123'); + (fetch as ReturnType).mockResolvedValue(jsonRes({ ok: 1 })); + await api.get('/api/v1/x'); + const headers = (fetch as ReturnType).mock.calls[0][1].headers; + expect(headers['Authorization']).toBe('Bearer tok-123'); + }); + + it('بدون توکن، هدر Authorization نمی‌فرستد', async () => { + (fetch as ReturnType).mockResolvedValue(jsonRes({ ok: 1 })); + await api.get('/api/v1/x'); + const headers = (fetch as ReturnType).mock.calls[0][1].headers; + expect(headers['Authorization']).toBeUndefined(); + expect(headers['Content-Type']).toBe('application/json'); + }); + + it('post بدنه را JSON.stringify و method=POST می‌فرستد', async () => { + (fetch as ReturnType).mockResolvedValue(jsonRes({ ok: 1 })); + await api.post('/api/v1/x', { a: 1 }); + const opts = (fetch as ReturnType).mock.calls[0][1]; + expect(opts.method).toBe('POST'); + expect(opts.body).toBe(JSON.stringify({ a: 1 })); + }); +}); + +describe('request — خطاهای غیر۴۰۱', () => { + it('۴۲۲ → ApiError با code/message از errors[0]', async () => { + (fetch as ReturnType).mockResolvedValue( + jsonRes({ errors: [{ code: 'ERR_VALIDATION', message: 'نامعتبر' }] }, false, 422), + ); + await expect(api.get('/api/v1/x')).rejects.toMatchObject({ + status: 422, + code: 'ERR_VALIDATION', + message: 'نامعتبر', + }); + }); + + it('بدنه بدون errors → ERR_UNKNOWN', async () => { + (fetch as ReturnType).mockResolvedValue(jsonRes({}, false, 500)); + const err = (await api.get('/api/v1/x').catch((e) => e)) as ApiError; + expect(err).toBeInstanceOf(ApiError); + expect(err.code).toBe('ERR_UNKNOWN'); + expect(err.status).toBe(500); + }); +}); + +describe('request — جریان ۴۰۱', () => { + it('refresh موفق → یک‌بار retry و موفقیت', async () => { + refreshMock.mockResolvedValue('new-token'); + (fetch as ReturnType) + .mockResolvedValueOnce(jsonRes({}, false, 401)) + .mockResolvedValueOnce(jsonRes({ success: true, data: 'ok' })); + + const out = await api.get('/api/v1/x'); + expect(out).toEqual({ success: true, data: 'ok' }); + expect(refreshMock).toHaveBeenCalledTimes(1); + expect(fetch).toHaveBeenCalledTimes(2); + expect(logoutMock).not.toHaveBeenCalled(); + }); + + it('refresh ناموفق → logout + redirect + ApiError(401)', async () => { + refreshMock.mockResolvedValue(null); + (fetch as ReturnType).mockResolvedValue(jsonRes({}, false, 401)); + + const err = (await api.get('/api/v1/x').catch((e) => e)) as ApiError; + expect(err).toBeInstanceOf(ApiError); + expect(err.status).toBe(401); + expect(err.code).toBe('ERR_UNAUTHORIZED'); + expect(logoutMock).toHaveBeenCalledTimes(1); + expect(replaceMock).toHaveBeenCalledWith('/admin/login'); + }); + + it('de-dup: دو درخواست همزمان ۴۰۱ فقط یک‌بار refresh می‌زنند', async () => { + refreshMock.mockImplementation( + () => new Promise((r) => setTimeout(() => r('new-token'), 10)), + ); + const f = fetch as ReturnType; + f.mockImplementation(() => { + const n = f.mock.calls.length; + return Promise.resolve(n <= 2 ? jsonRes({}, false, 401) : jsonRes({ ok: 1 })); + }); + + await Promise.all([api.get('/api/v1/a'), api.get('/api/v1/b')]); + expect(refreshMock).toHaveBeenCalledTimes(1); + expect(fetch).toHaveBeenCalledTimes(4); + }); +}); diff --git a/assets/admin/lib/utils.test.ts b/assets/admin/lib/utils.test.ts new file mode 100644 index 00000000..8f958ba1 --- /dev/null +++ b/assets/admin/lib/utils.test.ts @@ -0,0 +1,170 @@ +import { describe, it, expect } from 'vitest'; +import { + formatRial, + formatNumber, + toDate, + formatDate, + formatDateTime, + toGregorianDate, + maskMobile, + cn, + toEnglishDigits, + sanitizeMobileInput, + isValidIranMobile, + IRAN_MOBILE_RE, + iranMobileSchema, + iranMobileOptionalSchema, +} from '@/lib/utils'; + +const PERSIAN_DIGITS = /[۰-۹]/; + +describe('formatRial', () => { + it('عدد را با جداکننده فارسی و پسوند تومان برمی‌گرداند', () => { + const out = formatRial(1000); + expect(out).toContain('تومان'); + expect(out).toMatch(PERSIAN_DIGITS); + }); + it('صفر را هم فرمت می‌کند', () => { + expect(formatRial(0)).toContain('تومان'); + }); +}); + +describe('formatNumber', () => { + it('رقم فارسی برمی‌گرداند', () => { + expect(formatNumber(1234)).toMatch(PERSIAN_DIGITS); + }); +}); + +describe('toDate', () => { + it('null و رشته خالی → null', () => { + expect(toDate(null)).toBeNull(); + expect(toDate(undefined)).toBeNull(); + expect(toDate('')).toBeNull(); + }); + it('عدد را به‌عنوان ثانیه (×۱۰۰۰) تفسیر می‌کند', () => { + const d = toDate(1_700_000_000); + expect(d).toBeInstanceOf(Date); + expect(d!.getTime()).toBe(1_700_000_000 * 1000); + }); + it('Y-m-d را ظهر محلی می‌گیرد (نه نیمه‌شب UTC)', () => { + const d = toDate('2024-03-21'); + expect(d!.getHours()).toBe(12); + expect(d!.getFullYear()).toBe(2024); + }); + it('رشته ISO کامل را پارس می‌کند', () => { + const d = toDate('2024-03-21T08:30:00Z'); + expect(d).toBeInstanceOf(Date); + expect(isNaN(d!.getTime())).toBe(false); + }); +}); + +describe('formatDate', () => { + it('ورودی نامعتبر → "—"', () => { + expect(formatDate(null)).toBe('—'); + expect(formatDate('not-a-date')).toBe('—'); + }); + it('timestamp ثانیه‌ای معتبر → رشته شمسی با رقم فارسی', () => { + const out = formatDate(1_700_000_000); + expect(out).not.toBe('—'); + expect(out).toMatch(PERSIAN_DIGITS); + }); +}); + +describe('formatDateTime', () => { + it('ورودی نامعتبر → "—"', () => { + expect(formatDateTime(undefined)).toBe('—'); + }); + it('معتبر → شامل ساعت و رقم فارسی', () => { + const out = formatDateTime(1_700_000_000); + expect(out).not.toBe('—'); + expect(out).toMatch(PERSIAN_DIGITS); + }); +}); + +describe('toGregorianDate', () => { + it('YYYY-MM-DD با صفر پیش‌رو', () => { + expect(toGregorianDate(new Date(2024, 0, 5))).toBe('2024-01-05'); + expect(toGregorianDate(new Date(2024, 11, 31))).toBe('2024-12-31'); + }); +}); + +describe('maskMobile', () => { + it('شماره ۱۱ رقمی را ماسک می‌کند', () => { + expect(maskMobile('09123456789')).toBe('0912***789'); + }); + it('شماره کوتاه‌تر از ۷ رقم بدون تغییر', () => { + expect(maskMobile('123')).toBe('123'); + }); +}); + +describe('cn', () => { + it('مقادیر falsy را حذف و بقیه را با فاصله می‌چسباند', () => { + expect(cn('a', false, null, undefined, 'b')).toBe('a b'); + expect(cn()).toBe(''); + }); +}); + +describe('toEnglishDigits', () => { + it('رقم فارسی به انگلیسی', () => { + expect(toEnglishDigits('۰۹۱۲۳۴۵۶۷۸۹')).toBe('09123456789'); + }); + it('رقم عربی به انگلیسی', () => { + expect(toEnglishDigits('٠٩١٢')).toBe('0912'); + }); + it('ورودی خالی → رشته خالی', () => { + expect(toEnglishDigits('')).toBe(''); + }); + it('کاراکترهای غیررقمی را دست‌نخورده نگه می‌دارد', () => { + expect(toEnglishDigits('شماره ۰۹')).toBe('شماره 09'); + }); +}); + +describe('sanitizeMobileInput', () => { + it('غیررقم حذف، رقم فارسی نرمال، حداکثر ۱۱ رقم', () => { + expect(sanitizeMobileInput('۰۹۱۲-۳۴۵ ۶۷۸۹۰۱۲')).toBe('09123456789'); + }); + it('فقط حروف → خالی', () => { + expect(sanitizeMobileInput('abc')).toBe(''); + }); +}); + +describe('isValidIranMobile / IRAN_MOBILE_RE', () => { + it.each([ + ['09123456789', true], + ['۰۹۱۲۳۴۵۶۷۸۹', true], + ['9123456789', false], + ['08123456789', false], + ['0912345678', false], + ['091234567890', false], + ])('%s → %s', (input, expected) => { + expect(isValidIranMobile(input as string)).toBe(expected); + }); + it('regex مستقیم روی ارقام انگلیسی', () => { + expect(IRAN_MOBILE_RE.test('09120000000')).toBe(true); + }); +}); + +describe('iranMobileSchema', () => { + it('رقم فارسی را پذیرفته و نرمال می‌کند', () => { + expect(iranMobileSchema.parse('۰۹۱۲۳۴۵۶۷۸۹')).toBe('09123456789'); + }); + it('جداکننده‌ها را حذف می‌کند', () => { + expect(iranMobileSchema.parse('0912-345-6789')).toBe('09123456789'); + }); + it('شماره نامعتبر → ناموفق', () => { + const r = iranMobileSchema.safeParse('12345'); + expect(r.success).toBe(false); + }); +}); + +describe('iranMobileOptionalSchema', () => { + it('رشته خالی مجاز است', () => { + expect(iranMobileOptionalSchema.parse('')).toBe(''); + }); + it('شماره معتبر نرمال می‌شود', () => { + expect(iranMobileOptionalSchema.parse('۰۹۱۲۳۴۵۶۷۸۹')).toBe('09123456789'); + }); + it('شماره نیمه‌کاره → ناموفق', () => { + expect(iranMobileOptionalSchema.safeParse('0912').success).toBe(false); + }); +}); diff --git a/assets/admin/pages/BlogFormPage.test.tsx b/assets/admin/pages/BlogFormPage.test.tsx new file mode 100644 index 00000000..2a882a2c --- /dev/null +++ b/assets/admin/pages/BlogFormPage.test.tsx @@ -0,0 +1,43 @@ +import { describe, it, expect, beforeEach, vi } from 'vitest'; +import { screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { renderWithProviders } from '@/test/utils'; + +vi.mock('@ckeditor/ckeditor5-react', () => ({ CKEditor: () => null })); +vi.mock('@ckeditor/ckeditor5-build-classic', () => ({ default: {} })); +vi.mock('sonner', () => ({ toast: { success: vi.fn(), error: vi.fn() } })); +vi.mock('@/components/ui/SearchableSelect', () => ({ default: () => null })); +vi.mock('@/lib/api', () => ({ + api: { get: vi.fn(), post: vi.fn(), patch: vi.fn(), put: vi.fn(), delete: vi.fn() }, + ApiError: class extends Error {}, +})); + +import { api } from '@/lib/api'; +import BlogFormPage from '@/pages/BlogFormPage'; + +const post = api.post as ReturnType; + +beforeEach(() => { + post.mockReset(); +}); + +describe('BlogFormPage — اعتبارسنجی zod (حالت ساخت)', () => { + it('submit با فیلدهای خالی → خطای عنوان و جلوگیری از فراخوانی API', async () => { + renderWithProviders(, { route: '/admin/blogs/new' }); + + await userEvent.click(screen.getByRole('button', { name: 'ذخیره' })); + + expect(await screen.findByText('عنوان الزامی است')).toBeInTheDocument(); + expect(post).not.toHaveBeenCalled(); + }); + + it('عنوان کوتاه‌تر از ۳ کاراکتر هم خطا می‌دهد', async () => { + renderWithProviders(, { route: '/admin/blogs/new' }); + + await userEvent.type(screen.getByPlaceholderText('عنوان جذاب بنویسید...'), 'اب'); + await userEvent.click(screen.getByRole('button', { name: 'ذخیره' })); + + expect(await screen.findByText('عنوان الزامی است')).toBeInTheDocument(); + expect(post).not.toHaveBeenCalled(); + }); +}); diff --git a/assets/admin/pages/BlogsPage.test.tsx b/assets/admin/pages/BlogsPage.test.tsx new file mode 100644 index 00000000..6d0a51bb --- /dev/null +++ b/assets/admin/pages/BlogsPage.test.tsx @@ -0,0 +1,51 @@ +import { describe, it, expect, beforeEach, vi } from 'vitest'; +import { screen } from '@testing-library/react'; +import { renderWithProviders } from '@/test/utils'; + +vi.mock('sonner', () => ({ toast: { success: vi.fn(), error: vi.fn() } })); +vi.mock('@/lib/api', () => ({ + api: { get: vi.fn(), post: vi.fn(), patch: vi.fn(), put: vi.fn(), delete: vi.fn() }, + ApiError: class extends Error {}, +})); + +import { api } from '@/lib/api'; +import BlogsPage from '@/pages/BlogsPage'; + +const get = api.get as ReturnType; + +beforeEach(() => { + get.mockReset(); +}); + +describe('BlogsPage — قرارداد PaginatedResponse', () => { + it('ردیف‌ها از data.data و تعداد از meta.totalRecords می‌آیند', async () => { + get.mockResolvedValue({ + success: true, + data: [ + { uuid: 'b1', title: 'مقاله اول', status: 'published', tags: [], created_at: 1700000000 }, + { uuid: 'b2', title: 'مقاله دوم', status: 'draft', tags: [], created_at: 1700000000 }, + ], + meta: { totalRecords: 2, totalPages: 1, currentPage: 1 }, + errors: [], + }); + + renderWithProviders(, { route: '/admin/blogs' }); + + expect(await screen.findByText('مقاله اول')).toBeInTheDocument(); + expect(screen.getByText('مقاله دوم')).toBeInTheDocument(); + expect(get).toHaveBeenCalledWith(expect.stringContaining('/api/v1/blogs')); + }); + + it('پاسخ خالی → پیام «هیچ مقاله‌ای یافت نشد»', async () => { + get.mockResolvedValue({ + success: true, + data: [], + meta: { totalRecords: 0, totalPages: 0, currentPage: 1 }, + errors: [], + }); + + renderWithProviders(, { route: '/admin/blogs' }); + + expect(await screen.findByText('هیچ مقاله‌ای یافت نشد')).toBeInTheDocument(); + }); +}); diff --git a/assets/admin/pages/LoginPage.test.tsx b/assets/admin/pages/LoginPage.test.tsx new file mode 100644 index 00000000..1f021b78 --- /dev/null +++ b/assets/admin/pages/LoginPage.test.tsx @@ -0,0 +1,41 @@ +import { describe, it, expect, beforeEach, vi } from 'vitest'; +import { screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { renderWithProviders } from '@/test/utils'; + +vi.mock('sonner', () => ({ toast: { success: vi.fn(), error: vi.fn() } })); +vi.mock('@/components/ui/PwaLoginCard', () => ({ default: () => null })); + +import { toast } from 'sonner'; +import LoginPage from '@/pages/LoginPage'; + +const errorToast = toast.error as ReturnType; + +beforeEach(() => { + vi.stubGlobal('fetch', vi.fn()); +}); + +describe('LoginPage — حالت رمز عبور', () => { + it('submit با فیلد خالی → خطای اعتبارسنجی و بدون fetch', async () => { + renderWithProviders(, { route: '/admin/login' }); + await userEvent.click(screen.getByRole('button', { name: 'ورود به سیستم' })); + expect(errorToast).toHaveBeenCalledWith('شماره موبایل و رمز عبور الزامی است'); + expect(fetch).not.toHaveBeenCalled(); + }); +}); + +describe('LoginPage — تعویض حالت', () => { + it('کلیک «ورود با پیامک» فرم پیامک را نشان می‌دهد', async () => { + renderWithProviders(, { route: '/admin/login' }); + await userEvent.click(screen.getByRole('button', { name: 'ورود با پیامک' })); + expect(screen.getByRole('button', { name: 'ارسال کد تأیید' })).toBeInTheDocument(); + }); + + it('شماره موبایل نامعتبر در حالت پیامک → خطا', async () => { + renderWithProviders(, { route: '/admin/login' }); + await userEvent.click(screen.getByRole('button', { name: 'ورود با پیامک' })); + await userEvent.type(screen.getByPlaceholderText('09xxxxxxxxx'), '12345'); + await userEvent.click(screen.getByRole('button', { name: 'ارسال کد تأیید' })); + expect(errorToast).toHaveBeenCalledWith('شماره موبایل معتبر نیست'); + }); +}); diff --git a/assets/admin/stores/authStore.test.ts b/assets/admin/stores/authStore.test.ts new file mode 100644 index 00000000..ea2f6a8c --- /dev/null +++ b/assets/admin/stores/authStore.test.ts @@ -0,0 +1,105 @@ +import { describe, it, expect, beforeEach, vi } from 'vitest'; +import { useAuthStore } from '@/stores/authStore'; + +const initial = useAuthStore.getInitialState(); + +function jsonRes(body: unknown, ok = true): Response { + return { ok, json: () => Promise.resolve(body) } as unknown as Response; +} + +beforeEach(() => { + localStorage.clear(); + useAuthStore.setState(initial, true); + vi.stubGlobal('fetch', vi.fn().mockResolvedValue(jsonRes({ success: false }))); +}); + +describe('login', () => { + it('توکن را ست و isAuthenticated را true می‌کند', () => { + useAuthStore.getState().login('tok', 'refresh'); + const s = useAuthStore.getState(); + expect(s.token).toBe('tok'); + expect(s.refreshToken).toBe('refresh'); + expect(s.isAuthenticated).toBe(true); + }); + it('fetchMe (userinfo) را صدا می‌زند', () => { + useAuthStore.getState().login('tok'); + expect(fetch).toHaveBeenCalledWith('/oauth/userinfo', expect.any(Object)); + }); +}); + +describe('logout', () => { + it('state را پاک می‌کند و وقتی refreshToken هست به /oauth/logout POST می‌زند', () => { + useAuthStore.setState({ token: 'tok', refreshToken: 'rt', isAuthenticated: true }); + useAuthStore.getState().logout(); + const s = useAuthStore.getState(); + expect(s.token).toBeNull(); + expect(s.isAuthenticated).toBe(false); + expect(fetch).toHaveBeenCalledWith('/oauth/logout', expect.objectContaining({ method: 'POST' })); + }); +}); + +describe('refresh', () => { + it('بدون refreshToken → null و بدون fetch', async () => { + const out = await useAuthStore.getState().refresh(); + expect(out).toBeNull(); + expect(fetch).not.toHaveBeenCalled(); + }); + it('پاسخ موفق → توکن جدید برمی‌گرداند و state را به‌روز می‌کند', async () => { + useAuthStore.setState({ refreshToken: 'rt' }); + (fetch as ReturnType).mockResolvedValueOnce( + jsonRes({ access_token: 'new-tok', refresh_token: 'new-rt' }), + ); + const out = await useAuthStore.getState().refresh(); + expect(out).toBe('new-tok'); + expect(useAuthStore.getState().token).toBe('new-tok'); + expect(useAuthStore.getState().refreshToken).toBe('new-rt'); + }); + it('پاسخ بدون access_token → null', async () => { + useAuthStore.setState({ refreshToken: 'rt' }); + (fetch as ReturnType).mockResolvedValueOnce(jsonRes({}, false)); + expect(await useAuthStore.getState().refresh()).toBeNull(); + }); +}); + +describe('fetchMe', () => { + it('userinfo موفق → فیلدهای کاربر را ست می‌کند', async () => { + (fetch as ReturnType).mockResolvedValueOnce( + jsonRes({ + success: true, + data: { + uuid: 'u1', + realName: 'دکتر تست', + primary_role: 'doctor', + available_contexts: [{ type: 'doctor', db_uuid: 'd1', name: 'مطب', role: 'doctor' }], + }, + }), + ); + await useAuthStore.getState().fetchMe(); + const s = useAuthStore.getState(); + expect(s.userUuid).toBe('u1'); + expect(s.userName).toBe('دکتر تست'); + expect(s.primaryRole).toBe('doctor'); + expect(s.availableContexts).toHaveLength(1); + }); +}); + +describe('switchContext', () => { + it('پاسخ موفق → db و context و primaryRole را ست می‌کند', async () => { + (fetch as ReturnType).mockResolvedValueOnce( + jsonRes({ + success: true, + data: { + db_uuid: 'db2', + db_key: 'key2', + context: { type: 'clinic', db_uuid: 'db2', name: 'کلینیک', role: 'clinic', doctor_uuid: 'doc9' }, + }, + }), + ); + await useAuthStore.getState().switchContext('db2'); + const s = useAuthStore.getState(); + expect(s.dbUuid).toBe('db2'); + expect(s.dbKey).toBe('key2'); + expect(s.primaryRole).toBe('clinic'); + expect(s.doctorUuid).toBe('doc9'); + }); +}); diff --git a/assets/admin/stores/uiStore.test.ts b/assets/admin/stores/uiStore.test.ts new file mode 100644 index 00000000..5fdde3ea --- /dev/null +++ b/assets/admin/stores/uiStore.test.ts @@ -0,0 +1,66 @@ +import { describe, it, expect, beforeEach } from 'vitest'; +import { useUiStore, HUES } from '@/stores/uiStore'; + +const initial = useUiStore.getInitialState(); + +beforeEach(() => { + localStorage.clear(); + useUiStore.setState(initial, true); + document.documentElement.className = ''; + document.documentElement.removeAttribute('data-theme'); + document.documentElement.removeAttribute('data-density'); +}); + +describe('sidebar', () => { + it('toggleSidebar وضعیت را برعکس می‌کند', () => { + expect(useUiStore.getState().sidebarOpen).toBe(true); + useUiStore.getState().toggleSidebar(); + expect(useUiStore.getState().sidebarOpen).toBe(false); + }); + it('setSidebarOpen مقدار صریح می‌گذارد', () => { + useUiStore.getState().setSidebarOpen(false); + expect(useUiStore.getState().sidebarOpen).toBe(false); + }); +}); + +describe('darkMode + applyTheme', () => { + it('toggleDarkMode کلاس dark و data-theme را روی root می‌گذارد', () => { + useUiStore.getState().toggleDarkMode(); + expect(useUiStore.getState().darkMode).toBe(true); + expect(document.documentElement.classList.contains('dark')).toBe(true); + expect(document.documentElement.getAttribute('data-theme')).toBe('dark'); + }); + it('toggle دوباره به light برمی‌گرداند', () => { + useUiStore.getState().toggleDarkMode(); + useUiStore.getState().toggleDarkMode(); + expect(useUiStore.getState().darkMode).toBe(false); + expect(document.documentElement.classList.contains('dark')).toBe(false); + expect(document.documentElement.getAttribute('data-theme')).toBe('light'); + }); +}); + +describe('density', () => { + it('setDensity مقدار و data-density را تنظیم می‌کند', () => { + useUiStore.getState().setDensity('compact'); + expect(useUiStore.getState().density).toBe('compact'); + expect(document.documentElement.getAttribute('data-density')).toBe('compact'); + }); +}); + +describe('brandHue', () => { + it('setBrandHue متغیرهای CSS را روی root می‌نویسد', () => { + const hue = HUES[2]; + useUiStore.getState().setBrandHue(hue); + expect(useUiStore.getState().brandHue).toEqual(hue); + expect(document.documentElement.style.getPropertyValue('--brand-h')).toBe(String(hue.h)); + expect(document.documentElement.style.getPropertyValue('--brand-c')).toBe(String(hue.c)); + }); +}); + +describe('settingsPanel', () => { + it('toggleSettingsPanel وضعیت را برعکس می‌کند', () => { + expect(useUiStore.getState().settingsPanelOpen).toBe(false); + useUiStore.getState().toggleSettingsPanel(); + expect(useUiStore.getState().settingsPanelOpen).toBe(true); + }); +}); diff --git a/assets/admin/test/setup.ts b/assets/admin/test/setup.ts new file mode 100644 index 00000000..8752c0c9 --- /dev/null +++ b/assets/admin/test/setup.ts @@ -0,0 +1,19 @@ +import '@testing-library/jest-dom/vitest'; +import { afterEach, vi } from 'vitest'; +import { cleanup } from '@testing-library/react'; + +afterEach(() => cleanup()); + +Object.defineProperty(window, 'matchMedia', { + writable: true, + value: (query: string) => ({ + matches: false, + media: query, + onchange: null, + addEventListener: vi.fn(), + removeEventListener: vi.fn(), + addListener: vi.fn(), + removeListener: vi.fn(), + dispatchEvent: vi.fn(), + }), +}); diff --git a/assets/admin/test/utils.tsx b/assets/admin/test/utils.tsx new file mode 100644 index 00000000..b4c09e6c --- /dev/null +++ b/assets/admin/test/utils.tsx @@ -0,0 +1,52 @@ +import { ReactElement, ReactNode } from 'react'; +import { render, renderHook } from '@testing-library/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { MemoryRouter } from 'react-router-dom'; + +export function makeClient(): QueryClient { + return new QueryClient({ + defaultOptions: { + queries: { retry: false }, + mutations: { retry: false }, + }, + }); +} + +export function Providers({ + children, + client = makeClient(), + route = '/admin/dashboard', +}: { + children: ReactNode; + client?: QueryClient; + route?: string; +}) { + return ( + + {children} + + ); +} + +export function renderWithProviders(ui: ReactElement, opts?: { route?: string }) { + const client = makeClient(); + return { + client, + ...render(ui, { + wrapper: ({ children }) => ( + + {children} + + ), + }), + }; +} + +export function renderHookWithClient(cb: () => T) { + const client = makeClient(); + return renderHook(cb, { + wrapper: ({ children }) => ( + {children} + ), + }); +} diff --git a/package.json b/package.json index e9189ef6..d7626610 100644 --- a/package.json +++ b/package.json @@ -9,15 +9,23 @@ "@symfony/ux-react": "file:vendor/symfony/ux-react/assets", "@symfony/webpack-encore": "^6.0.0", "@tailwindcss/postcss": "^4.0.0", + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@testing-library/user-event": "^14.6.1", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", + "@vitejs/plugin-react": "^4", "core-js": "^3.38.0", + "jsdom": "^29.1.1", "postcss": "^8.0.0", "postcss-loader": "^8.0.0", "regenerator-runtime": "^0.13.9", "tailwindcss": "^4.0.0", "ts-loader": "^9.6.0", "typescript": "^5.0.0", + "vite-tsconfig-paths": "^6.1.1", + "vitest": "^2", "webpack": "^5.72", "webpack-cli": "^6.0.0" }, @@ -50,6 +58,9 @@ "dev-server": "encore dev-server", "dev": "encore dev", "watch": "encore dev --watch", - "build": "encore production --progress" + "build": "encore production --progress", + "test": "vitest run", + "test:watch": "vitest", + "test:cov": "vitest run --coverage" } } diff --git a/vitest.config.mts b/vitest.config.mts new file mode 100644 index 00000000..6f3db7a0 --- /dev/null +++ b/vitest.config.mts @@ -0,0 +1,25 @@ +import { defineConfig } from 'vitest/config'; +import react from '@vitejs/plugin-react'; +import tsconfigPaths from 'vite-tsconfig-paths'; + +export default defineConfig({ + plugins: [react(), tsconfigPaths({ ignoreConfigErrors: true })], + test: { + environment: 'jsdom', + globals: true, + setupFiles: ['./assets/admin/test/setup.ts'], + include: ['assets/admin/**/*.{test,spec}.{ts,tsx}'], + css: false, + clearMocks: true, + restoreMocks: true, + coverage: { + provider: 'v8', + include: ['assets/admin/**/*.{ts,tsx}'], + exclude: [ + 'assets/admin/**/*.{test,spec}.*', + 'assets/admin/test/**', + 'assets/admin/index.tsx', + ], + }, + }, +}); diff --git a/yarn.lock b/yarn.lock index a057bb08..bdb86be1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,16 +12,37 @@ resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== -"@asamuzakjp/css-color@^3.2.0": - version "3.2.0" - resolved "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz" - integrity sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw== +"@asamuzakjp/css-color@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@asamuzakjp/css-color/-/css-color-5.1.11.tgz#28a0aac8220a4cc19045ac3bd9a813d4060bd375" + integrity sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg== dependencies: - "@csstools/css-calc" "^2.1.3" - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - lru-cache "^10.4.3" + "@asamuzakjp/generational-cache" "^1.0.1" + "@csstools/css-calc" "^3.2.0" + "@csstools/css-color-parser" "^4.1.0" + "@csstools/css-parser-algorithms" "^4.0.0" + "@csstools/css-tokenizer" "^4.0.0" + +"@asamuzakjp/dom-selector@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz#01880086bb2490098f167beb58555da1a6c9adbd" + integrity sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ== + dependencies: + "@asamuzakjp/generational-cache" "^1.0.1" + "@asamuzakjp/nwsapi" "^2.3.9" + bidi-js "^1.0.3" + css-tree "^3.2.1" + is-potential-custom-element-name "^1.0.1" + +"@asamuzakjp/generational-cache@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz#3d0bf6be4fc059851390a7070720c6007af793ec" + integrity sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg== + +"@asamuzakjp/nwsapi@^2.3.9": + version "2.3.9" + resolved "https://registry.yarnpkg.com/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz#ad5549322dfe9d153d4b4dd6f7ff2ae234b06e24" + integrity sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q== "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.29.7": version "7.29.7" @@ -37,7 +58,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz" integrity sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.12.0 || ^8.0.0-beta.1", "@babel/core@^7.13.0", "@babel/core@^7.17.0", "@babel/core@^7.28.0", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": +"@babel/core@^7.17.0", "@babel/core@^7.28.0": version "7.29.7" resolved "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz" integrity sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA== @@ -639,19 +660,19 @@ "@babel/plugin-transform-react-jsx-self@^7.27.1": version "7.29.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz#c24424527858220624fd59a5b1eab4fa413c803a" integrity sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw== dependencies: "@babel/helper-plugin-utils" "^7.29.7" "@babel/plugin-transform-react-jsx-source@^7.27.1": version "7.29.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz#5cf25a3689906b58e2f0a2f2b374789e6627b15f" integrity sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q== dependencies: "@babel/helper-plugin-utils" "^7.29.7" -"@babel/plugin-transform-react-jsx@^7.12.11", "@babel/plugin-transform-react-jsx@^7.29.7": +"@babel/plugin-transform-react-jsx@^7.29.7": version "7.29.7" resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.29.7.tgz" integrity sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A== @@ -856,7 +877,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.9.0": +"@babel/preset-react@^7.0.0": version "7.29.7" resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.29.7.tgz" integrity sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA== @@ -914,6 +935,13 @@ "@babel/helper-string-parser" "^7.29.7" "@babel/helper-validator-identifier" "^7.29.7" +"@bramus/specificity@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@bramus/specificity/-/specificity-2.4.2.tgz#aa8db8eb173fdee7324f82284833106adeecc648" + integrity sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw== + dependencies: + css-tree "^3.0.0" + "@ckeditor/ckeditor5-adapter-ckfinder@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-44.3.0.tgz" @@ -923,15 +951,6 @@ "@ckeditor/ckeditor5-upload" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-adapter-ckfinder@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-48.2.0.tgz" - integrity sha512-CSXIUWc5/DHqJJL6L3WnjgFMKpHERmB3jpzrAIupdZLnPbg1H01Ki8yeWcghzfc4nm5fy9ZSfxT4okWFPWsEpA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-upload" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-alignment@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-44.3.0.tgz" @@ -942,17 +961,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-alignment@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-48.2.0.tgz" - integrity sha512-N6UL341Kq1UFhwJlmdZHJdoxoIxQJUoEcK+vEY6fafDzNO7jIVzkFr3BdgAIgOTuarerqt/gkQbs+oLHndvgsQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-autoformat@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-44.3.0.tgz" @@ -965,17 +973,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-autoformat@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-48.2.0.tgz" - integrity sha512-KzJpfKSA+VtyaSR7asMOdM5Qz9iTUeRy5VMuXRahaQ1KWK4jgju0kJKlAgVyVCneO8Hs+44R7BEzz+nzxrhvlQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-heading" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-autosave@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-44.3.0.tgz" @@ -986,16 +983,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-autosave@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-48.2.0.tgz" - integrity sha512-qTNEUlKWbfqDM67hUtzVw12czaAsBXS4oDluAtz7Gs7ap3C+3p0i+GnNZM6NC8u7vboymi6fqLlM5aaiyUU1jA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-basic-styles@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-44.3.0.tgz" @@ -1007,18 +994,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-basic-styles@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-48.2.0.tgz" - integrity sha512-ulOc3xhQNmVfXL5xaWiHjDv8H+5fYtZ3+UKXbUMB5mnzGUX0ICx0aY63idKJe5lNPvFFetJI+PlPps6EhclHbw== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-block-quote@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-44.3.0.tgz" @@ -1031,19 +1006,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-block-quote@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-48.2.0.tgz" - integrity sha512-cE4piVJA1Wruqz/jEGXJuI1IR9qzGAbb8F+bo0D/Jy2D9kSunJwHyeHQt4sQ2sFaude5AbW8n9DYyeS11LYDag== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-bookmark@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-bookmark/-/ckeditor5-bookmark-44.3.0.tgz" @@ -1056,20 +1018,6 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-bookmark@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-bookmark/-/ckeditor5-bookmark-48.2.0.tgz" - integrity sha512-st8EIDRjawJX4Iv93S0cXnZEW3tLyhye54bj0PvOuMWjNtbxoWDCwDPUkTTckrfTJJ1wY+FN17J+HkwoLJS1DA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-link" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - "@ckeditor/ckeditor5-build-classic@^44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-44.3.0.tgz" @@ -1112,23 +1060,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-ckbox@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-48.2.0.tgz" - integrity sha512-qttYjAJVjCdkFHMVRxgWgPzh+7Eppp0wo9I/wqHgT1+pBq/z1fWlzlyCNy1xlXbhMa4jJeA94OjmQvIF1OK87A== - dependencies: - "@ckeditor/ckeditor5-cloud-services" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-image" "48.2.0" - "@ckeditor/ckeditor5-link" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-upload" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - blurhash "2.0.5" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-ckfinder@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-44.3.0.tgz" @@ -1140,19 +1071,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-ckfinder@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-48.2.0.tgz" - integrity sha512-OnoYi8R1fI6KHMFQHMBXXajHHAQXVkVpRKMa2uTwS7BEzbcQhAJUJ6QI/JxH+mJ1EDdK2xDUiOb3fvPKbjeuvQ== - dependencies: - "@ckeditor/ckeditor5-adapter-ckfinder" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-image" "48.2.0" - "@ckeditor/ckeditor5-link" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-clipboard@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-44.3.0.tgz" @@ -1165,18 +1083,6 @@ "@ckeditor/ckeditor5-widget" "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-clipboard@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-48.2.0.tgz" - integrity sha512-2xPSy1ib0NidKvxrjakvAfz8BPCpw5uxh4Azr2DEdEF+zBjlsdCk+nqlU3lO9/OiGROImq+hP2M6dcpS0CUTog== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-cloud-services@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-44.3.0.tgz" @@ -1186,15 +1092,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-cloud-services@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-48.2.0.tgz" - integrity sha512-3PsW/6uv3ecYShuVAJcMBrdMIMyfWljrm5GkXmeW5E0MG5KacfIMRjuKqXP3DhacvuxBwpN0IKp1BgvwmWmPow== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-upload" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-code-block@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-44.3.0.tgz" @@ -1208,19 +1105,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-code-block@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-48.2.0.tgz" - integrity sha512-49+8UKuZY0X4g91SkZS02+dHQ7bUSXnjWK8mENZOJ3RGxdeOw5SaxNtvMlaMvgQGRSGQOlzRBKO8+a3mOLoIVQ== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-core@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-44.3.0.tgz" @@ -1232,17 +1116,6 @@ "@ckeditor/ckeditor5-watchdog" "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-core@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-48.2.0.tgz" - integrity sha512-ooTO/BxSF2hx4MKcihq4zFWiNOGO8bVN8fE2I/El6qdnHaTV+brZwd5Ge0ykxEpy7uydmqGNeeoywMnY4j2I/A== - dependencies: - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-watchdog" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-easy-image@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-44.3.0.tgz" @@ -1254,17 +1127,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-easy-image@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-48.2.0.tgz" - integrity sha512-jeC6seMQ3+LmodTzLsYXsvcFplSvJj+iJ+FMYHcm6HW1e4EyUsbl8IDLzNdiNsVEk8BTgwDioa22IpCBIdZodw== - dependencies: - "@ckeditor/ckeditor5-cloud-services" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-image" "48.2.0" - "@ckeditor/ckeditor5-upload" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-editor-balloon@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-44.3.0.tgz" @@ -1277,17 +1139,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-editor-balloon@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-48.2.0.tgz" - integrity sha512-hyONQSh6m4Yy+lgPzPbMh9mq7EjAXY+WcYyyVIdxbVTgZkd29aLEgJgJzHZrcfM52k1uGSGzxvLtv5JttKbpYw== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-editor-classic@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-44.3.0.tgz" @@ -1300,17 +1151,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-editor-classic@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-48.2.0.tgz" - integrity sha512-1QJ3/xUdIRNI5vfRSfLrS8QYru82cQ6/QAg0B42GzxGfVL8BJQW7UZsglrpDR2zwYuHyLQu7N4eZZXzDmb2ohQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-editor-decoupled@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-44.3.0.tgz" @@ -1323,17 +1163,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-editor-decoupled@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-48.2.0.tgz" - integrity sha512-kB6TBJjZKXsTi4PgMeRvQ7Ln8AsVCshq2onIwubzQO8hFKXJr8+Q1aIx3co+tXgF12gF0p8rK6+B4hIxd78+oQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-editor-inline@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-44.3.0.tgz" @@ -1346,17 +1175,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-editor-inline@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-48.2.0.tgz" - integrity sha512-z30QvsTlOc8maqQjHwEXJqGsLpb9wIz4ow/2BXw+B0uUadmBd56YAwQ2yYlvQFs5rbgdvP/5stN0epcqTHUHHw== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-editor-multi-root@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-44.3.0.tgz" @@ -1369,17 +1187,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-editor-multi-root@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-48.2.0.tgz" - integrity sha512-PkLK5OCanAZ3wjG5pR4bCfzH/UkKD0UTAOfgmOAt3+9ORXReiSQmt5p4npkDnpr60wQ/9dkAx+bCF5FhvM/RxA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-emoji@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-emoji/-/ckeditor5-emoji-44.3.0.tgz" @@ -1394,20 +1201,6 @@ fuzzysort "3.1.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-emoji@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-emoji/-/ckeditor5-emoji-48.2.0.tgz" - integrity sha512-CWhAfLcpq48PrjWh9M84jmigwDlV2aFwgR9h9Djv7FVvV7LPBWkaU2JrSKxn7KMcVn7Rtjmje9j51VmPh772tQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-mention" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - fuzzysort "3.1.0" - "@ckeditor/ckeditor5-engine@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-44.3.0.tgz" @@ -1416,14 +1209,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-engine@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-48.2.0.tgz" - integrity sha512-80ku17bnA+U8JHrTMPMSyDZY0B9RRogfGqEw8hYhOHj6N96sbMNXQyvnnSh/szwPyAIDo2cTgbOlKkqUNn+4rA== - dependencies: - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-enter@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-44.3.0.tgz" @@ -1433,15 +1218,6 @@ "@ckeditor/ckeditor5-engine" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" -"@ckeditor/ckeditor5-enter@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-48.2.0.tgz" - integrity sha512-YZGbLDDyIzRMmITlEsVNmFhyTSFg4ZLQfQf70YnPOIXu38rnHrCS3cKPA+IYedc7pwdLHNA3zvSlGh8F30+V3w== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-essentials@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-44.3.0.tgz" @@ -1456,19 +1232,6 @@ "@ckeditor/ckeditor5-undo" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-essentials@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-48.2.0.tgz" - integrity sha512-ZWA+RvckTsjnajg7p9FE3Q4RoEqKuQClLoHB+SiLCmCN0grFp4K+msLk2h8n4Wrr1gzTO61Fs0VpFjLd8pN8nA== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-select-all" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-undo" "48.2.0" - "@ckeditor/ckeditor5-find-and-replace@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-44.3.0.tgz" @@ -1480,18 +1243,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-find-and-replace@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-48.2.0.tgz" - integrity sha512-TcmhZ2Z8gq8PT9BVhI//2G6g4dBESznJ5LzniGR9m5w/dNPxUo+Qf4Aipp7u68nFYtevJAckMLSKF9EpYhmDQw== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-font@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-44.3.0.tgz" @@ -1503,29 +1254,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-font@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-48.2.0.tgz" - integrity sha512-YB8/u4gOktKwHfxHGM+b+PM464JY1JwY32/TDd4GV7ptg3dRxK7pbLglSR9FjxISMg1fC7t+noMZJ4G/ni6zQg== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - -"@ckeditor/ckeditor5-fullscreen@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-fullscreen/-/ckeditor5-fullscreen-48.2.0.tgz" - integrity sha512-34dTisns5muLJzwpIpLy5FWnqLEKyBKp7X9F6zHR0lEIWv8x0jSfVGNsLsGHWQh7QIkPMWwx8HhsJJwQOOwB0w== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-editor-classic" "48.2.0" - "@ckeditor/ckeditor5-editor-decoupled" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-heading@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-44.3.0.tgz" @@ -1538,19 +1266,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-heading@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-48.2.0.tgz" - integrity sha512-KCtnFyTIwTPq5Sq6HqjS4qmLtSvN0CC7IvE5ER6Mqu8gusmbjdwU2hKyCKrOwnasgmenUxL4ZlIG0C3yrylDKA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-paragraph" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-highlight@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-44.3.0.tgz" @@ -1561,17 +1276,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-highlight@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-48.2.0.tgz" - integrity sha512-kDnyioMZVxq+QuFu8mFIG4pPQLobjwfenrDfWbdhfBdX9w45SzomT4qQJGC+PXhX31+IjuLiwtKzoR9hRz6W6A== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-horizontal-line@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-44.3.0.tgz" @@ -1583,18 +1287,6 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-horizontal-line@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-48.2.0.tgz" - integrity sha512-EHOS2ynz+LO5xd8rBCtyOL1OfywjttMRWUiIU7Bj9/2wBNWcxHFURpNRpJtSKioYszyAfBZmU+dPWpFXONMFZw== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - "@ckeditor/ckeditor5-html-embed@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-44.3.0.tgz" @@ -1606,18 +1298,6 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-html-embed@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-48.2.0.tgz" - integrity sha512-KT/Bj8S6ZGmoxDBHRzdlKRlQWNHPRtMU7T0wPtX6idVcK97ZaINRY6qfGuxJLKBNiymzaiWlc6wsN7NdIAp5Vg== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - "@ckeditor/ckeditor5-html-support@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-44.3.0.tgz" @@ -1635,29 +1315,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-html-support@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-48.2.0.tgz" - integrity sha512-fjGj6abXEOXzUnOIkP0hdnNMxhKlnP+UdrtWep3cNy9YnXCNypBGnhqAE/jfI+Q17DsEajnxNfLwiH1OTZ4B+A== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-heading" "48.2.0" - "@ckeditor/ckeditor5-image" "48.2.0" - "@ckeditor/ckeditor5-list" "48.2.0" - "@ckeditor/ckeditor5-remove-format" "48.2.0" - "@ckeditor/ckeditor5-table" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - es-toolkit "1.45.1" - -"@ckeditor/ckeditor5-icons@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-icons/-/ckeditor5-icons-48.2.0.tgz" - integrity sha512-w5WVrweq8iaXhf7msnZ9b9GtlGSM1jQe6jvezVs+X4OkZd+QMkkQ+ROPp1TZniXLUKx3+Q872KUPxsl9FBSMMg== - "@ckeditor/ckeditor5-image@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-44.3.0.tgz" @@ -1675,23 +1332,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-image@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-48.2.0.tgz" - integrity sha512-rbl6MRlNjotA+LhXroksLhspDxIiwRTeciY/B1OShMzjNIFc07pY691uIM/roJzu+L84TLQfejC3SdzY2xufXg== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-undo" "48.2.0" - "@ckeditor/ckeditor5-upload" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-indent@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-44.3.0.tgz" @@ -1705,19 +1345,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-indent@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-48.2.0.tgz" - integrity sha512-Nwu0HqLzpHdqOpKHNjk4KDcGGS3BwAELjH2piIDQsc3HkHQRfmfi25KlTk/gfbnwBebTvKfPyy/1opD69aJxBA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-heading" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-list" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-integrations-common@^2.4.0": version "2.4.1" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-integrations-common/-/ckeditor5-integrations-common-2.4.1.tgz" @@ -1733,16 +1360,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-language@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-language/-/ckeditor5-language-48.2.0.tgz" - integrity sha512-XnzCyoiB+pIpFTQInmo9jgHfR/8UBLdVFO2mLMfwdSpWI0iJRwtMzTZx2dEikebGX1/6PIJAiWFBDb/dzYeSqQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-link@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-44.3.0.tgz" @@ -1760,23 +1377,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-link@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-48.2.0.tgz" - integrity sha512-kwENWSQdFIjyioIftXgXNxXts2UMcN95iG50P5LM8dNDkWES76KuFrPb7r3ihdTKCnZN6gJjTFxi3HHehhWEQg== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-image" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-list@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-44.3.0.tgz" @@ -1791,22 +1391,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-list@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-48.2.0.tgz" - integrity sha512-i5PwMQ26w3o+AoH7ouChmLBa4wIenlPy9QHKsh2mSZz0qZl8fbTf6lU+LPCI4wIUt2qHUPya/SUkFIz3+8bXOA== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-font" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-markdown-gfm@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-44.3.0.tgz" @@ -1822,30 +1406,6 @@ turndown "7.2.0" turndown-plugin-gfm "1.0.2" -"@ckeditor/ckeditor5-markdown-gfm@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-48.2.0.tgz" - integrity sha512-XD8+taDeUH7WBKyQuwk421j70uUg8gIBO5hUYzwoEhuTWzkZEe9hfATh4qKE9iDYkHA3HXVHtcHXr9L001Qakw== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@types/hast" "3.0.4" - hast-util-from-dom "5.0.1" - hast-util-to-html "9.0.5" - hast-util-to-mdast "10.1.2" - hastscript "9.0.1" - rehype-dom-parse "5.0.2" - rehype-dom-stringify "4.0.2" - rehype-remark "10.0.1" - remark-breaks "4.0.0" - remark-gfm "4.0.1" - remark-parse "11.0.0" - remark-rehype "11.1.2" - remark-stringify "11.0.0" - unified "11.0.5" - unist-util-visit "5.0.0" - "@ckeditor/ckeditor5-media-embed@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-44.3.0.tgz" @@ -1861,21 +1421,6 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-media-embed@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-48.2.0.tgz" - integrity sha512-uM1FhPw/jj/xr+RabIMaXHvcHnLUUFEWlPWx5wE7RWW2lucKt0mJ5xAMUo6TqATKuavKrVX3fL98/Cbv+Y6bpg== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-undo" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - "@ckeditor/ckeditor5-mention@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-44.3.0.tgz" @@ -1888,18 +1433,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-mention@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-48.2.0.tgz" - integrity sha512-826BaVDvvkZT/qb7UTwpzLkoKuBFfBd9UQDJg1+iwppTbIl9XmwFW1SVcpOQNwv4eH8aZqEylMEJk+DoSalEoA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-minimap@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-44.3.0.tgz" @@ -1911,16 +1444,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-minimap@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-48.2.0.tgz" - integrity sha512-BrqFY9XpHdxqeswY/NWYlcmYTy/LshUFGHADvMCmyjbRMd78ws1cMiP21oxy18Z6LvkL/IsiC9g1tk4G1hB5zQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-page-break@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-44.3.0.tgz" @@ -1932,18 +1455,6 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-page-break@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-48.2.0.tgz" - integrity sha512-cddeD4R9c5soyZ0Y218i/t373qDiYgfvdW4Sm8KgpEj90kDx2Hy1OlZB29BXYg7a7rIujIZsXsHZcVHPHaOxzA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - "@ckeditor/ckeditor5-paragraph@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-44.3.0.tgz" @@ -1954,17 +1465,6 @@ "@ckeditor/ckeditor5-ui" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" -"@ckeditor/ckeditor5-paragraph@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-48.2.0.tgz" - integrity sha512-vo8xor5aAzRelxpQt0ZghjpYi2N5Hy2iAtyU1scMlgxGEJzX85b2qN+xN/lKVQUbEzvHFqQHaATjSiuMGDG8ZA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-paste-from-office@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-44.3.0.tgz" @@ -1975,16 +1475,6 @@ "@ckeditor/ckeditor5-engine" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-paste-from-office@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-48.2.0.tgz" - integrity sha512-8T1/DS3iXJOE4xseTAOBsHqTrRqQB4axGaXW11Mrfw3IVdMwfJV9N/4Yeja+AovPkgOyGLluTxxcpyNCMXITMQ== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-react@^11.2.0": version "11.2.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-react/-/ckeditor5-react-11.2.0.tgz" @@ -2002,17 +1492,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-remove-format@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-48.2.0.tgz" - integrity sha512-dPwkXs3E0ckisv0YZHcLKjyk2hOO/ZUq4AcOxW6BgfsVRAiXMicuYmQRjNPGussb80+54ZEaYS++f72SDRc4XA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-restricted-editing@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-44.3.0.tgz" @@ -2024,19 +1503,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-restricted-editing@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-48.2.0.tgz" - integrity sha512-l1Q1/y4zseqHhTTG/VsgSPIQ17WW6TrpUOk2W6w/kvmiuD3L0WuClQ+YJ9SNKItMeO0Rp5DbzKfH6daI9DAXRA== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-select-all@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-44.3.0.tgz" @@ -2047,17 +1513,6 @@ "@ckeditor/ckeditor5-ui" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" -"@ckeditor/ckeditor5-select-all@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-48.2.0.tgz" - integrity sha512-HFC8lPT/bT71uUHqvEwoLFwKu3UnsXXOghh1XIcTgILnRjDWHEY3ttSrpGTsQxlRjmSb6IPxf1hkj+RHmqv5zg== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-show-blocks@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-44.3.0.tgz" @@ -2068,17 +1523,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-show-blocks@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-48.2.0.tgz" - integrity sha512-ty0Hg0YYQOrbvpWoCyw63x/vfWURhAzbqyZyG733A3NF+LDmONgxDW1LVhvb7T2hhnvhUGwYsFRLN4P65tTCaA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-source-editing@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-44.3.0.tgz" @@ -2090,16 +1534,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-source-editing@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-48.2.0.tgz" - integrity sha512-TIXQDtsBHhh3+7Z6e5CEgBJ7T1gYY3+mp8FiaSUzzKLZEqq0QQVERBoNx1ojG9uWmVn9wctjF/vAlnY0xs0doA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-special-characters@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-44.3.0.tgz" @@ -2111,17 +1545,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" -"@ckeditor/ckeditor5-special-characters@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-48.2.0.tgz" - integrity sha512-jvydvV/3+UqOabg/wcZZYaP5q36aPk+NEBqF0nTsR0oIPGxlaw8ihbXsdcF8UX8+kkkXU/awr+Uowiay8hs2AA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-style@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-44.3.0.tgz" @@ -2137,21 +1560,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-style@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-48.2.0.tgz" - integrity sha512-N0RJNPrP8NcCvPLKCAYeaJSnx4qg+cZL9u9hvYtdnI0NITUYdhgVCurZqOjubw9CQrfUYAVkka40M1Q2/0eUOg== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-html-support" "48.2.0" - "@ckeditor/ckeditor5-list" "48.2.0" - "@ckeditor/ckeditor5-table" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-table@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-44.3.0.tgz" @@ -2166,21 +1574,6 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-table@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-48.2.0.tgz" - integrity sha512-YsqUdqGQiY+StFWTYKtWzqkuUgR970czEe8tJabPzh46fgvHEGxATPqHVnHq6Y5Fmx7TL+df+CvLTyElYAFmsQ== - dependencies: - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-theme-lark@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-44.3.0.tgz" @@ -2198,16 +1591,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-typing@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-48.2.0.tgz" - integrity sha512-aYigcMZn3Ae9qfEDcy6Wg+W0xjw9Z+nT9Iryl8JIqyLTCbLW7eOrLy2aXWmoHvcegFfAtTLaIigRT8j4ZQm3SQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-ui@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-44.3.0.tgz" @@ -2223,22 +1606,6 @@ lodash-es "4.17.21" vanilla-colorful "0.7.2" -"@ckeditor/ckeditor5-ui@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-48.2.0.tgz" - integrity sha512-J43uo8TPR5awC8fw7CBlgx+tXGiyD2kuomELEJeaeoOw26ADEpLfnYZKlB1mb+VKnXJ43IHuqv/6GFF1hPKhpg== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-editor-multi-root" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@types/color-convert" "2.0.4" - color-convert "3.1.0" - color-parse "2.0.2" - es-toolkit "1.45.1" - vanilla-colorful "0.7.2" - "@ckeditor/ckeditor5-undo@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-44.3.0.tgz" @@ -2249,17 +1616,6 @@ "@ckeditor/ckeditor5-ui" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" -"@ckeditor/ckeditor5-undo@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-48.2.0.tgz" - integrity sha512-nWGPcFI9K/Pl1UhErAHN3HZRucU3FuK9ECyufc+640I5UWdFwCDMEdij+lfdegEIwvN2T3tZE52f1BnL83wdzQ== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-upload@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-44.3.0.tgz" @@ -2268,14 +1624,6 @@ "@ckeditor/ckeditor5-core" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" -"@ckeditor/ckeditor5-upload@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-48.2.0.tgz" - integrity sha512-sY/wuaBypDxQknplKI90zhtiY0VnpSB07zvHw2ednU3QjxnTLXYsEEENuEswLd9tWwuQ1v5qvqKRM5LFuiaKZg== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-utils@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-44.3.0.tgz" @@ -2285,14 +1633,6 @@ "@types/lodash-es" "4.17.12" lodash-es "4.17.21" -"@ckeditor/ckeditor5-utils@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-48.2.0.tgz" - integrity sha512-htCvovEGW2MCKnnX8T0jwoxGqsLiwBp8wg65sr5nXx8i+B9IUAHZlnIK1VNE8g1ZLl1qhoaQTpbQTL12W5sTTw== - dependencies: - "@ckeditor/ckeditor5-ui" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-watchdog@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-44.3.0.tgz" @@ -2304,16 +1644,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-watchdog@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-48.2.0.tgz" - integrity sha512-o8i6a20WzgxGOqk2ZYgithtDyfVjNog7I/NECsDFyEU1u8hkrO/IdYblUOEFQgT8QySIcUBKiV+5fA8wZSv+XA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-widget@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-44.3.0.tgz" @@ -2327,20 +1657,6 @@ "@ckeditor/ckeditor5-utils" "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-widget@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-48.2.0.tgz" - integrity sha512-O8V7juKYJ6muzeRw1dm+o3jQ75PG6Tm582XFegIFMnAA+j1iXb2fEaw2Mvb07uGC9x8Xpaz63b2sSYC1EheJ6A== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@ckeditor/ckeditor5-word-count@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-44.3.0.tgz" @@ -2352,74 +1668,68 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" -"@ckeditor/ckeditor5-word-count@48.2.0": - version "48.2.0" - resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-48.2.0.tgz" - integrity sha512-CzXyNmkd2nqo9TR+JeQQWPXSh8sP3akqaKy5OUMlDee7l849heOn+q6mMesqzWxySdq51cy/YgfHOJnfWuv2eA== - dependencies: - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - es-toolkit "1.45.1" - "@colordx/core@^5.4.3": version "5.4.3" resolved "https://registry.npmjs.org/@colordx/core/-/core-5.4.3.tgz" integrity sha512-kIxYSfA5T8HXjav55UaaH/o/cKivF6jCCGIb8eqtcsfI46wsvlSiT8jMDyrl779qLec3c2c2oHBZo4oAhvbjrQ== -"@csstools/color-helpers@^5.1.0": - version "5.1.0" - resolved "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz" - integrity sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA== +"@csstools/color-helpers@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-6.1.0.tgz#18903248db1da28285e8458793b038f60d738cf1" + integrity sha512-064IFJdjTfUqnjpCVpMOdbr8FLQBhinbZj6yRv2An2E41O/pLEXqfFRWqGq/SxlE5PEUYTlvWsG2r8MswAVvkg== -"@csstools/css-calc@^2.1.3", "@csstools/css-calc@^2.1.4": - version "2.1.4" - resolved "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz" - integrity sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ== +"@csstools/css-calc@^3.2.0", "@csstools/css-calc@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-3.2.1.tgz#b30e061ca9f297ccb2b3b032bfee32fda02b1b27" + integrity sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg== -"@csstools/css-color-parser@^3.0.9": - version "3.1.0" - resolved "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz" - integrity sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA== +"@csstools/css-color-parser@^4.1.0": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-4.1.9.tgz#a39145a8582dfe07640dff5ccab8b92934242987" + integrity sha512-paQcIaOO53Rk5+YrBaBjm/SgrV4INImjo2BT1DtQRYr+XeTRbeAYlS+jxXp9drqvKmtFnWRJKIalDLhZZDu42A== dependencies: - "@csstools/color-helpers" "^5.1.0" - "@csstools/css-calc" "^2.1.4" + "@csstools/color-helpers" "^6.1.0" + "@csstools/css-calc" "^3.2.1" -"@csstools/css-parser-algorithms@^3.0.4", "@csstools/css-parser-algorithms@^3.0.5": - version "3.0.5" - resolved "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz" - integrity sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ== +"@csstools/css-parser-algorithms@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz#e1c65dc09378b42f26a111fca7f7075fc2c26164" + integrity sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w== -"@csstools/css-tokenizer@^3.0.3", "@csstools/css-tokenizer@^3.0.4": - version "3.0.4" - resolved "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz" - integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw== +"@csstools/css-syntax-patches-for-csstree@^1.1.3": + version "1.1.6" + resolved "https://registry.yarnpkg.com/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.6.tgz#3a1e91cefb65b4a74ae7dd78c9b2dd60cdbf3ad4" + integrity sha512-TcJCWFbXLPpJYq6z7bfOyjWYJDiDg2/I4gyUC9pqPNqHFRIey0EB0q0L5cSnQDfWJg8Jd6VadakxdIez/3zkqQ== + +"@csstools/css-tokenizer@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz#798a33950d11226a0ebb6acafa60f5594424967f" + integrity sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA== "@discoveryjs/json-ext@^0.6.1": version "0.6.3" resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz" integrity sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ== -"@emnapi/core@^1.7.1": - version "1.10.0" - resolved "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz" - integrity sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw== +"@emnapi/core@^1.10.0": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.11.1.tgz#b9e1064f3a6b1631e241e638eb48d736bfd372a6" + integrity sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ== dependencies: - "@emnapi/wasi-threads" "1.2.1" + "@emnapi/wasi-threads" "1.2.2" tslib "^2.4.0" -"@emnapi/runtime@^1.7.1": - version "1.10.0" - resolved "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz" - integrity sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA== +"@emnapi/runtime@^1.10.0": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.11.1.tgz#58f1f3d5d81a9b12f793ab688c96371901027c24" + integrity sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw== dependencies: tslib "^2.4.0" -"@emnapi/wasi-threads@1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz" - integrity sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w== +"@emnapi/wasi-threads@1.2.2", "@emnapi/wasi-threads@^1.2.1": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz#4c93becf5bfa3b13d1bbdcc06aee38321ad8139a" + integrity sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA== dependencies: tslib "^2.4.0" @@ -2511,6 +1821,126 @@ resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz" integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + +"@esbuild/darwin-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" + integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== + +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== + +"@exodus/bytes@^1.11.0", "@exodus/bytes@^1.15.0", "@exodus/bytes@^1.6.0": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@exodus/bytes/-/bytes-1.15.1.tgz#b13bc464ca162c17abf0837fb3a11aeab79e45d1" + integrity sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q== + "@floating-ui/core@^1.7.5": version "1.7.5" resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz" @@ -2553,7 +1983,7 @@ resolved "https://registry.npmjs.org/@hotwired/stimulus-webpack-helpers/-/stimulus-webpack-helpers-1.0.1.tgz" integrity sha512-wa/zupVG0eWxRYJjC1IiPBdt3Lruv0RqGN+/DTMmUWUyMAEB27KXmVY6a8YpUVTM7QwVuaLNGW4EqDgrS2upXQ== -"@hotwired/stimulus@^3.0", "@hotwired/stimulus@^3.0.0", "@hotwired/stimulus@>= 3.0": +"@hotwired/stimulus@^3.0.0": version "3.2.2" resolved "https://registry.npmjs.org/@hotwired/stimulus/-/stimulus-3.2.2.tgz" integrity sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A== @@ -2643,10 +2073,12 @@ resolved "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz" integrity sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw== -"@oxc-project/types@=0.133.0": - version "0.133.0" - resolved "https://registry.npmjs.org/@oxc-project/types/-/types-0.133.0.tgz" - integrity sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA== +"@napi-rs/wasm-runtime@^1.1.4": + version "1.1.6" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz#ed33806d0f9be98dc76d0c3d4fd872fda701b5d5" + integrity sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg== + dependencies: + "@tybys/wasm-util" "^0.10.3" "@react-leaflet/core@^3.0.0": version "3.0.0" @@ -2665,27 +2097,142 @@ redux-thunk "^3.1.0" reselect "^5.1.0" -"@rolldown/binding-darwin-arm64@1.0.3": - version "1.0.3" - resolved "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz" - integrity sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA== - -"@rolldown/pluginutils@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz" - integrity sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw== - "@rolldown/pluginutils@1.0.0-beta.27": version "1.0.0-beta.27" - resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz#47d2bf4cef6d470b22f5831b420f8964e0bf755f" integrity sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA== +"@rollup/rollup-android-arm-eabi@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz#5e9849b661c2229cf967a08dbe2dbbe9e8c991e5" + integrity sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg== + +"@rollup/rollup-android-arm64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz#5b0699ee5dd484b222c9ed74aff43c91ea8b17f8" + integrity sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw== + +"@rollup/rollup-darwin-arm64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz#8bc52c9d7a3ce8d0533c351a9c935de781daa06f" + integrity sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A== + +"@rollup/rollup-darwin-x64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz#ba2ef3e8fb310f0af35588f270cfa5aa96e48764" + integrity sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA== + +"@rollup/rollup-freebsd-arm64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz#93b10bdbfe8ada226b8bc0c02ef6b7f544474d96" + integrity sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw== + +"@rollup/rollup-freebsd-x64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz#3e8aa38ef3c9c300946871e3fdbb0c30e0a20f86" + integrity sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg== + +"@rollup/rollup-linux-arm-gnueabihf@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz#1d7994384bb0ad1bc41921b506e1642d4f9d7fc3" + integrity sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg== + +"@rollup/rollup-linux-arm-musleabihf@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz#a6540f47cf844a56b80ca9ff95d2acdfb2cef97b" + integrity sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA== + +"@rollup/rollup-linux-arm64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz#404f2045651840cbf48da91ba6d0f490f0bc2cbf" + integrity sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA== + +"@rollup/rollup-linux-arm64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz#a3404ffddf7b474b48c99b9c893b6247bb765ba5" + integrity sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ== + +"@rollup/rollup-linux-loong64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz#e8aac6d549b377945e349882f199b7c8eb75ca38" + integrity sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg== + +"@rollup/rollup-linux-loong64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz#6e2e44ea50310b3a582078a915e5feb879c820d4" + integrity sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ== + +"@rollup/rollup-linux-ppc64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz#6898302da6d77a0537cde64b2b4c6b60659bd110" + integrity sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A== + +"@rollup/rollup-linux-ppc64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz#333717c95dd5a66bef8f63e7ef8a9fd845fd18d0" + integrity sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w== + +"@rollup/rollup-linux-riscv64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz#81bc06ba380352004d01f4826eb7cdccefa05bad" + integrity sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg== + +"@rollup/rollup-linux-riscv64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz#95a7cd39de21389ad6788a5284eaaa738e29ca4c" + integrity sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q== + +"@rollup/rollup-linux-s390x-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz#06e6db2ec1bc48b5374c7923ef83c2eb024b2452" + integrity sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg== + +"@rollup/rollup-linux-x64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz#5dc818988285e09e88790c6462def72413df2da3" + integrity sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A== + +"@rollup/rollup-linux-x64-musl@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz#2080f4a93349e9afd34be6fc1a37e01fc8bfc80f" + integrity sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg== + +"@rollup/rollup-openbsd-x64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz#21d64a8acb66221724b923e51af5333df1af044b" + integrity sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg== + +"@rollup/rollup-openharmony-arm64@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz#8e0fcd9d02141e337b4c5b5cff576cb9a76b1ba0" + integrity sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA== + +"@rollup/rollup-win32-arm64-msvc@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz#bdb4cc4efd58efe808203347f0f5463f0ea16e52" + integrity sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg== + +"@rollup/rollup-win32-ia32-msvc@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz#dbaebde5afd24eae0eefe915d901632e7cb59860" + integrity sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q== + +"@rollup/rollup-win32-x64-gnu@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz#84109e85fea5f8f1353499f96578fdc2a0e8b138" + integrity sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg== + +"@rollup/rollup-win32-x64-msvc@4.62.2": + version "4.62.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz#3671ce3f9b928d5c01f879792d5c0b60ae14d4ad" + integrity sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA== + "@sinclair/typebox@^0.34.0": version "0.34.49" resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz" integrity sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A== -"@standard-schema/spec@^1.0.0", "@standard-schema/spec@^1.1.0": +"@standard-schema/spec@^1.0.0": version "1.1.0" resolved "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz" integrity sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== @@ -2695,7 +2242,7 @@ resolved "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz" integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g== -"@symfony/stimulus-bridge@^3.0.0 || ^4.0.0", "@symfony/stimulus-bridge@^3.2.0 || ^4.0.0": +"@symfony/stimulus-bridge@^3.2.0 || ^4.0.0": version "4.0.1" resolved "https://registry.npmjs.org/@symfony/stimulus-bridge/-/stimulus-bridge-4.0.1.tgz" integrity sha512-+/kSQ4qFXMbZS+HjkhzOxwdN+60pMev7kzzDpQV/Tdm/iIWoxx5GDsVcdLaBb2783BVQHyrBP72JerF2SXTbTg== @@ -2707,7 +2254,6 @@ "@symfony/ux-react@file:vendor/symfony/ux-react/assets": version "2.35.0" - resolved "file:vendor/symfony/ux-react/assets" "@symfony/webpack-encore@^6.0.0": version "6.0.0" @@ -2744,11 +2290,31 @@ source-map-js "^1.2.1" tailwindcss "4.3.0" +"@tailwindcss/oxide-android-arm64@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.0.tgz#e4533b6125236fe81a899cf5a82028c85244def8" + integrity sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng== + "@tailwindcss/oxide-darwin-arm64@4.3.0": version "4.3.0" resolved "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz" integrity sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ== +"@tailwindcss/oxide-darwin-x64@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.0.tgz#0d9638d06d38684339b2dc06631966a7296bb64e" + integrity sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA== + +"@tailwindcss/oxide-freebsd-x64@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.0.tgz#efc7acd17cd38d7585c07cb938a4f1b703f79d7a" + integrity sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ== + +"@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.0.tgz#e41c945e529670cd93fd6ed0c6a2880de5c40333" + integrity sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA== + "@tailwindcss/oxide-linux-arm64-gnu@4.3.0": version "4.3.0" resolved "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.0.tgz" @@ -2759,6 +2325,38 @@ resolved "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.0.tgz" integrity sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ== +"@tailwindcss/oxide-linux-x64-gnu@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.0.tgz#5267c0bb2597426c0d2e759acb5389cde2aa71fd" + integrity sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ== + +"@tailwindcss/oxide-linux-x64-musl@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.0.tgz#fb2da97c67b218e5c7c723cb32782d55d7e4a5d5" + integrity sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg== + +"@tailwindcss/oxide-wasm32-wasi@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.0.tgz#3f6538e511066d67d8683863dcaeeb16c22de849" + integrity sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA== + dependencies: + "@emnapi/core" "^1.10.0" + "@emnapi/runtime" "^1.10.0" + "@emnapi/wasi-threads" "^1.2.1" + "@napi-rs/wasm-runtime" "^1.1.4" + "@tybys/wasm-util" "^0.10.1" + tslib "^2.8.1" + +"@tailwindcss/oxide-win32-arm64-msvc@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.0.tgz#ec45fba773c76759338c05d4fe5cf42c4eea2e4e" + integrity sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ== + +"@tailwindcss/oxide-win32-x64-msvc@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.0.tgz#58cdd6e06adbe2e3160274edfcd0b0b43e17fee4" + integrity sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA== + "@tailwindcss/oxide@4.3.0": version "4.3.0" resolved "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.0.tgz" @@ -2812,9 +2410,9 @@ resolved "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz" integrity sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg== -"@testing-library/dom@^10.4.0", "@testing-library/dom@>=7.21.4": +"@testing-library/dom@^10.4.1": version "10.4.1" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.4.1.tgz#d444f8a889e9a46e9a3b4f3b88e0fcb3efb6cf95" integrity sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg== dependencies: "@babel/code-frame" "^7.10.4" @@ -2826,9 +2424,9 @@ picocolors "1.1.1" pretty-format "^27.0.2" -"@testing-library/jest-dom@^6.6.3": +"@testing-library/jest-dom@^6.9.1": version "6.9.1" - resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz#7613a04e146dd2976d24ddf019730d57a89d56c2" integrity sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA== dependencies: "@adobe/css-tools" "^4.4.0" @@ -2838,9 +2436,16 @@ picocolors "^1.1.1" redent "^3.0.0" +"@testing-library/react@^16.3.2": + version "16.3.2" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-16.3.2.tgz#672883b7acb8e775fc0492d9e9d25e06e89786d0" + integrity sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/user-event@^14.6.1": version "14.6.1" - resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz" + resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.6.1.tgz#13e09a32d7a8b7060fe38304788ebf4197cd2149" integrity sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw== "@tybys/wasm-util@^0.10.1": @@ -2850,6 +2455,13 @@ dependencies: tslib "^2.4.0" +"@tybys/wasm-util@^0.10.3": + version "0.10.3" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.3.tgz#015cba9e9dd47ce14d03d2a8c5d547bfb169665d" + integrity sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg== + dependencies: + tslib "^2.4.0" + "@types/aria-query@^5.0.1": version "5.0.4" resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" @@ -2857,7 +2469,7 @@ "@types/babel__core@^7.20.5": version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" @@ -2868,14 +2480,14 @@ "@types/babel__generator@*": version "7.27.0" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" @@ -2883,19 +2495,11 @@ "@types/babel__traverse@*": version "7.28.0" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== dependencies: "@babel/types" "^7.28.2" -"@types/chai@^5.2.2": - version "5.2.3" - resolved "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz" - integrity sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA== - dependencies: - "@types/deep-eql" "*" - assertion-error "^2.0.1" - "@types/color-convert@2.0.4": version "2.0.4" resolved "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.4.tgz" @@ -2959,19 +2563,7 @@ resolved "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz" integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw== -"@types/debug@^4.0.0": - version "4.1.13" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz" - integrity sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw== - dependencies: - "@types/ms" "*" - -"@types/deep-eql@*": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz" - integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== - -"@types/estree@^1.0.0", "@types/estree@^1.0.8": +"@types/estree@1.0.9", "@types/estree@^1.0.0", "@types/estree@^1.0.8": version "1.0.9" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz" integrity sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== @@ -2981,13 +2573,6 @@ resolved "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz" integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== -"@types/hast@^3.0.0", "@types/hast@3.0.4": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" - integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== - dependencies: - "@types/unist" "*" - "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.6": version "2.0.6" resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" @@ -3036,19 +2621,7 @@ resolved "https://registry.npmjs.org/@types/marked/-/marked-4.3.2.tgz" integrity sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w== -"@types/mdast@^4.0.0": - version "4.0.4" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz" - integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== - dependencies: - "@types/unist" "*" - -"@types/ms@*": - version "2.1.0" - resolved "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz" - integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== - -"@types/node@*", "@types/node@^20.0.0 || ^22.0.0 || >=24.0.0", "@types/node@^20.19.0 || >=22.12.0": +"@types/node@*": version "25.9.2" resolved "https://registry.npmjs.org/@types/node/-/node-25.9.2.tgz" integrity sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw== @@ -3060,7 +2633,7 @@ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== -"@types/react-dom@^18.0 || ^19.0", "@types/react-dom@^19.0.0": +"@types/react-dom@^19.0.0": version "19.2.3" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz" integrity sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ== @@ -3070,7 +2643,7 @@ resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz" integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== -"@types/react@*", "@types/react@^18.0 || ^19.0", "@types/react@^18.2.25 || ^19", "@types/react@^19.0.0", "@types/react@^19.2.0", "@types/react@>=18.0.0": +"@types/react@^19.0.0": version "19.2.17" resolved "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz" integrity sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw== @@ -3082,17 +2655,12 @@ resolved "https://registry.npmjs.org/@types/turndown/-/turndown-5.0.5.tgz" integrity sha512-TL2IgGgc7B5j78rIccBtlYAnkuv8nUQqhQc+DSYV5j9Be9XOcm/SKOVRuA47xAVI3680Tk9B1d8flK2GWT2+4w== -"@types/unist@*", "@types/unist@^3.0.0": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz" - integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== - "@types/use-sync-external-store@^0.0.6": version "0.0.6" resolved "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz" integrity sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg== -"@types/webpack-env@^1.16", "@types/webpack-env@^1.16.4": +"@types/webpack-env@^1.16.4": version "1.18.8" resolved "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.8.tgz" integrity sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A== @@ -3109,14 +2677,14 @@ dependencies: "@types/yargs-parser" "*" -"@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.3.0": +"@ungap/structured-clone@^1.3.0": version "1.3.1" resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz" integrity sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ== -"@vitejs/plugin-react@^4.1.0": +"@vitejs/plugin-react@^4": version "4.7.0" - resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz#647af4e7bb75ad3add578e762ad984b90f4a24b9" integrity sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA== dependencies: "@babel/core" "^7.28.0" @@ -3126,67 +2694,66 @@ "@types/babel__core" "^7.20.5" react-refresh "^0.17.0" -"@vitest/expect@4.1.8": - version "4.1.8" - resolved "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.8.tgz" - integrity sha512-h3nDO677RDLEGlBxyQ5CW8RlMThSKSRLUePLOx09gNIWRL40edgA1GCZSZgf1W55MFAG6/Sw14KeaAnqv0NKdQ== +"@vitest/expect@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-2.1.9.tgz#b566ea20d58ea6578d8dc37040d6c1a47ebe5ff8" + integrity sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw== dependencies: - "@standard-schema/spec" "^1.1.0" - "@types/chai" "^5.2.2" - "@vitest/spy" "4.1.8" - "@vitest/utils" "4.1.8" - chai "^6.2.2" - tinyrainbow "^3.1.0" + "@vitest/spy" "2.1.9" + "@vitest/utils" "2.1.9" + chai "^5.1.2" + tinyrainbow "^1.2.0" -"@vitest/mocker@4.1.8": - version "4.1.8" - resolved "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.8.tgz" - integrity sha512-LEiN/xe4OSIbKe9HQIp5OC24agGD9J5CnmMgsLohVVoOPWL9a2sBoR6VBx43jQZb7Kr1l4RCuyCJzcAa0+dojw== +"@vitest/mocker@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-2.1.9.tgz#36243b27351ca8f4d0bbc4ef91594ffd2dc25ef5" + integrity sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg== dependencies: - "@vitest/spy" "4.1.8" + "@vitest/spy" "2.1.9" estree-walker "^3.0.3" - magic-string "^0.30.21" + magic-string "^0.30.12" -"@vitest/pretty-format@4.1.8": - version "4.1.8" - resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.8.tgz" - integrity sha512-9GasEBxpZ1VYIpqHf/0+YGg121uSNwCKOJqIrTwWP/TB7DmFCiaBpNl3aPZzoLWfWkuqhbH8vJIVobZkvdo2cA== +"@vitest/pretty-format@2.1.9", "@vitest/pretty-format@^2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.1.9.tgz#434ff2f7611689f9ce70cd7d567eceb883653fdf" + integrity sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ== dependencies: - tinyrainbow "^3.1.0" + tinyrainbow "^1.2.0" -"@vitest/runner@4.1.8": - version "4.1.8" - resolved "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.8.tgz" - integrity sha512-EmVxeBAfMJvycdjd6Hm+RbFBbA9fKvo0Kx37hNpBYoYeavH3RNsBXWDooR1mgD52dCrxIIuP7UotpfiwOikvcg== +"@vitest/runner@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-2.1.9.tgz#cc18148d2d797fd1fd5908d1f1851d01459be2f6" + integrity sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g== dependencies: - "@vitest/utils" "4.1.8" - pathe "^2.0.3" + "@vitest/utils" "2.1.9" + pathe "^1.1.2" -"@vitest/snapshot@4.1.8": - version "4.1.8" - resolved "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.8.tgz" - integrity sha512-acfZboRmAIf05DEKcBQy33VXojFJjtUdLyo7oOmV9kebb2xdU01UknNiPuPZoJZQyO7DF0gZdTGTpeAzET9QPQ== +"@vitest/snapshot@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-2.1.9.tgz#24260b93f798afb102e2dcbd7e61c6dfa118df91" + integrity sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ== dependencies: - "@vitest/pretty-format" "4.1.8" - "@vitest/utils" "4.1.8" - magic-string "^0.30.21" - pathe "^2.0.3" + "@vitest/pretty-format" "2.1.9" + magic-string "^0.30.12" + pathe "^1.1.2" -"@vitest/spy@4.1.8": - version "4.1.8" - resolved "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.8.tgz" - integrity sha512-6EevtBp6OZOPF7bmz36HrGMeP3txgVSrgebWxHOafDXGkhIzfXK14f8KF6MuFfgXXUeHxmpD3BQxkV00/3s5mA== - -"@vitest/utils@4.1.8": - version "4.1.8" - resolved "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.8.tgz" - integrity sha512-uOJamYALNhfJ6iolExyQM40yIQwDqYnkKtQ5VCiSe17E33H0aQ/u+1GlRuz4LZBk6Mm3sg90G9hEbmEt37C1Zg== +"@vitest/spy@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-2.1.9.tgz#cb28538c5039d09818b8bfa8edb4043c94727c60" + integrity sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ== dependencies: - "@vitest/pretty-format" "4.1.8" - convert-source-map "^2.0.0" - tinyrainbow "^3.1.0" + tinyspy "^3.0.2" -"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/ast@1.14.1": +"@vitest/utils@2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.1.9.tgz#4f2486de8a54acf7ecbf2c5c24ad7994a680a6c1" + integrity sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ== + dependencies: + "@vitest/pretty-format" "2.1.9" + loupe "^3.1.2" + tinyrainbow "^1.2.0" + +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz" integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== @@ -3287,7 +2854,7 @@ "@webassemblyjs/wasm-gen" "1.14.1" "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/wasm-parser@1.14.1": +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz" integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== @@ -3337,7 +2904,7 @@ acorn-import-phases@^1.0.3: resolved "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz" integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== -acorn@^8.14.0, acorn@^8.15.0, acorn@^8.16.0: +acorn@^8.15.0, acorn@^8.16.0: version "8.16.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz" integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== @@ -3350,11 +2917,6 @@ adjust-sourcemap-loader@^4.0.0: loader-utils "^2.0.0" regex-parser "^2.2.11" -agent-base@^7.1.0, agent-base@^7.1.2: - version "7.1.4" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz" - integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" @@ -3369,7 +2931,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.9.0: version "8.20.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz" integrity sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA== @@ -3401,7 +2963,7 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^5.0.0, aria-query@5.3.0: +aria-query@5.3.0, aria-query@^5.0.0: version "5.3.0" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== @@ -3453,16 +3015,18 @@ babel-plugin-polyfill-regenerator@^0.6.6: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.8" -bail@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" - integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== - baseline-browser-mapping@^2.10.12: version "2.10.35" resolved "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.35.tgz" integrity sha512-honAfLBde0HAFLdNyBEfuuENkF6zR+ozxqxa/2zJKHBe1qzLqyTSeRKpdPEHAP03rlDGyQOPnCSxnVpVqQo9Mg== +bidi-js@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/bidi-js/-/bidi-js-1.0.3.tgz#6f8bcf3c877c4d9220ddf49b9bb6930c88f877d2" + integrity sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw== + dependencies: + require-from-string "^2.0.2" + big.js@^5.2.2: version "5.2.2" resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" @@ -3485,7 +3049,7 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.24.0, browserslist@^4.28.1, browserslist@^4.28.2, "browserslist@>= 4.21.0": +browserslist@^4.0.0, browserslist@^4.24.0, browserslist@^4.28.1, browserslist@^4.28.2: version "4.28.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz" integrity sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg== @@ -3501,6 +3065,11 @@ buffer-from@^1.0.0: resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== + callsites@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" @@ -3521,15 +3090,16 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001782: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001797.tgz" integrity sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w== -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - -chai@^6.2.2: - version "6.2.2" - resolved "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz" - integrity sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== +chai@^5.1.2: + version "5.3.3" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.3.3.tgz#dd3da955e270916a4bd3f625f4b919996ada7e06" + integrity sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw== + dependencies: + assertion-error "^2.0.1" + check-error "^2.1.1" + deep-eql "^5.0.1" + loupe "^3.1.0" + pathval "^2.0.0" chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" @@ -3539,20 +3109,10 @@ chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - -character-entities-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - -character-entities@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" - integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== +check-error@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.3.tgz#2427361117b70cca8dc89680ead32b157019caf5" + integrity sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA== chrome-trace-event@^1.0.2: version "1.0.4" @@ -3564,72 +3124,6 @@ ci-info@^4.2.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz" integrity sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg== -"ckeditor5@>=42.0.0 || ^0.0.0-nightly", "ckeditor5@>=46.0.0 || ^0.0.0-nightly || ^0.0.0-internal": - version "48.2.0" - resolved "https://registry.npmjs.org/ckeditor5/-/ckeditor5-48.2.0.tgz" - integrity sha512-qhK0KDC8sks9u7XziILfdL9NrK6Rv7n0mD4FhMWV9q6Nec13F1a9IlxffZRdJlQCgnlOPfH7ZzhjecZQLCflFw== - dependencies: - "@ckeditor/ckeditor5-adapter-ckfinder" "48.2.0" - "@ckeditor/ckeditor5-alignment" "48.2.0" - "@ckeditor/ckeditor5-autoformat" "48.2.0" - "@ckeditor/ckeditor5-autosave" "48.2.0" - "@ckeditor/ckeditor5-basic-styles" "48.2.0" - "@ckeditor/ckeditor5-block-quote" "48.2.0" - "@ckeditor/ckeditor5-bookmark" "48.2.0" - "@ckeditor/ckeditor5-ckbox" "48.2.0" - "@ckeditor/ckeditor5-ckfinder" "48.2.0" - "@ckeditor/ckeditor5-clipboard" "48.2.0" - "@ckeditor/ckeditor5-cloud-services" "48.2.0" - "@ckeditor/ckeditor5-code-block" "48.2.0" - "@ckeditor/ckeditor5-core" "48.2.0" - "@ckeditor/ckeditor5-easy-image" "48.2.0" - "@ckeditor/ckeditor5-editor-balloon" "48.2.0" - "@ckeditor/ckeditor5-editor-classic" "48.2.0" - "@ckeditor/ckeditor5-editor-decoupled" "48.2.0" - "@ckeditor/ckeditor5-editor-inline" "48.2.0" - "@ckeditor/ckeditor5-editor-multi-root" "48.2.0" - "@ckeditor/ckeditor5-emoji" "48.2.0" - "@ckeditor/ckeditor5-engine" "48.2.0" - "@ckeditor/ckeditor5-enter" "48.2.0" - "@ckeditor/ckeditor5-essentials" "48.2.0" - "@ckeditor/ckeditor5-find-and-replace" "48.2.0" - "@ckeditor/ckeditor5-font" "48.2.0" - "@ckeditor/ckeditor5-fullscreen" "48.2.0" - "@ckeditor/ckeditor5-heading" "48.2.0" - "@ckeditor/ckeditor5-highlight" "48.2.0" - "@ckeditor/ckeditor5-horizontal-line" "48.2.0" - "@ckeditor/ckeditor5-html-embed" "48.2.0" - "@ckeditor/ckeditor5-html-support" "48.2.0" - "@ckeditor/ckeditor5-icons" "48.2.0" - "@ckeditor/ckeditor5-image" "48.2.0" - "@ckeditor/ckeditor5-indent" "48.2.0" - "@ckeditor/ckeditor5-language" "48.2.0" - "@ckeditor/ckeditor5-link" "48.2.0" - "@ckeditor/ckeditor5-list" "48.2.0" - "@ckeditor/ckeditor5-markdown-gfm" "48.2.0" - "@ckeditor/ckeditor5-media-embed" "48.2.0" - "@ckeditor/ckeditor5-mention" "48.2.0" - "@ckeditor/ckeditor5-minimap" "48.2.0" - "@ckeditor/ckeditor5-page-break" "48.2.0" - "@ckeditor/ckeditor5-paragraph" "48.2.0" - "@ckeditor/ckeditor5-paste-from-office" "48.2.0" - "@ckeditor/ckeditor5-remove-format" "48.2.0" - "@ckeditor/ckeditor5-restricted-editing" "48.2.0" - "@ckeditor/ckeditor5-select-all" "48.2.0" - "@ckeditor/ckeditor5-show-blocks" "48.2.0" - "@ckeditor/ckeditor5-source-editing" "48.2.0" - "@ckeditor/ckeditor5-special-characters" "48.2.0" - "@ckeditor/ckeditor5-style" "48.2.0" - "@ckeditor/ckeditor5-table" "48.2.0" - "@ckeditor/ckeditor5-typing" "48.2.0" - "@ckeditor/ckeditor5-ui" "48.2.0" - "@ckeditor/ckeditor5-undo" "48.2.0" - "@ckeditor/ckeditor5-upload" "48.2.0" - "@ckeditor/ckeditor5-utils" "48.2.0" - "@ckeditor/ckeditor5-watchdog" "48.2.0" - "@ckeditor/ckeditor5-widget" "48.2.0" - "@ckeditor/ckeditor5-word-count" "48.2.0" - ckeditor5@44.3.0: version "44.3.0" resolved "https://registry.npmjs.org/ckeditor5/-/ckeditor5-44.3.0.tgz" @@ -3709,30 +3203,18 @@ clsx@^2.1.1: resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== -color-convert@^2.0.1, color-convert@2.0.1: +color-convert@2.0.1, color-convert@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" -color-convert@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz" - integrity sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA== - dependencies: - color-name "^2.0.0" - color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-name@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz" - integrity sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg== - color-parse@1.4.2: version "1.4.2" resolved "https://registry.npmjs.org/color-parse/-/color-parse-1.4.2.tgz" @@ -3740,23 +3222,11 @@ color-parse@1.4.2: dependencies: color-name "^1.0.0" -color-parse@2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz" - integrity sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw== - dependencies: - color-name "^2.0.0" - colorette@^2.0.14: version "2.0.20" resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== -comma-separated-tokens@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" - integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== - commander@^11.1.0: version "11.1.0" resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" @@ -3777,12 +3247,7 @@ consola@^3.2.3: resolved "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz" integrity sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA== -convert-source-map@^1.5.0: - version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^1.7.0: +convert-source-map@^1.5.0, convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== @@ -3892,7 +3357,7 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" -css-tree@^3.0.1: +css-tree@^3.0.0, css-tree@^3.0.1, css-tree@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz" integrity sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA== @@ -3979,20 +3444,12 @@ csso@^5.0.5: dependencies: css-tree "~2.2.0" -cssstyle@^4.2.1: - version "4.6.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz" - integrity sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg== - dependencies: - "@asamuzakjp/css-color" "^3.2.0" - rrweb-cssom "^0.8.0" - -csstype@^3.0.10, csstype@^3.0.2, csstype@^3.1.3, csstype@^3.2.2: +csstype@^3.0.2, csstype@^3.1.3, csstype@^3.2.2: version "3.2.3" resolved "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== -d3-array@^3.1.6, "d3-array@2 - 3", "d3-array@2.10.0 - 3": +"d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6: version "3.2.4" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== @@ -4014,7 +3471,7 @@ d3-ease@^3.0.1: resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz" integrity sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg== -d3-interpolate@^3.0.1, "d3-interpolate@1.2.0 - 3": +"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== @@ -4051,7 +3508,7 @@ d3-shape@^3.1.0: dependencies: d3-time "1 - 3" -d3-time@^3.0.0, "d3-time@1 - 3", "d3-time@2.1.1 - 3": +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz" integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== @@ -4063,15 +3520,15 @@ d3-timer@^3.0.1: resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz" integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== -data-urls@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz" - integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== +data-urls@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-7.0.0.tgz#6dce8b63226a1ecfdd907ce18a8ccfb1eee506d3" + integrity sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA== dependencies: - whatwg-mimetype "^4.0.0" - whatwg-url "^14.0.0" + whatwg-mimetype "^5.0.0" + whatwg-url "^16.0.0" -debug@^4.0.0, debug@^4.1.0, debug@^4.3.1, debug@^4.3.4, debug@^4.4.3, debug@4: +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.7, debug@^4.4.3: version "4.4.3" resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -4083,19 +3540,17 @@ decimal.js-light@^2.5.1: resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decimal.js@^10.5.0: +decimal.js@^10.6.0: version "10.6.0" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== -decode-named-character-reference@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz" - integrity sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q== - dependencies: - character-entities "^2.0.0" +deep-eql@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" + integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== -dequal@^2.0.0, dequal@^2.0.3: +dequal@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -4105,13 +3560,6 @@ detect-libc@^2.0.3: resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz" integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== -devlop@^1.0.0, devlop@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" - integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== - dependencies: - dequal "^2.0.0" - dom-accessibility-api@^0.5.9: version "0.5.16" resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz" @@ -4225,10 +3673,10 @@ entities@^4.2.0: resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== -entities@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz" - integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== +entities@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-8.0.0.tgz#c1df5fe3602429747fa233d0dd26f142f0ce4743" + integrity sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA== env-paths@^2.2.1: version "2.2.1" @@ -4259,7 +3707,12 @@ es-errors@^1.3.0: resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-module-lexer@^2.0.0, es-module-lexer@^2.1.0: +es-module-lexer@^1.5.4: + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== + +es-module-lexer@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz" integrity sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ== @@ -4269,10 +3722,34 @@ es-toolkit@^1.39.3: resolved "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.47.0.tgz" integrity sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw== -es-toolkit@1.45.1: - version "1.45.1" - resolved "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.45.1.tgz" - integrity sha512-/jhoOj/Fx+A+IIyDNOvO3TItGmlMKhtX8ISAHKE90c4b/k1tqaqEZ+uUqfpU8DMnW5cgNJv606zS55jGvza0Xw== +esbuild@^0.21.3: + version "0.21.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" + integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== + optionalDependencies: + "@esbuild/aix-ppc64" "0.21.5" + "@esbuild/android-arm" "0.21.5" + "@esbuild/android-arm64" "0.21.5" + "@esbuild/android-x64" "0.21.5" + "@esbuild/darwin-arm64" "0.21.5" + "@esbuild/darwin-x64" "0.21.5" + "@esbuild/freebsd-arm64" "0.21.5" + "@esbuild/freebsd-x64" "0.21.5" + "@esbuild/linux-arm" "0.21.5" + "@esbuild/linux-arm64" "0.21.5" + "@esbuild/linux-ia32" "0.21.5" + "@esbuild/linux-loong64" "0.21.5" + "@esbuild/linux-mips64el" "0.21.5" + "@esbuild/linux-ppc64" "0.21.5" + "@esbuild/linux-riscv64" "0.21.5" + "@esbuild/linux-s390x" "0.21.5" + "@esbuild/linux-x64" "0.21.5" + "@esbuild/netbsd-x64" "0.21.5" + "@esbuild/openbsd-x64" "0.21.5" + "@esbuild/sunos-x64" "0.21.5" + "@esbuild/win32-arm64" "0.21.5" + "@esbuild/win32-ia32" "0.21.5" + "@esbuild/win32-x64" "0.21.5" escalade@^3.2.0: version "3.2.0" @@ -4284,11 +3761,6 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" @@ -4336,15 +3808,10 @@ events@^3.2.0: resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -expect-type@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz" - integrity sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +expect-type@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.4.0.tgz#24edf7f0cc69a44d008567ba4594ab96f3c3a3d6" + integrity sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA== fast-deep-equal@^3.1.3: version "3.1.3" @@ -4361,11 +3828,6 @@ fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== -fdir@^6.5.0: - version "6.5.0" - resolved "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz" - integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== - fill-range@^7.1.1: version "7.1.1" resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" @@ -4399,7 +3861,7 @@ flat@^5.0.2: resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -fsevents@~2.3.3: +fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -4424,6 +3886,11 @@ glob-to-regexp@^0.4.1: resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== +globrex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + goober@^2.1.16: version "2.1.19" resolved "https://registry.npmjs.org/goober/-/goober-2.1.19.tgz" @@ -4446,147 +3913,6 @@ hasown@^2.0.3: dependencies: function-bind "^1.1.2" -hast-util-embedded@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz" - integrity sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA== - dependencies: - "@types/hast" "^3.0.0" - hast-util-is-element "^3.0.0" - -hast-util-from-dom@^5.0.0, hast-util-from-dom@5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz" - integrity sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q== - dependencies: - "@types/hast" "^3.0.0" - hastscript "^9.0.0" - web-namespaces "^2.0.0" - -hast-util-has-property@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz" - integrity sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-is-body-ok-link@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz" - integrity sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-is-element@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz" - integrity sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-minify-whitespace@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz" - integrity sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw== - dependencies: - "@types/hast" "^3.0.0" - hast-util-embedded "^3.0.0" - hast-util-is-element "^3.0.0" - hast-util-whitespace "^3.0.0" - unist-util-is "^6.0.0" - -hast-util-parse-selector@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" - integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-phrasing@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz" - integrity sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ== - dependencies: - "@types/hast" "^3.0.0" - hast-util-embedded "^3.0.0" - hast-util-has-property "^3.0.0" - hast-util-is-body-ok-link "^3.0.0" - hast-util-is-element "^3.0.0" - -hast-util-to-dom@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/hast-util-to-dom/-/hast-util-to-dom-4.0.1.tgz" - integrity sha512-z1VE7sZ8uFzS2baF3LEflX1IPw2gSzrdo3QFEsyoi23MkCVY3FoE9x6nLgOgjwJu8VNWgo+07iaxtONhDzKrUQ== - dependencies: - "@types/hast" "^3.0.0" - property-information "^7.0.0" - web-namespaces "^2.0.0" - -hast-util-to-html@^9.0.0, hast-util-to-html@9.0.5: - version "9.0.5" - resolved "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz" - integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - ccount "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-whitespace "^3.0.0" - html-void-elements "^3.0.0" - mdast-util-to-hast "^13.0.0" - property-information "^7.0.0" - space-separated-tokens "^2.0.0" - stringify-entities "^4.0.0" - zwitch "^2.0.4" - -hast-util-to-mdast@^10.0.0, hast-util-to-mdast@10.1.2: - version "10.1.2" - resolved "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz" - integrity sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@ungap/structured-clone" "^1.0.0" - hast-util-phrasing "^3.0.0" - hast-util-to-html "^9.0.0" - hast-util-to-text "^4.0.0" - hast-util-whitespace "^3.0.0" - mdast-util-phrasing "^4.0.0" - mdast-util-to-hast "^13.0.0" - mdast-util-to-string "^4.0.0" - rehype-minify-whitespace "^6.0.0" - trim-trailing-lines "^2.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - -hast-util-to-text@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz" - integrity sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - hast-util-is-element "^3.0.0" - unist-util-find-after "^5.0.0" - -hast-util-whitespace@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" - integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== - dependencies: - "@types/hast" "^3.0.0" - -hastscript@^9.0.0, hastscript@9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz" - integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== - dependencies: - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - hast-util-parse-selector "^4.0.0" - property-information "^7.0.0" - space-separated-tokens "^2.0.0" - hoist-non-react-statics@^3.3.1: version "3.3.2" resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" @@ -4594,17 +3920,12 @@ hoist-non-react-statics@^3.3.1: dependencies: react-is "^16.7.0" -html-encoding-sniffer@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz" - integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== +html-encoding-sniffer@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz#f8d9390b3b348b50d4f61c16dd2ef5c05980a882" + integrity sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg== dependencies: - whatwg-encoding "^3.1.1" - -html-void-elements@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" - integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== + "@exodus/bytes" "^1.6.0" htmlparser2@^6.1.0: version "6.1.0" @@ -4616,35 +3937,12 @@ htmlparser2@^6.1.0: domutils "^2.5.2" entities "^2.0.0" -http-proxy-agent@^7.0.2: - version "7.0.2" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz" - integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== - dependencies: - agent-base "^7.1.0" - debug "^4.3.4" - -https-proxy-agent@^7.0.6: - version "7.0.6" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz" - integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== - dependencies: - agent-base "^7.1.2" - debug "4" - -iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -immer@^10.1.1, immer@>=9.0.6: +immer@^10.1.1: version "10.2.0" resolved "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz" integrity sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw== @@ -4707,11 +4005,6 @@ is-number@^7.0.0: resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-plain-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" @@ -4776,7 +4069,7 @@ jest-worker@^30.0.5: merge-stream "^2.0.0" supports-color "^8.1.1" -jiti@^2.5.1, jiti@^2.6.1, jiti@>=1.21.0: +jiti@^2.5.1, jiti@^2.6.1: version "2.7.0" resolved "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz" integrity sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ== @@ -4793,30 +4086,31 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsdom@*, jsdom@^26.1.0: - version "26.1.0" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz" - integrity sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg== +jsdom@^29.1.1: + version "29.1.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-29.1.1.tgz#5b9704906f3cd510c34aa941ae2f8f7f8179df01" + integrity sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q== dependencies: - cssstyle "^4.2.1" - data-urls "^5.0.0" - decimal.js "^10.5.0" - html-encoding-sniffer "^4.0.0" - http-proxy-agent "^7.0.2" - https-proxy-agent "^7.0.6" + "@asamuzakjp/css-color" "^5.1.11" + "@asamuzakjp/dom-selector" "^7.1.1" + "@bramus/specificity" "^2.4.2" + "@csstools/css-syntax-patches-for-csstree" "^1.1.3" + "@exodus/bytes" "^1.15.0" + css-tree "^3.2.1" + data-urls "^7.0.0" + decimal.js "^10.6.0" + html-encoding-sniffer "^6.0.0" is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.16" - parse5 "^7.2.1" - rrweb-cssom "^0.8.0" + lru-cache "^11.3.5" + parse5 "^8.0.1" saxes "^6.0.0" symbol-tree "^3.2.4" - tough-cookie "^5.1.1" + tough-cookie "^6.0.1" + undici "^7.25.0" w3c-xmlserializer "^5.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^3.1.1" - whatwg-mimetype "^4.0.0" - whatwg-url "^14.1.1" - ws "^8.18.0" + webidl-conversions "^8.0.1" + whatwg-mimetype "^5.0.0" + whatwg-url "^16.0.1" xml-name-validator "^5.0.0" jsesc@^3.0.2, jsesc@~3.1.0: @@ -4844,16 +4138,36 @@ kind-of@^6.0.2: resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -leaflet@^1.9.0, leaflet@^1.9.4: +leaflet@^1.9.4: version "1.9.4" resolved "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz" integrity sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA== +lightningcss-android-arm64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968" + integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== + lightningcss-darwin-arm64@1.32.0: version "1.32.0" resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz" integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== +lightningcss-darwin-x64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e" + integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== + +lightningcss-freebsd-x64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575" + integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== + +lightningcss-linux-arm-gnueabihf@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d" + integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== + lightningcss-linux-arm64-gnu@1.32.0: version "1.32.0" resolved "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz" @@ -4864,7 +4178,27 @@ lightningcss-linux-arm64-musl@1.32.0: resolved "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz" integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== -lightningcss@^1.32.0, lightningcss@1.32.0: +lightningcss-linux-x64-gnu@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6" + integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== + +lightningcss-linux-x64-musl@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b" + integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== + +lightningcss-win32-arm64-msvc@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38" + integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== + +lightningcss-win32-x64-msvc@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz#141aa5605645064928902bb4af045fa7d9f4220a" + integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== + +lightningcss@1.32.0: version "1.32.0" resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz" integrity sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== @@ -4898,11 +4232,6 @@ loader-runner@^4.3.2: resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz" integrity sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w== -loader-utils@*, "loader-utils@^2.0.0 || ^3.0.0": - version "3.3.1" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz" - integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== - loader-utils@^2.0.0: version "2.0.4" resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" @@ -4912,6 +4241,11 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" +"loader-utils@^2.0.0 || ^3.0.0": + version "3.3.1" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz" + integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" @@ -4951,11 +4285,6 @@ lodash@^4.17.20, lodash@^4.17.21: resolved "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== -longest-streak@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" - integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== - loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" @@ -4963,10 +4292,15 @@ loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -lru-cache@^10.4.3: - version "10.4.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== +loupe@^3.1.0, loupe@^3.1.2: + version "3.2.1" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.2.1.tgz#0095cf56dc5b7a9a7c08ff5b1a8796ec8ad17e76" + integrity sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ== + +lru-cache@^11.3.5: + version "11.5.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.5.1.tgz#f3daa3540847b9737ebc02499ddb36765e54db4a" + integrity sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A== lru-cache@^5.1.1: version "5.1.1" @@ -4980,169 +4314,18 @@ lz-string@^1.5.0: resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== -magic-string@^0.30.21: +magic-string@^0.30.12, magic-string@^0.30.21: version "0.30.21" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz" integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== dependencies: "@jridgewell/sourcemap-codec" "^1.5.5" -markdown-table@^3.0.0: - version "3.0.4" - resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz" - integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== - marked@4.0.12: version "4.0.12" resolved "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz" integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== -mdast-util-find-and-replace@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz" - integrity sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg== - dependencies: - "@types/mdast" "^4.0.0" - escape-string-regexp "^5.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - -mdast-util-from-markdown@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz" - integrity sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - mdast-util-to-string "^4.0.0" - micromark "^4.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-decode-string "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-stringify-position "^4.0.0" - -mdast-util-gfm-autolink-literal@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz" - integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== - dependencies: - "@types/mdast" "^4.0.0" - ccount "^2.0.0" - devlop "^1.0.0" - mdast-util-find-and-replace "^3.0.0" - micromark-util-character "^2.0.0" - -mdast-util-gfm-footnote@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz" - integrity sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.1.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - -mdast-util-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz" - integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz" - integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - markdown-table "^3.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm-task-list-item@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz" - integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz" - integrity sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ== - dependencies: - mdast-util-from-markdown "^2.0.0" - mdast-util-gfm-autolink-literal "^2.0.0" - mdast-util-gfm-footnote "^2.0.0" - mdast-util-gfm-strikethrough "^2.0.0" - mdast-util-gfm-table "^2.0.0" - mdast-util-gfm-task-list-item "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-newline-to-break@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz" - integrity sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-find-and-replace "^3.0.0" - -mdast-util-phrasing@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" - integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== - dependencies: - "@types/mdast" "^4.0.0" - unist-util-is "^6.0.0" - -mdast-util-to-hast@^13.0.0: - version "13.2.1" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz" - integrity sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@ungap/structured-clone" "^1.0.0" - devlop "^1.0.0" - micromark-util-sanitize-uri "^2.0.0" - trim-lines "^3.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - -mdast-util-to-markdown@^2.0.0: - version "2.1.2" - resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz" - integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - longest-streak "^3.0.0" - mdast-util-phrasing "^4.0.0" - mdast-util-to-string "^4.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-decode-string "^2.0.0" - unist-util-visit "^5.0.0" - zwitch "^2.0.0" - -mdast-util-to-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" - integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== - dependencies: - "@types/mdast" "^4.0.0" - mdn-data@2.0.28: version "2.0.28" resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" @@ -5163,279 +4346,6 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromark-core-commonmark@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz" - integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== - dependencies: - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - micromark-factory-destination "^2.0.0" - micromark-factory-label "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-factory-title "^2.0.0" - micromark-factory-whitespace "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-html-tag-name "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-subtokenize "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-autolink-literal@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz" - integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-footnote@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz" - integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== - dependencies: - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-strikethrough@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz" - integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== - dependencies: - devlop "^1.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-table@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz" - integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-tagfilter@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz" - integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== - dependencies: - micromark-util-types "^2.0.0" - -micromark-extension-gfm-task-list-item@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz" - integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz" - integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== - dependencies: - micromark-extension-gfm-autolink-literal "^2.0.0" - micromark-extension-gfm-footnote "^2.0.0" - micromark-extension-gfm-strikethrough "^2.0.0" - micromark-extension-gfm-table "^2.0.0" - micromark-extension-gfm-tagfilter "^2.0.0" - micromark-extension-gfm-task-list-item "^2.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-destination@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz" - integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-label@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz" - integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== - dependencies: - devlop "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-space@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz" - integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-title@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz" - integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== - dependencies: - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-whitespace@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz" - integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== - dependencies: - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-character@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz" - integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== - dependencies: - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-chunked@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz" - integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-classify-character@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz" - integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-combine-extensions@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz" - integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== - dependencies: - micromark-util-chunked "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-decode-numeric-character-reference@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz" - integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-decode-string@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz" - integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-encode@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz" - integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== - -micromark-util-html-tag-name@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz" - integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== - -micromark-util-normalize-identifier@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz" - integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-resolve-all@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz" - integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== - dependencies: - micromark-util-types "^2.0.0" - -micromark-util-sanitize-uri@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz" - integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-subtokenize@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz" - integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== - dependencies: - devlop "^1.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-symbol@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz" - integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== - -micromark-util-types@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz" - integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== - -micromark@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz" - integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-subtokenize "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - micromatch@^4.0.0: version "4.0.8" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz" @@ -5489,21 +4399,11 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -nwsapi@^2.2.16: - version "2.2.24" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.24.tgz" - integrity sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A== - object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -obug@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/obug/-/obug-2.1.2.tgz" - integrity sha512-AWGB9WFcRXOQs48Z/udjI5ZcZMHXwX8XPByNpOydgcGsDLIzjGizhoMWJyKAWze7AVW/2W1i+/gPX4YtKe5cyg== - p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" @@ -5554,12 +4454,12 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5@^7.2.1: - version "7.3.0" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz" - integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== +parse5@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-8.0.1.tgz#f43bcd2cd683efe084075333e9ce0da7d06da31e" + integrity sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw== dependencies: - entities "^6.0.0" + entities "^8.0.0" path-exists@^4.0.0: version "4.0.0" @@ -5581,12 +4481,17 @@ path-type@^4.0.0: resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathe@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz" - integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== +pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== -picocolors@^1.1.0, picocolors@^1.1.1, picocolors@1.1.1: +pathval@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.1.tgz#8855c5a2899af072d6ac05d11e46045ad0dc605d" + integrity sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ== + +picocolors@1.1.1, picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -5596,7 +4501,7 @@ picomatch@^2.3.1: resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz" integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== -"picomatch@^3 || ^4", picomatch@^4.0.3, picomatch@^4.0.4: +picomatch@^4.0.3: version "4.0.4" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz" integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== @@ -5656,7 +4561,7 @@ postcss-discard-overridden@^7.0.3: resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.3.tgz" integrity sha512-aNovXo9UsZuRNLzHJtp13lHIvinDPfiXBPePpXkSjCbgp++iU2FqE+YxvjIsg6EdyPZsASFbfu+JcBFVsErXIQ== -postcss-loader@^8.0.0, postcss-loader@^8.1.0: +postcss-loader@^8.0.0: version "8.2.1" resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.2.1.tgz" integrity sha512-k98jtRzthjj3f76MYTs9JTpRqV1RaaMhEU0Lpw9OTmQZQdppg4B30VZ74BojuBHt3F4KyubHJoXCMUeM8Bqeow== @@ -5859,7 +4764,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.0, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.3.0, postcss@^8.4.38, postcss@^8.4.40, postcss@^8.5.10, postcss@^8.5.13, postcss@^8.5.15: +postcss@^8.0.0, postcss@^8.2.14, postcss@^8.4.40, postcss@^8.5.10: version "8.5.15" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz" integrity sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A== @@ -5868,6 +4773,15 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: picocolors "^1.1.1" source-map-js "^1.2.1" +postcss@^8.4.43: + version "8.5.16" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.16.tgz#1230ce0b5df354c24c0ea45f99ce5f6a88279d28" + integrity sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg== + dependencies: + nanoid "^3.3.12" + picocolors "^1.1.1" + source-map-js "^1.2.1" + pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" @@ -5894,24 +4808,19 @@ prop-types@^15.6.0, prop-types@^15.6.2: object-assign "^4.1.1" react-is "^16.13.1" -property-information@^7.0.0: - version "7.2.0" - resolved "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz" - integrity sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg== - punycode@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -"react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.0 || ^19.0", "react-dom@^18.0.0 || ^19.0.0 || ^19.0.0-rc", react-dom@^19.0.0, react-dom@>=16, react-dom@>=16.6.0, react-dom@>=16.8, react-dom@>=18: +react-dom@^19.0.0: version "19.2.7" resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz" integrity sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ== dependencies: scheduler "^0.27.0" -react-hook-form@^7.0.0, react-hook-form@^7.55.0: +react-hook-form@^7.0.0: version "7.78.0" resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.78.0.tgz" integrity sha512-EEZqc+N23moyzTlz61Pj+JvcXo76ICkpfOZo8JZw+sM4+wLQGh6nI2Ms+PdMOYNluFu0ghlM7B8mCzhRYtJCnA== @@ -5924,7 +4833,7 @@ react-hot-toast@^2.0.0: csstype "^3.1.3" goober "^2.1.16" -react-is@^16.13.1, react-is@^16.7.0, "react-is@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -5941,7 +4850,7 @@ react-leaflet@^5.0.0: dependencies: "@react-leaflet/core" "^3.0.0" -"react-redux@^7.2.1 || ^8.1.3 || ^9.0.0", "react-redux@8.x.x || 9.x.x": +"react-redux@8.x.x || 9.x.x": version "9.3.0" resolved "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz" integrity sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g== @@ -5951,7 +4860,7 @@ react-leaflet@^5.0.0: react-refresh@^0.17.0: version "0.17.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.17.0.tgz#b7e579c3657f23d04eccbe4ad2e58a8ed51e7e53" integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ== react-router-dom@^7.0.0: @@ -5994,7 +4903,7 @@ react-transition-group@^4.3.0: loose-envify "^1.4.0" prop-types "^15.6.2" -"react@^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17 || ^18 || ^19", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18 || ^19", "react@^18 || ^19", "react@^18.0 || ^19", "react@^18.0 || ^19.0", "react@^18.0.0 || ^19.0.0 || ^19.0.0-rc", react@^19.0.0, react@^19.2.7, "react@>= 16 || ^19.0.0-rc", react@>=16, react@>=16.6.0, react@>=16.8, react@>=16.8.0, react@>=18, react@>=18.0.0: +react@^19.0.0: version "19.2.7" resolved "https://registry.npmjs.org/react/-/react-19.2.7.tgz" integrity sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ== @@ -6036,7 +4945,7 @@ redux-thunk@^3.1.0: resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz" integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw== -redux@^5.0.0, redux@^5.0.1: +redux@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz" integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w== @@ -6087,94 +4996,6 @@ regjsparser@^0.13.0: dependencies: jsesc "~3.1.0" -rehype-dom-parse@5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/rehype-dom-parse/-/rehype-dom-parse-5.0.2.tgz" - integrity sha512-8CqP11KaqvtWsMqVEC2yM3cZWZsDNqqpr8nPvogjraLuh45stabgcpXadCAxu1n6JaUNJ/Xr3GIqXP7okbNqLg== - dependencies: - "@types/hast" "^3.0.0" - hast-util-from-dom "^5.0.0" - unified "^11.0.0" - -rehype-dom-stringify@4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/rehype-dom-stringify/-/rehype-dom-stringify-4.0.2.tgz" - integrity sha512-2HVFYbtmm5W3C2j8QsV9lcHdIMc2Yn/ytlPKcSC85/tRx2haZbU8V67Wxyh8STT38ZClvKlZ993Me/Hw8g88Aw== - dependencies: - "@types/hast" "^3.0.0" - hast-util-to-dom "^4.0.0" - unified "^11.0.0" - -rehype-minify-whitespace@^6.0.0: - version "6.0.2" - resolved "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz" - integrity sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw== - dependencies: - "@types/hast" "^3.0.0" - hast-util-minify-whitespace "^1.0.0" - -rehype-remark@10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/rehype-remark/-/rehype-remark-10.0.1.tgz" - integrity sha512-EmDndlb5NVwXGfUa4c9GPK+lXeItTilLhE6ADSaQuHr4JUlKw9MidzGzx4HpqZrNCt6vnHmEifXQiiA+CEnjYQ== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - hast-util-to-mdast "^10.0.0" - unified "^11.0.0" - vfile "^6.0.0" - -remark-breaks@4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz" - integrity sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-newline-to-break "^2.0.0" - unified "^11.0.0" - -remark-gfm@4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz" - integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-gfm "^3.0.0" - micromark-extension-gfm "^3.0.0" - remark-parse "^11.0.0" - remark-stringify "^11.0.0" - unified "^11.0.0" - -remark-parse@^11.0.0, remark-parse@11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" - integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-from-markdown "^2.0.0" - micromark-util-types "^2.0.0" - unified "^11.0.0" - -remark-rehype@11.1.2: - version "11.1.2" - resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz" - integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - mdast-util-to-hast "^13.0.0" - unified "^11.0.0" - vfile "^6.0.0" - -remark-stringify@^11.0.0, remark-stringify@11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz" - integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-to-markdown "^2.0.0" - unified "^11.0.0" - renderkid@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" @@ -6191,7 +5012,7 @@ require-from-string@^2.0.2: resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -reselect@^5.1.0, reselect@5.1.1: +reselect@5.1.1, reselect@^5.1.0: version "5.1.1" resolved "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz" integrity sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w== @@ -6234,39 +5055,39 @@ resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.11: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -rolldown@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/rolldown/-/rolldown-1.0.3.tgz" - integrity sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g== +rollup@^4.20.0: + version "4.62.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.62.2.tgz#d90fc4cb811f071303c890b779595634f35f9541" + integrity sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA== dependencies: - "@oxc-project/types" "=0.133.0" - "@rolldown/pluginutils" "^1.0.0" + "@types/estree" "1.0.9" optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.3" - "@rolldown/binding-darwin-arm64" "1.0.3" - "@rolldown/binding-darwin-x64" "1.0.3" - "@rolldown/binding-freebsd-x64" "1.0.3" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.3" - "@rolldown/binding-linux-arm64-gnu" "1.0.3" - "@rolldown/binding-linux-arm64-musl" "1.0.3" - "@rolldown/binding-linux-ppc64-gnu" "1.0.3" - "@rolldown/binding-linux-s390x-gnu" "1.0.3" - "@rolldown/binding-linux-x64-gnu" "1.0.3" - "@rolldown/binding-linux-x64-musl" "1.0.3" - "@rolldown/binding-openharmony-arm64" "1.0.3" - "@rolldown/binding-wasm32-wasi" "1.0.3" - "@rolldown/binding-win32-arm64-msvc" "1.0.3" - "@rolldown/binding-win32-x64-msvc" "1.0.3" - -rrweb-cssom@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz" - integrity sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw== - -"safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + "@rollup/rollup-android-arm-eabi" "4.62.2" + "@rollup/rollup-android-arm64" "4.62.2" + "@rollup/rollup-darwin-arm64" "4.62.2" + "@rollup/rollup-darwin-x64" "4.62.2" + "@rollup/rollup-freebsd-arm64" "4.62.2" + "@rollup/rollup-freebsd-x64" "4.62.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.62.2" + "@rollup/rollup-linux-arm-musleabihf" "4.62.2" + "@rollup/rollup-linux-arm64-gnu" "4.62.2" + "@rollup/rollup-linux-arm64-musl" "4.62.2" + "@rollup/rollup-linux-loong64-gnu" "4.62.2" + "@rollup/rollup-linux-loong64-musl" "4.62.2" + "@rollup/rollup-linux-ppc64-gnu" "4.62.2" + "@rollup/rollup-linux-ppc64-musl" "4.62.2" + "@rollup/rollup-linux-riscv64-gnu" "4.62.2" + "@rollup/rollup-linux-riscv64-musl" "4.62.2" + "@rollup/rollup-linux-s390x-gnu" "4.62.2" + "@rollup/rollup-linux-x64-gnu" "4.62.2" + "@rollup/rollup-linux-x64-musl" "4.62.2" + "@rollup/rollup-openbsd-x64" "4.62.2" + "@rollup/rollup-openharmony-arm64" "4.62.2" + "@rollup/rollup-win32-arm64-msvc" "4.62.2" + "@rollup/rollup-win32-ia32-msvc" "4.62.2" + "@rollup/rollup-win32-x64-gnu" "4.62.2" + "@rollup/rollup-win32-x64-msvc" "4.62.2" + fsevents "~2.3.2" sax@^1.5.0: version "1.6.0" @@ -6300,22 +5121,7 @@ semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2: - version "7.8.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz" - integrity sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg== - -semver@^7.3.4: - version "7.8.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz" - integrity sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg== - -semver@^7.6.2: - version "7.8.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz" - integrity sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg== - -semver@^7.6.3: +semver@^7.3.2, semver@^7.3.4, semver@^7.6.2, semver@^7.6.3: version "7.8.3" resolved "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz" integrity sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg== @@ -6377,36 +5183,21 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + source-map@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - source-map@^0.7.4: version "0.7.6" resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz" integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ== -source-map@0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -space-separated-tokens@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" - integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== - stackback@0.0.2: version "0.0.2" resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" @@ -6417,10 +5208,10 @@ stackframe@^1.3.4: resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== -std-env@^4.0.0-rc.1: - version "4.1.0" - resolved "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz" - integrity sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ== +std-env@^3.8.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.10.0.tgz#d810b27e3a073047b2b5e40034881f5ea6f9c83b" + integrity sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== string-width@^4.2.3: version "4.2.3" @@ -6431,14 +5222,6 @@ string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -stringify-entities@^4.0.0: - version "4.0.4" - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz" - integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.0.0" - strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -6508,7 +5291,7 @@ symbol-tree@^3.2.4: resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -tailwindcss@^4.0.0, tailwindcss@4.3.0: +tailwindcss@4.3.0, tailwindcss@^4.0.0: version "4.3.0" resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz" integrity sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q== @@ -6528,7 +5311,7 @@ terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.5.0: schema-utils "^4.3.0" terser "^5.31.1" -terser@^5.16.0, terser@^5.31.1: +terser@^5.31.1: version "5.48.0" resolved "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz" integrity sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q== @@ -6548,35 +5331,37 @@ tinybench@^2.9.0: resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz" integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== -tinyexec@^1.0.2: - version "1.2.4" - resolved "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz" - integrity sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg== +tinyexec@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" + integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== -tinyglobby@^0.2.15, tinyglobby@^0.2.17: - version "0.2.17" - resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz" - integrity sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g== +tinypool@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.1.tgz#059f2d042bd37567fbc017d3d426bdd2a2612591" + integrity sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg== + +tinyrainbow@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-1.2.0.tgz#5c57d2fc0fb3d1afd78465c33ca885d04f02abb5" + integrity sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ== + +tinyspy@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a" + integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== + +tldts-core@^7.4.5: + version "7.4.5" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.4.5.tgz#4d1a77adbf274206be79e9d5fd602089a4e99c72" + integrity sha512-pGrwzZDvPwKe+7NNUqAunb6rqTfynr0VOUhCMdqbu5xlvNiszsAJygRzwvpVycdzejlbpY+SWJOn+s75Og7FEA== + +tldts@^7.0.5: + version "7.4.5" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.4.5.tgz#19648239527391393b49f0ae5eccc418f638deec" + integrity sha512-RfEzKWcq5fHUOFq7J3rl3Oz6ylKGtcHqUznzj4EcXsxLSIjJcvpbXAQtWGeJQ0xKnimR5e0Cn+cn9TssfMzm+g== dependencies: - fdir "^6.5.0" - picomatch "^4.0.4" - -tinyrainbow@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz" - integrity sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== - -tldts-core@^6.1.86: - version "6.1.86" - resolved "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz" - integrity sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA== - -tldts@^6.1.32: - version "6.1.86" - resolved "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz" - integrity sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ== - dependencies: - tldts-core "^6.1.86" + tldts-core "^7.4.5" tmp@^0.2.5: version "0.2.7" @@ -6590,36 +5375,21 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -tough-cookie@^5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz" - integrity sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A== +tough-cookie@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-6.0.1.tgz#a495f833836609ed983c19bc65639cfbceb54c76" + integrity sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw== dependencies: - tldts "^6.1.32" + tldts "^7.0.5" -tr46@^5.1.0: - version "5.1.1" - resolved "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz" - integrity sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw== +tr46@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-6.0.0.tgz#f5a1ae546a0adb32a277a2278d0d17fa2f9093e6" + integrity sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw== dependencies: punycode "^2.3.1" -trim-lines@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" - integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== - -trim-trailing-lines@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz" - integrity sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg== - -trough@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" - integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== - -ts-loader@^9.0.0, ts-loader@^9.6.0: +ts-loader@^9.6.0: version "9.6.0" resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.6.0.tgz" integrity sha512-dsJO0S+T7grTDWTc4a0nTygXGjKncVUpx8Y+af8EvI/D5WgTJby5UEk5eoMCB9EcLQmnvitqh99MqtjtHgAwFQ== @@ -6630,6 +5400,11 @@ ts-loader@^9.0.0, ts-loader@^9.6.0: semver "^7.3.4" source-map "^0.7.4" +tsconfck@^3.0.3: + version "3.1.6" + resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.1.6.tgz#da1f0b10d82237ac23422374b3fce1edb23c3ead" + integrity sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w== + tslib@^2.4.0, tslib@^2.8.1: version "2.8.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" @@ -6647,7 +5422,7 @@ turndown@7.2.0: dependencies: "@mixmark-io/domino" "^2.2.0" -typescript@*, typescript@^5.0.0, typescript@^5.8.3, typescript@>=4.9.5: +typescript@^5.0.0: version "5.9.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz" integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== @@ -6657,6 +5432,11 @@ typescript@*, typescript@^5.0.0, typescript@^5.8.3, typescript@>=4.9.5: resolved "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz" integrity sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg== +undici@^7.25.0: + version "7.28.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-7.28.0.tgz#97d64564198b285bc281f0e8e29597e3d11fe7ec" + integrity sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz" @@ -6680,65 +5460,6 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz" integrity sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ== -unified@^11.0.0, unified@11.0.5: - version "11.0.5" - resolved "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz" - integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== - dependencies: - "@types/unist" "^3.0.0" - bail "^2.0.0" - devlop "^1.0.0" - extend "^3.0.0" - is-plain-obj "^4.0.0" - trough "^2.0.0" - vfile "^6.0.0" - -unist-util-find-after@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz" - integrity sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - -unist-util-is@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz" - integrity sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-position@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" - integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-stringify-position@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" - integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-visit-parents@^6.0.0: - version "6.0.2" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz" - integrity sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - -unist-util-visit@^5.0.0, unist-util-visit@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" - integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - update-browserslist-db@^1.2.3: version "1.2.3" resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz" @@ -6752,7 +5473,7 @@ use-isomorphic-layout-effect@^1.2.0: resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz" integrity sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA== -use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0, use-sync-external-store@>=1.2.0: +use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0: version "1.6.0" resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz" integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== @@ -6772,22 +5493,6 @@ vanilla-colorful@0.7.2: resolved "https://registry.npmjs.org/vanilla-colorful/-/vanilla-colorful-0.7.2.tgz" integrity sha512-z2YZusTFC6KnLERx1cgoIRX2CjPRP0W75N+3CC6gbvdX5Ch47rZkEMGO2Xnf+IEmi3RiFLxS18gayMA27iU7Kg== -vfile-message@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz" - integrity sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" - -vfile@^6.0.0: - version "6.0.3" - resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz" - integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== - dependencies: - "@types/unist" "^3.0.0" - vfile-message "^4.0.0" - victory-vendor@^37.0.2: version "37.3.6" resolved "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz" @@ -6808,43 +5513,61 @@ victory-vendor@^37.0.2: d3-time "^3.0.0" d3-timer "^3.0.1" -"vite@^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "vite@^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.0.16" - resolved "https://registry.npmjs.org/vite/-/vite-8.0.16.tgz" - integrity sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw== +vite-node@2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.1.9.tgz#549710f76a643f1c39ef34bdb5493a944e4f895f" + integrity sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA== dependencies: - lightningcss "^1.32.0" - picomatch "^4.0.4" - postcss "^8.5.15" - rolldown "1.0.3" - tinyglobby "^0.2.17" + cac "^6.7.14" + debug "^4.3.7" + es-module-lexer "^1.5.4" + pathe "^1.1.2" + vite "^5.0.0" + +vite-tsconfig-paths@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-6.1.1.tgz#d5c28cba79c89ebf76489ef1040024b21df6da3a" + integrity sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg== + dependencies: + debug "^4.1.1" + globrex "^0.1.2" + tsconfck "^3.0.3" + +vite@^5.0.0: + version "5.4.21" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.21.tgz#84a4f7c5d860b071676d39ba513c0d598fdc7027" + integrity sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.43" + rollup "^4.20.0" optionalDependencies: fsevents "~2.3.3" -vitest@^4.1.0: - version "4.1.8" - resolved "https://registry.npmjs.org/vitest/-/vitest-4.1.8.tgz" - integrity sha512-flY6ScbCIt9HThs+C5HS7jvGOB560DJtk/Z15IQROTA6zEy49Nh8T/dofWTQL+n3vswqn87sbJNiuqw1SDp5Ig== +vitest@^2: + version "2.1.9" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.1.9.tgz#7d01ffd07a553a51c87170b5e80fea3da7fb41e7" + integrity sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q== dependencies: - "@vitest/expect" "4.1.8" - "@vitest/mocker" "4.1.8" - "@vitest/pretty-format" "4.1.8" - "@vitest/runner" "4.1.8" - "@vitest/snapshot" "4.1.8" - "@vitest/spy" "4.1.8" - "@vitest/utils" "4.1.8" - es-module-lexer "^2.0.0" - expect-type "^1.3.0" - magic-string "^0.30.21" - obug "^2.1.1" - pathe "^2.0.3" - picomatch "^4.0.3" - std-env "^4.0.0-rc.1" + "@vitest/expect" "2.1.9" + "@vitest/mocker" "2.1.9" + "@vitest/pretty-format" "^2.1.9" + "@vitest/runner" "2.1.9" + "@vitest/snapshot" "2.1.9" + "@vitest/spy" "2.1.9" + "@vitest/utils" "2.1.9" + chai "^5.1.2" + debug "^4.3.7" + expect-type "^1.1.0" + magic-string "^0.30.12" + pathe "^1.1.2" + std-env "^3.8.0" tinybench "^2.9.0" - tinyexec "^1.0.2" - tinyglobby "^0.2.15" - tinyrainbow "^3.1.0" - vite "^6.0.0 || ^7.0.0 || ^8.0.0" + tinyexec "^0.3.1" + tinypool "^1.0.1" + tinyrainbow "^1.2.0" + vite "^5.0.0" + vite-node "2.1.9" why-is-node-running "^2.3.0" w3c-xmlserializer@^5.0.0: @@ -6862,17 +5585,12 @@ watchpack@^2.5.1: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -web-namespaces@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" - integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== +webidl-conversions@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-8.0.1.tgz#0657e571fe6f06fcb15ca50ed1fdbcb495cd1686" + integrity sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ== -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-cli@^6.0.0, webpack-cli@6.x.x: +webpack-cli@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz" integrity sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw== @@ -6921,7 +5639,7 @@ webpack-sources@^3.5.0: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.0.tgz" integrity sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ== -"webpack@^4.0.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.27.0, webpack@^5.72, webpack@^5.75.0, webpack@^5.82.0, webpack@>=5.61.0: +webpack@^5.72: version "5.107.2" resolved "https://registry.npmjs.org/webpack/-/webpack-5.107.2.tgz" integrity sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ== @@ -6950,25 +5668,19 @@ webpack-sources@^3.5.0: watchpack "^2.5.1" webpack-sources "^3.5.0" -whatwg-encoding@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz" - integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== - dependencies: - iconv-lite "0.6.3" +whatwg-mimetype@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz#d8232895dbd527ceaee74efd4162008fb8a8cf48" + integrity sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw== -whatwg-mimetype@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz" - integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== - -whatwg-url@^14.0.0, whatwg-url@^14.1.1: - version "14.2.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz" - integrity sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw== +whatwg-url@^16.0.0, whatwg-url@^16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-16.0.1.tgz#047f7f4bd36ef76b7198c172d1b1cebc66f764dd" + integrity sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw== dependencies: - tr46 "^5.1.0" - webidl-conversions "^7.0.0" + "@exodus/bytes" "^1.11.0" + tr46 "^6.0.0" + webidl-conversions "^8.0.1" which@^2.0.1: version "2.0.2" @@ -6990,11 +5702,6 @@ wildcard@^2.0.1: resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== -ws@^8.18.0: - version "8.21.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz" - integrity sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g== - xml-name-validator@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz" @@ -7010,7 +5717,7 @@ yallist@^3.0.2: resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@^1.10.0, yaml@^2.4.2: +yaml@^1.10.0: version "1.10.3" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz" integrity sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA== @@ -7034,8 +5741,3 @@ zustand@^5.0.0: version "5.0.14" resolved "https://registry.npmjs.org/zustand/-/zustand-5.0.14.tgz" integrity sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g== - -zwitch@^2.0.0, zwitch@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==