diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index b8b844dd..d507f8ea 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -24,10 +24,11 @@ jobs: - name: Node 🧰 uses: actions/setup-node@v6 with: - node-version: 20.x + node-version: 22.x registry-url: https://registry.npmjs.org cache: 'pnpm' + # npm >= 11.5.1 is required for trusted publishing (OIDC) on npmjs. - name: Update npm run: npm install -g npm@latest diff --git a/lerna.json b/lerna.json index 02b70f76..294cf0ef 100644 --- a/lerna.json +++ b/lerna.json @@ -2,10 +2,10 @@ "$schema": "node_modules/lerna/schemas/lerna-schema.json", "useNx": false, "npmClient": "pnpm", - "version": "4.29.6", + "version": "5.0.0-beta.1", "command": { "version": { "preid": "beta" } } -} +} \ No newline at end of file diff --git a/package.json b/package.json index ec72e269..a349d6dc 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ "clean": "pnpm dlx rimraf --glob **/node_modules **/pnpm-lock.yaml" }, "devDependencies": { - "@biomejs/biome": "^2.5.4", + "@biomejs/biome": "^2.5.8", "husky": "^9.1.7", - "lerna": "^9.0.7", + "lerna": "^10.0.0", "typescript": "^6.0.3" }, "pnpm": {} diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 09b47a30..bad01afb 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -1,6 +1,6 @@ { "name": "@commercelayer/core-components", - "version": "1.0.0", + "version": "5.0.0-beta.1", "description": "Commerce Layer Core", "type": "module", "main": "./dist/index.js", @@ -43,10 +43,10 @@ "tsdown": "^0.22.12", "typescript": "^6.0.3", "vite-tsconfig-paths": "^6.1.1", - "vitest": "^4.1.10" + "vitest": "^4.1.5" }, "dependencies": { - "@commercelayer/js-auth": "^7.4.2", + "@commercelayer/js-auth": "^8.0.0", "@commercelayer/sdk": "8.0.0-beta.11" } } diff --git a/packages/docs/package.json b/packages/docs/package.json index 18cc0b8c..454e1aec 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -3,9 +3,9 @@ "name": "docs", "version": "4.28.3", "devDependencies": { - "@babel/core": "^7.29.7", - "@babel/preset-env": "^7.29.7", - "@commercelayer/js-auth": "^7.4.2", + "@babel/core": "^8.0.1", + "@babel/preset-env": "^8.0.2", + "@commercelayer/js-auth": "^8.0.0", "@commercelayer/sdk": "8.0.0-beta.11", "@mdx-js/react": "^3.1.1", "@storybook/addon-actions": "^9.0.8", diff --git a/packages/document/package.json b/packages/document/package.json index bf5ba019..3adae8d8 100644 --- a/packages/document/package.json +++ b/packages/document/package.json @@ -18,7 +18,7 @@ }, "devDependencies": { "@chromatic-com/storybook": "^5.2.1", - "@commercelayer/js-auth": "^7.4.2", + "@commercelayer/js-auth": "^8.0.0", "@storybook/addon-docs": "^10.5.3", "@storybook/addon-links": "^10.5.3", "@storybook/addon-mcp": "^0.7.0", diff --git a/packages/react-components/package.json b/packages/react-components/package.json index db61c321..a2c87fa6 100644 --- a/packages/react-components/package.json +++ b/packages/react-components/package.json @@ -1,6 +1,6 @@ { "name": "@commercelayer/react-components", - "version": "4.29.6", + "version": "5.0.0-beta.1", "description": "The Official Commerce Layer React Components", "type": "module", "main": "./dist/index.js", @@ -65,44 +65,43 @@ "@commercelayer/organization-config": "^2.8.4", "@commercelayer/react-hooks-components": "workspace:*", "@commercelayer/sdk": "8.0.0-beta.11", - "@stripe/react-stripe-js": "^6.8.0", + "@stripe/react-stripe-js": "^6.8.1", "@stripe/stripe-js": "^9.10.0", + "@iframe-resizer/parent": "^5.5.9", "@tanstack/react-table": "^8.21.3", - "@types/iframe-resizer": "^4.0.0", "braintree-web": "^3.143.0", "frames-react": "^1.2.4", - "iframe-resizer": "^4.3.6", - "rapid-form": "^4.0.4" + "rapid-form": "^5.0.0" }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.5", - "@babel/core": "^7.29.7", - "@commercelayer/js-auth": "^7.4.2", + "@babel/core": "^8.0.1", + "@commercelayer/js-auth": "^8.0.0", "@faker-js/faker": "^10.5.0", "@playwright/test": "^1.61.1", "@rolldown/plugin-babel": "^0.2.3", "@testing-library/dom": "^10.4.1", "@testing-library/react": "^16.3.2", "@types/braintree-web": "^3.96.17", - "@types/node": "^25.9.5", + "@types/node": "^26.2.0", "@types/react": "^19.2.17", "@types/react-test-renderer": "^19.1.0", "@types/react-window": "^2.0.0", "@vitejs/plugin-react": "^6.0.3", "@vitest/coverage-v8": "^4.1.10", "babel-plugin-react-compiler": "^1.0.0", - "jsdom": "^29.1.1", + "jsdom": "^30.0.1", "msw": "^2.15.0", "react": "^19.2.7", "react-dom": "^19.2.7", "react-test-renderer": "^19.2.7", - "swr": "^2.4.2", + "swr": "^2.5.1", "tsdown": "^0.22.12", "tslib": "^2.8.1", "typescript": "^6.0.3", "vite": "^8.1.5", "vite-tsconfig-paths": "^6.1.1", - "vitest": "^4.1.10" + "vitest": "^4.1.5" }, "peerDependencies": { "react": ">=19.0.0" diff --git a/packages/react-components/specs/addresses/BillingAddressForm.spec.tsx b/packages/react-components/specs/addresses/BillingAddressForm.spec.tsx index a1901354..28ee8aa7 100644 --- a/packages/react-components/specs/addresses/BillingAddressForm.spec.tsx +++ b/packages/react-components/specs/addresses/BillingAddressForm.spec.tsx @@ -206,25 +206,54 @@ describe("BillingAddressForm", () => { }) }) - it("calls saveAddressToCustomerAddressBook for checkbox fields", async () => { - const saveAddressToCustomerAddressBook = vi.fn() - renderForm({ + it.each([ + ["ticked", "true", true], + ["unticked", "false", false], + ])( + "reports a %s save-to-address-book checkbox from rapid-form's string value", + async (_label, reported, expected) => { + // rapid-form v5 reports a checkbox as the string "true"/"false" and carries no + // `type`/`checked`. Tracking it at all requires trackUnvalidatedFields, since the + // checkbox is not a required field. + const saveAddressToCustomerAddressBook = vi.fn() + renderForm({ + values: { + billing_address_first_name: { value: "Jane", required: true }, + billing_address_save_to_customer_book: { + name: "billing_address_save_to_customer_book", + value: reported, + }, + }, + orderOverrides: { saveAddressToCustomerAddressBook }, + }) + + await waitFor(() => { + expect(saveAddressToCustomerAddressBook).toHaveBeenCalledWith( + expect.objectContaining({ type: "billing_address", value: expected }) + ) + }) + } + ) + + it("keeps the checkbox out of the address attributes", async () => { + // "false" is a truthy string, so a checkbox leaking into the values would be + // PATCHed onto the address as a bogus `save_to_customer_book` attribute. + const { setAddress } = renderForm({ values: { billing_address_first_name: { value: "Jane", required: true }, billing_address_save_to_customer_book: { - value: "on", - type: "checkbox", - checked: true, + name: "billing_address_save_to_customer_book", + value: "false", }, }, - orderOverrides: { saveAddressToCustomerAddressBook }, }) await waitFor(() => { - expect(saveAddressToCustomerAddressBook).toHaveBeenCalledWith( - expect.objectContaining({ type: "billing_address", value: true }) - ) + expect(setAddress).toHaveBeenCalled() }) + for (const call of setAddress.mock.calls) { + expect(call[0].values).not.toHaveProperty("save_to_customer_book") + } }) it("sets address errors when input validation fails", async () => { diff --git a/packages/react-components/specs/addresses/ShippingAddressForm.spec.tsx b/packages/react-components/specs/addresses/ShippingAddressForm.spec.tsx index b5475af1..e7a0cd5b 100644 --- a/packages/react-components/specs/addresses/ShippingAddressForm.spec.tsx +++ b/packages/react-components/specs/addresses/ShippingAddressForm.spec.tsx @@ -233,25 +233,54 @@ describe("ShippingAddressForm", () => { }) }) - it("calls saveAddressToCustomerAddressBook for checkbox fields", async () => { - const saveAddressToCustomerAddressBook = vi.fn() - renderForm({ + it.each([ + ["ticked", "true", true], + ["unticked", "false", false], + ])( + "reports a %s save-to-address-book checkbox from rapid-form's string value", + async (_label, reported, expected) => { + // rapid-form v5 reports a checkbox as the string "true"/"false" and carries no + // `type`/`checked`. Tracking it at all requires trackUnvalidatedFields, since the + // checkbox is not a required field. + const saveAddressToCustomerAddressBook = vi.fn() + renderForm({ + values: { + shipping_address_first_name: { value: "Jane", required: true }, + shipping_address_save_to_customer_book: { + name: "shipping_address_save_to_customer_book", + value: reported, + }, + }, + orderOverrides: { saveAddressToCustomerAddressBook }, + }) + + await waitFor(() => { + expect(saveAddressToCustomerAddressBook).toHaveBeenCalledWith( + expect.objectContaining({ type: "shipping_address", value: expected }) + ) + }) + } + ) + + it("keeps the checkbox out of the address attributes", async () => { + // "false" is a truthy string, so a checkbox leaking into the values would be + // PATCHed onto the address as a bogus `save_to_customer_book` attribute. + const { setAddress } = renderForm({ values: { shipping_address_first_name: { value: "Jane", required: true }, shipping_address_save_to_customer_book: { - value: "on", - type: "checkbox", - checked: true, + name: "shipping_address_save_to_customer_book", + value: "false", }, }, - orderOverrides: { saveAddressToCustomerAddressBook }, }) await waitFor(() => { - expect(saveAddressToCustomerAddressBook).toHaveBeenCalledWith( - expect.objectContaining({ type: "shipping_address", value: true }) - ) + expect(setAddress).toHaveBeenCalled() }) + for (const call of setAddress.mock.calls) { + expect(call[0].values).not.toHaveProperty("save_to_customer_book") + } }) it("sets address errors when input validation fails (with shouldSyncShippingAddress)", async () => { diff --git a/packages/react-components/specs/orders/hosted-cart.spec.tsx b/packages/react-components/specs/orders/hosted-cart.spec.tsx index 592672cc..5e20d86c 100644 --- a/packages/react-components/specs/orders/hosted-cart.spec.tsx +++ b/packages/react-components/specs/orders/hosted-cart.spec.tsx @@ -7,8 +7,8 @@ import OrderStorageContext from "#context/OrderStorageContext" import * as applicationLinkUtils from "#utils/getApplicationLink" import * as organizationUtils from "#utils/organization" -vi.mock("iframe-resizer", () => ({ - iframeResizer: vi.fn(), +vi.mock("@iframe-resizer/parent", () => ({ + default: vi.fn(), })) describe("HostedCart component", () => { diff --git a/packages/react-components/specs/orders/order-amounts.spec.tsx b/packages/react-components/specs/orders/order-amounts.spec.tsx new file mode 100644 index 00000000..931d76c9 --- /dev/null +++ b/packages/react-components/specs/orders/order-amounts.spec.tsx @@ -0,0 +1,163 @@ +import { render, screen } from "@testing-library/react" +import type { ReactNode } from "react" +import { describe, expect, it } from "vitest" +import { AdjustmentAmount } from "#components/orders/AdjustmentAmount" +import { DiscountAmount } from "#components/orders/DiscountAmount" +import { OrderNumber } from "#components/orders/OrderNumber" +import { PaymentMethodAmount } from "#components/orders/PaymentMethodAmount" +import { ShippingAmount } from "#components/orders/ShippingAmount" +import { SubTotalAmount } from "#components/orders/SubTotalAmount" +import { TaxesAmount } from "#components/orders/TaxesAmount" +import OrderContext, { defaultOrderContext } from "#context/OrderContext" +import getAmount from "#utils/getAmount" + +const ORDER = { + id: "order-1", + number: 2826178, + formatted_subtotal_amount: "€145,00", + subtotal_amount_cents: 14500, + formatted_discount_amount: "-€50,00", + discount_amount_cents: -5000, + formatted_shipping_amount: "€10,00", + shipping_amount_cents: 1000, + formatted_total_tax_amount: "€0,00", + total_tax_amount_cents: 0, + formatted_adjustment_amount: "€1,00", + adjustment_amount_cents: 100, + formatted_payment_method_amount: "€2,00", + payment_method_amount_cents: 200, +} + +function withOrder(children: ReactNode, order: unknown = ORDER) { + return render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + {children} + + ) +} + +describe("order amount components", () => { + it.each([ + ["SubTotalAmount", SubTotalAmount, "€145,00", 14500], + ["DiscountAmount", DiscountAmount, "-€50,00", -5000], + ["ShippingAmount", ShippingAmount, "€10,00", 1000], + ["TaxesAmount", TaxesAmount, "€0,00", 0], + ["AdjustmentAmount", AdjustmentAmount, "€1,00", 100], + ["PaymentMethodAmount", PaymentMethodAmount, "€2,00", 200], + ])("%s renders its formatted amount", (_name, Component, expected) => { + withOrder() + + expect(screen.getByTestId("amount").textContent).toBe(expected) + }) + + it.each([ + ["SubTotalAmount", SubTotalAmount, "€145,00", 14500], + ["DiscountAmount", DiscountAmount, "-€50,00", -5000], + ["ShippingAmount", ShippingAmount, "€10,00", 1000], + ["TaxesAmount", TaxesAmount, "€0,00", 0], + ["AdjustmentAmount", AdjustmentAmount, "€1,00", 100], + ["PaymentMethodAmount", PaymentMethodAmount, "€2,00", 200], + ])("%s hands price and cents to a children function", (_name, Component, price, cents) => { + withOrder( + + {({ price: p, priceCents }) => {`${p}|${priceCents}`}} + + ) + + expect(screen.getByTestId("custom").textContent).toBe(`${price}|${cents}`) + }) + + it("renders an empty amount when the order has none", () => { + withOrder(, {}) + + expect(screen.getByTestId("amount").textContent).toBe("") + }) + + it("reads the raw cents when asked for that format", () => { + withOrder() + + expect(screen.getByTestId("amount").textContent).toBe("14500") + }) + + it("passes props through to the span", () => { + withOrder() + + expect(screen.getByTestId("amount").className).toBe("total") + }) +}) + +describe("OrderNumber", () => { + it("renders the order number", () => { + withOrder() + + expect(screen.getByTestId("number").textContent).toBe("2826178") + }) + + it("renders nothing when the order has no number", () => { + withOrder(, {}) + + expect(screen.getByTestId("number").textContent).toBe("") + }) + + it("renders nothing without an order at all", () => { + withOrder(, null) + + expect(screen.getByTestId("number").textContent).toBe("") + }) + + it("hands the attribute to a children function", () => { + withOrder( + + {({ attribute }) => {`#${attribute}`}} + + ) + + expect(screen.getByTestId("custom").textContent).toBe("#2826178") + }) +}) + +describe("getAmount", () => { + it.each([ + // format_type_base + [{ formatted_subtotal_amount: "€1" }, "formatted", "€1"], + // type_base_format + [{ subtotal_amount_cents: 100 }, "cents", 100], + ])("resolves %o for the %s format", (obj, format, expected) => { + expect(getAmount({ base: "amount", type: "subtotal", format, obj })).toBe(expected) + }) + + it("resolves the format_base_type key order", () => { + expect( + getAmount({ + base: "amount", + type: "subtotal", + format: "formatted", + obj: { formatted_amount_subtotal: "€1" }, + }) + ).toBe("€1") + }) + + it("resolves the base_type_format key order", () => { + expect( + getAmount({ + base: "amount", + type: "subtotal", + format: "cents", + obj: { amount_subtotal_cents: 100 }, + }) + ).toBe(100) + }) + + it("returns undefined when no key matches", () => { + expect( + getAmount({ base: "amount", type: "subtotal", format: "formatted", obj: { other: 1 } }) + ).toBeUndefined() + }) + + it("returns undefined for an empty object", () => { + expect( + getAmount({ base: "amount", type: "subtotal", format: "formatted", obj: {} }) + ).toBeUndefined() + }) +}) diff --git a/packages/react-components/specs/payment_source/AdyenPayment.spec.tsx b/packages/react-components/specs/payment_source/AdyenPayment.spec.tsx new file mode 100644 index 00000000..7e164325 --- /dev/null +++ b/packages/react-components/specs/payment_source/AdyenPayment.spec.tsx @@ -0,0 +1,850 @@ +// Regression coverage for the partial gift-card authorization flow. When an Adyen gift card +// covers only part of the order, the Drop-in is refreshed once for the remaining amount via +// Core's `update()`. It used to be `mount()`ed again instead, which re-rendered it with the +// *old* amount — losing the shopper's selection for no benefit — and did so repeatedly. +import { act, fireEvent, render, screen } from "@testing-library/react" +import type { ReactNode } from "react" +import PaymentGateway from "#components/payment_gateways/PaymentGateway" +import { PaymentMethod } from "#components/payment_methods/PaymentMethod" +import { AdyenPayment } from "#components/payment_source/AdyenPayment" +import { PaymentSource } from "#components/payment_source/PaymentSource" +import CommerceLayerContext from "#context/CommerceLayerContext" +import CustomerContext from "#context/CustomerContext" +import OrderContext, { defaultOrderContext } from "#context/OrderContext" +import PaymentMethodChildrenContext from "#context/PaymentMethodChildrenContext" +import PaymentMethodContext, { defaultPaymentMethodContext } from "#context/PaymentMethodContext" +import PlaceOrderContext, { defaultPlaceOrderContext } from "#context/PlaceOrderContext" + +const TEST_TOKEN = "test-token" + +const adyen = vi.hoisted(() => ({ + coreUpdate: vi.fn(), + dropinMount: vi.fn(), + dropinRemove: vi.fn(), + dropinSubmit: vi.fn(), + // The Core configuration the component builds, so tests can invoke the real + // `onSubmit` handler it installs. + // biome-ignore lint/suspicious/noExplicitAny: test cast + captured: { options: null as any }, +})) + +vi.mock("@adyen/adyen-web/auto", () => ({ + // biome-ignore lint/suspicious/noExplicitAny: test cast + AdyenCheckout: vi.fn(async (options: any) => { + adyen.captured.options = options + return { update: adyen.coreUpdate } + }), + Dropin: class FakeDropin { + mount(selector: string): this { + adyen.dropinMount(selector) + return this + } + submit(): void { + adyen.dropinSubmit() + } + remove(): void { + adyen.dropinRemove() + } + unmount(): this { + return this + } + handleAction(): void {} + }, +})) + +// derives the Adyen environment from the access token; the test token is not +// a real JWT. +vi.mock("#utils/jwt", () => ({ + jwt: () => ({ test: true }), +})) + +vi.mock("#utils/getPublicIp", () => ({ + getPublicIP: vi.fn(async () => "127.0.0.1"), +})) + +// biome-ignore lint/suspicious/noExplicitAny: test cast +const ORDER: any = { + id: "order-1", + currency_code: "EUR", + country_code: "IT", + language_code: "en-US", + status: "pending", + payment_status: "unpaid", + total_amount_with_taxes_cents: 1000, + line_items: [], +} + +/** Adyen's payment_methods payload, so the component does not log a config error. */ +const PAYMENT_SOURCE = { + id: "ps-1", + type: "adyen_payments", + payment_methods: { + paymentMethods: [{ type: "giftcard" }, { type: "scheme" }], + }, +} + +function Providers({ + children, + order = ORDER, + paymentSource = PAYMENT_SOURCE, + placeOrderStatus = "standby", + updateOrder, + getOrderByFields = vi.fn().mockResolvedValue({ status: "pending", payment_status: "unpaid" }), + setPaymentSource, + setPaymentMethodErrors = vi.fn(), + setPaymentRef = vi.fn(), +}: { + children: ReactNode + // biome-ignore lint/suspicious/noExplicitAny: test cast + order?: any + // biome-ignore lint/suspicious/noExplicitAny: test cast + paymentSource?: any + // biome-ignore lint/suspicious/noExplicitAny: test cast + placeOrderStatus?: any + // biome-ignore lint/suspicious/noExplicitAny: test cast + updateOrder?: any + // biome-ignore lint/suspicious/noExplicitAny: test cast + getOrderByFields?: any + // biome-ignore lint/suspicious/noExplicitAny: test cast + setPaymentSource?: any + // biome-ignore lint/suspicious/noExplicitAny: test cast + setPaymentMethodErrors?: any + // biome-ignore lint/suspicious/noExplicitAny: test cast + setPaymentRef?: any +}) { + // biome-ignore lint/suspicious/noExplicitAny: test cast + const paymentMethodCtx: any = { + ...defaultPaymentMethodContext, + _isProvided: true as const, + paymentSource, + currentPaymentMethodType: "giftcard", + setPaymentSource, + setPaymentMethodErrors, + setPaymentRef, + errors: [], + } + return ( + + + + + + {children} + + + + + + ) +} + +/** Resolves every pending promise chain kicked off by the component. */ +async function flush(): Promise { + await act(async () => { + await new Promise((resolve) => setTimeout(resolve, 0)) + }) +} + +/** + * Mounts the Drop-in, then submits a gift card. `balance` is what the gift card is worth + * and `orderAfterAuthorization` is the order the API returns from the authorize call. + */ +async function submitGiftCard({ + balance, + // biome-ignore lint/suspicious/noExplicitAny: test cast + orderAfterAuthorization, +}: { + balance: number + // biome-ignore lint/suspicious/noExplicitAny: test cast + orderAfterAuthorization: any +}): Promise<{ resolve: ReturnType; reject: ReturnType }> { + // biome-ignore lint/suspicious/noExplicitAny: test cast + const setPaymentSource = vi.fn(async ({ attributes }: any) => { + if (attributes?._balance) return { ...PAYMENT_SOURCE, balance } + return { ...PAYMENT_SOURCE, payment_response: {} } + }) + const updateOrder = vi.fn().mockResolvedValue({ order: orderAfterAuthorization }) + + await act(async () => { + render( + + {message}, + }} + /> + + ) + }) + await flush() + + const actions = { resolve: vi.fn(), reject: vi.fn() } + await act(async () => { + adyen.captured.options.onSubmit( + { data: { paymentMethod: { type: "giftcard" } }, isValid: true }, + { mount: vi.fn() }, + actions + ) + await new Promise((resolve) => setTimeout(resolve, 0)) + }) + return actions +} + +describe("AdyenPayment gift card partial authorization", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + }) + + it("updates the mounted Drop-in with the remaining amount instead of remounting it", async () => { + const actions = await submitGiftCard({ + balance: 400, + orderAfterAuthorization: { + ...ORDER, + payment_status: "partially_authorized", + // The Commerce Layer gift-card total stays 0 — an Adyen gift card authorized via + // `_authorization_amount_cents` is not a `gift_card` resource. + gift_card_amount_cents: 0, + payment_source: { payment_response: { resultCode: "Authorised" } }, + }, + }) + + expect(actions.resolve).toHaveBeenCalledWith({ resultCode: "Authorised" }) + // 1000 total - 400 authorized by the gift card + expect(adyen.coreUpdate).toHaveBeenCalledWith( + { amount: { currency: "EUR", value: 600 } }, + { shouldReinitializeCheckout: true } + ) + // Mounted once at initialization and never again + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + expect(adyen.dropinMount).toHaveBeenCalledWith("#adyen-dropin") + }) + + it("prefers Adyen's own remainingAmount when the response carries one", async () => { + await submitGiftCard({ + balance: 400, + orderAfterAuthorization: { + ...ORDER, + payment_status: "partially_authorized", + payment_source: { + payment_response: { + resultCode: "Authorised", + order: { remainingAmount: { currency: "EUR", value: 550 } }, + }, + }, + }, + }) + + expect(adyen.coreUpdate).toHaveBeenCalledWith( + { amount: { currency: "EUR", value: 550 } }, + { shouldReinitializeCheckout: true } + ) + }) + + it("does not touch the amount when the gift card covers the whole order", async () => { + const actions = await submitGiftCard({ + balance: 1000, + orderAfterAuthorization: { + ...ORDER, + payment_status: "authorized", + payment_source: { payment_response: { resultCode: "Authorised" } }, + }, + }) + + expect(actions.resolve).toHaveBeenCalledWith({ resultCode: "Authorised" }) + expect(adyen.coreUpdate).not.toHaveBeenCalled() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + }) + + it("removes the Adyen instance on unmount so a remount can re-initialize", async () => { + const setPaymentSource = vi.fn(async () => PAYMENT_SOURCE) + const { unmount } = render( + + + + ) + await flush() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + + // Without this the ref kept pointing at a destroyed Drop-in and the `!dropinRef.current` + // init guard left the component wired to it forever. + unmount() + expect(adyen.dropinRemove).toHaveBeenCalledTimes(1) + }) + + it("rejects and surfaces an error for a gift card with no balance", async () => { + const actions = await submitGiftCard({ + balance: 0, + orderAfterAuthorization: ORDER, + }) + + expect(actions.reject).toHaveBeenCalled() + expect(actions.resolve).not.toHaveBeenCalled() + expect(adyen.coreUpdate).not.toHaveBeenCalled() + expect(screen.getByTestId("gc-error").textContent).toContain("no balance") + }) +}) + +// `Dropin.submit()` throws synchronously when it has no `activePaymentMethod`. Because +// `handleSubmit` is async that became a rejected promise which awaited +// without a catch, so it surfaced as `unhandledRejection: Error: No active payment method.` +// and took the page (and the Playwright run) down instead of telling the shopper anything. +describe("AdyenPayment submit with no active payment method", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + adyen.dropinSubmit.mockReset() + }) + + it("surfaces the Adyen error instead of rejecting", async () => { + adyen.dropinSubmit.mockImplementation(() => { + throw new Error("No active payment method.") + }) + const setPaymentMethodErrors = vi.fn() + + const { container } = render( + PAYMENT_SOURCE)} + updateOrder={vi.fn()} + setPaymentMethodErrors={setPaymentMethodErrors} + > + + + ) + await flush() + + const form = container.querySelector("form") + expect(form).not.toBeNull() + + // Must not throw and must not leave a rejected promise behind. + await act(async () => { + fireEvent.submit(form as HTMLFormElement) + await new Promise((resolve) => setTimeout(resolve, 0)) + }) + + expect(setPaymentMethodErrors).toHaveBeenCalledWith([ + expect.objectContaining({ + resource: "payment_methods", + message: "No active payment method.", + }), + ]) + }) + + it("does not report an error when submit succeeds", async () => { + const setPaymentMethodErrors = vi.fn() + + const { container } = render( + PAYMENT_SOURCE)} + updateOrder={vi.fn()} + setPaymentMethodErrors={setPaymentMethodErrors} + > + + + ) + await flush() + + await act(async () => { + fireEvent.submit(container.querySelector("form") as HTMLFormElement) + await new Promise((resolve) => setTimeout(resolve, 0)) + }) + + expect(adyen.dropinSubmit).toHaveBeenCalledTimes(1) + expect(setPaymentMethodErrors).not.toHaveBeenCalled() + }) +}) + +// The reported glitch: "when the order updates the Adyen component keeps reloading". +// Re-initializing means a fresh AdyenCheckout() + new Dropin().mount(), which throws the +// shopper's selection away and re-fetches translations/analytics. An order update must not +// cause it. +describe("AdyenPayment stability across order updates", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + }) + + it("does not re-initialize when the payment source is recreated by an order update", async () => { + const setPaymentSource = vi.fn(async () => PAYMENT_SOURCE) + const tree = ( + // biome-ignore lint/suspicious/noExplicitAny: test cast + paymentSource: any + ) => ( + + + + ) + + const { rerender } = render(tree(PAYMENT_SOURCE)) + await flush() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + + // What does on a mismatched amount: create a brand new payment source. + // New id and new object identity, same Adyen account so the same `public_key`. + await act(async () => { + rerender(tree({ ...PAYMENT_SOURCE, id: "ps-2", mismatched_amounts: false })) + }) + await flush() + + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + expect(adyen.dropinRemove).not.toHaveBeenCalled() + }) + + it("does not re-initialize across a place-order status round trip", async () => { + const setPaymentSource = vi.fn(async () => PAYMENT_SOURCE) + // biome-ignore lint/suspicious/noExplicitAny: test cast + const tree = (placeOrderStatus: any) => ( + + + + ) + + const { rerender } = render(tree("standby")) + await flush() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + + // `status` is a dependency of the main effect, so this fires its cleanup and body again. + for (const status of ["placing", "standby"]) { + await act(async () => { + rerender(tree(status)) + }) + await flush() + } + + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + expect(adyen.dropinRemove).not.toHaveBeenCalled() + }) +}) + +// Refreshing the Drop-in once, when the order becomes partially authorized, is intended: the +// shopper now owes a smaller amount. Refreshing it repeatedly for the same authorization is +// the glitch — it discards the selection and re-fetches translations/analytics each time. +describe("AdyenPayment partial-authorization refresh happens once", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + }) + + it("refreshes once even if the gift card is submitted again for the same source", async () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + const setPaymentSource = vi.fn(async ({ attributes }: any) => { + if (attributes?._balance) return { ...PAYMENT_SOURCE, balance: 400 } + return { ...PAYMENT_SOURCE, payment_response: {} } + }) + const updateOrder = vi.fn().mockResolvedValue({ + order: { + ...ORDER, + payment_status: "partially_authorized", + payment_source: { payment_response: { resultCode: "Authorised" } }, + }, + }) + + await act(async () => { + render( + + + + ) + }) + await flush() + + const submitOnce = async (): Promise => { + const actions = { resolve: vi.fn(), reject: vi.fn() } + await act(async () => { + adyen.captured.options.onSubmit( + { data: { paymentMethod: { type: "giftcard" } }, isValid: true }, + { mount: vi.fn() }, + actions + ) + await new Promise((resolve) => setTimeout(resolve, 0)) + }) + } + + await submitOnce() + expect(adyen.coreUpdate).toHaveBeenCalledTimes(1) + + // Three more passes over the same authorization — repeated effect passes, a retry, an + // order refetch that lands on the same partially-authorized state. + await submitOnce() + await submitOnce() + await submitOnce() + + // Still exactly one refresh, and the Drop-in was never remounted. + expect(adyen.coreUpdate).toHaveBeenCalledTimes(1) + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + expect(adyen.dropinRemove).not.toHaveBeenCalled() + }) +}) + +// The refresh resets the Drop-in's `activePaymentMethod`, so the form genuinely is not +// submittable until the shopper picks a method again. Leaving `ref.current.onsubmit` patched +// is what let call `Dropin.submit()` on an empty Drop-in. +describe("AdyenPayment disarms the submit wiring on refresh", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + }) + + it("clears the payment ref when the Drop-in is refreshed", async () => { + const setPaymentRef = vi.fn() + // biome-ignore lint/suspicious/noExplicitAny: test cast + const setPaymentSource = vi.fn(async ({ attributes }: any) => { + if (attributes?._balance) return { ...PAYMENT_SOURCE, balance: 400 } + return { ...PAYMENT_SOURCE, payment_response: {} } + }) + const updateOrder = vi.fn().mockResolvedValue({ + order: { + ...ORDER, + payment_status: "partially_authorized", + payment_source: { payment_response: { resultCode: "Authorised" } }, + }, + }) + + await act(async () => { + render( + + + + ) + }) + await flush() + + const actions = { resolve: vi.fn(), reject: vi.fn() } + await act(async () => { + adyen.captured.options.onSubmit( + { data: { paymentMethod: { type: "giftcard" } }, isValid: true }, + { mount: vi.fn() }, + actions + ) + await new Promise((resolve) => setTimeout(resolve, 0)) + }) + + expect(adyen.coreUpdate).toHaveBeenCalledTimes(1) + expect(setPaymentRef).toHaveBeenCalledWith({ ref: { current: null } }) + }) +}) + +// The real cost of the loader swap, measured through the real : it used to +// return `loaderComponent` instead of the gateway, unmounting the Adyen Drop-in and forcing a +// full re-initialization on the way back. `status: "placing"` is one of the flips that does it. +describe("PaymentGateway keeps the Adyen Drop-in mounted across loading flips", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + }) + + it("does not unmount the Drop-in when the place-order status flips", async () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + const order: any = { + ...ORDER, + payment_method: { id: "pm-1", payment_source_type: "adyen_payments" }, + payment_source: { id: "ps-1", mismatched_amounts: false }, + } + // biome-ignore lint/suspicious/noExplicitAny: test cast + const source: any = { ...PAYMENT_SOURCE, public_key: "test_CLIENTKEY" } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + const tree = (placeOrderStatus: any) => ( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + {/* biome-ignore lint/suspicious/noExplicitAny: test cast */} + + {/* biome-ignore lint/suspicious/noExplicitAny: test cast */} + + {/* biome-ignore lint/suspicious/noExplicitAny: test cast */} + + + source), + paymentSource: source, + paymentMethods: [{ id: "pm-1" }], + errors: [], + setPaymentMethodErrors: vi.fn(), + setPaymentRef: vi.fn(), + // biome-ignore lint/suspicious/noExplicitAny: test cast + } as any + } + > + {}} /> + + + + + + + ) + + const { rerender } = render(tree("standby")) + await flush() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + + // `status === "placing"` sets loading true inside PaymentGateway. + await act(async () => { + rerender(tree("placing")) + }) + await flush() + await act(async () => { + rerender(tree("standby")) + }) + await flush() + + // Never torn down, never re-initialized. + expect(adyen.dropinRemove).not.toHaveBeenCalled() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + }) +}) + +// End-to-end through the real chain: → → → +// → . Both and implement their +// loader by replacing the subtree, so either one flipping `loading` used to tear the Drop-in +// down and re-initialize it. This is the "keeps reloading" glitch, measured where it happens. +describe("the real payment chain keeps the Adyen Drop-in mounted", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + }) + + it("survives the order updates of a partial gift-card authorization", async () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + const source: any = { ...PAYMENT_SOURCE, public_key: "test_CLIENTKEY" } + const baseOrder = { + ...ORDER, + payment_method: { id: "pm-1", payment_source_type: "adyen_payments" }, + available_payment_methods: [ + { id: "pm-1", payment_source_type: "adyen_payments", name: "Adyen" }, + ], + payment_source: { id: "ps-1", mismatched_amounts: false }, + } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + const tree = (order: any) => ( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + {/* biome-ignore lint/suspicious/noExplicitAny: test cast */} + + {/* biome-ignore lint/suspicious/noExplicitAny: test cast */} + + {/* biome-ignore lint/suspicious/noExplicitAny: test cast */} + + source), + paymentSource: source, + paymentMethods: baseOrder.available_payment_methods, + errors: [], + setPaymentMethodErrors: vi.fn(), + setPaymentRef: vi.fn(), + setPaymentMethod: vi.fn(), + setLoading: vi.fn(), + // biome-ignore lint/suspicious/noExplicitAny: test cast + } as any + } + > + Loading}> + + + + + + + + + + ) + + const { rerender } = render(tree(baseOrder)) + await flush() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + + // The order updates a partial gift-card authorization produces, in order: the payment + // response lands first (the balance check refetches the order), then the authorization + // flips payment_status, then the amounts read as mismatched. + const updates = [ + { ...baseOrder, payment_source: { id: "ps-1", payment_response: { status: "authorized" } } }, + { + ...baseOrder, + payment_status: "partially_authorized", + payment_source: { id: "ps-1", payment_response: { status: "authorized" } }, + }, + { + ...baseOrder, + payment_status: "partially_authorized", + payment_source: { + id: "ps-1", + mismatched_amounts: true, + payment_response: { status: "authorized" }, + }, + }, + ] + for (const order of updates) { + await act(async () => { + rerender(tree(order)) + }) + await flush() + } + + // One mount, never torn down — no matter how the order churned underneath. + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + expect(adyen.dropinRemove).not.toHaveBeenCalled() + }) +}) + +// Adyen's session — the `order_data` that expires after a minute — is baked into the Drop-in +// at creation. When the API rejects a call because it expired, the reducer destroys the +// payment source and a fresh one takes its place, and the instance on screen is left talking +// to a session the API now refuses. It has to be rebuilt, or the shopper's retry can never +// succeed. This is the one case that may rebuild: the test above pins down that an ordinary +// order update must NOT. +describe("AdyenPayment expired Adyen session", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + }) + + it("rebuilds the Drop-in against the replacement payment source", async () => { + // What setPaymentSource returns once the API answers 422 "order_data - is expired": + // the reducer swallows the error and hands back undefined. + const setPaymentSource = vi.fn(async () => undefined) + const setPaymentMethodErrors = vi.fn() + const tree = ( + // biome-ignore lint/suspicious/noExplicitAny: test cast + paymentSource: any + ) => ( + + + + ) + + const { rerender } = render(tree(PAYMENT_SOURCE)) + await flush() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + + const actions = { resolve: vi.fn(), reject: vi.fn() } + await act(async () => { + adyen.captured.options.onSubmit( + { data: { paymentMethod: { type: "giftcard" } }, isValid: true }, + { mount: vi.fn() }, + actions + ) + await new Promise((resolve) => setTimeout(resolve, 0)) + }) + + // The shopper is told the session expired, not that their gift card is empty — the + // balance check came back undefined because the request failed, not because it is zero. + const [[errors]] = setPaymentMethodErrors.mock.calls + expect(errors[0].message).toMatch(/session expired/i) + + // creates the replacement: new id, and the payment methods payload + // arrives with it. + await act(async () => { + rerender(tree({ ...PAYMENT_SOURCE, id: "ps-expired-replacement" })) + }) + await flush() + + expect(adyen.dropinRemove).toHaveBeenCalled() + expect(adyen.dropinMount).toHaveBeenCalledTimes(2) + }) +}) + +// recreates the adyen_payment whenever the order carries more than one +// payment method, and it can land after the Drop-in was built. The Drop-in installs its +// `onSubmit` once, so without a latest-value ref the submit authorizes against the source +// the order has already replaced: Adyen redeems the gift card against an orphan, the order +// comes back with `gift_card_amount_cents: 0`, and no amount is ever shown. +describe("AdyenPayment when the payment source is recreated mid-flight", () => { + beforeEach(() => { + vi.clearAllMocks() + adyen.captured.options = null + }) + + it("submits against the current payment source, not the one it was built with", async () => { + const setPaymentSource = vi.fn(async () => ({ ...PAYMENT_SOURCE, balance: 5000 })) + const tree = ( + // biome-ignore lint/suspicious/noExplicitAny: test cast + paymentSource: any + ) => ( + + + + ) + + const { rerender } = render(tree(PAYMENT_SOURCE)) + await flush() + expect(adyen.dropinMount).toHaveBeenCalledTimes(1) + + // The replacement arrives after the Drop-in is already mounted. It must not rebuild it + // — that is the reload loop guarded elsewhere — but the next submit has to follow it. + await act(async () => { + rerender(tree({ ...PAYMENT_SOURCE, id: "ps-recreated" })) + }) + await flush() + expect(adyen.dropinRemove).not.toHaveBeenCalled() + + setPaymentSource.mockClear() + await act(async () => { + adyen.captured.options.onSubmit( + { data: { paymentMethod: { type: "giftcard" } }, isValid: true }, + { mount: vi.fn() }, + { resolve: vi.fn(), reject: vi.fn() } + ) + await new Promise((resolve) => setTimeout(resolve, 0)) + }) + + const ids = setPaymentSource.mock.calls.map(([args]) => args.paymentSourceId) + expect(ids.length).toBeGreaterThan(0) + expect(new Set(ids)).toEqual(new Set(["ps-recreated"])) + }) +}) diff --git a/packages/react-components/specs/reducers/AddressCloneReducers.spec.ts b/packages/react-components/specs/reducers/AddressCloneReducers.spec.ts new file mode 100644 index 00000000..9b58be42 --- /dev/null +++ b/packages/react-components/specs/reducers/AddressCloneReducers.spec.ts @@ -0,0 +1,342 @@ +import { beforeEach, describe, expect, it, vi } from "vitest" + +const addressesUpdate = vi.fn().mockResolvedValue({}) +const inStockCreate = vi.fn().mockResolvedValue({ id: "iss_1" }) + +vi.mock("@commercelayer/core-components", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + getSdk: vi.fn(() => ({ + addresses: { update: addressesUpdate }, + in_stock_subscriptions: { create: inStockCreate }, + })), + } +}) + +const { + default: billingAddressReducer, + billingAddressInitialState, + setBillingAddress, + setBillingCustomerAddressId, +} = await import("#reducers/BillingAddressReducer") + +const { + default: shippingAddressReducer, + shippingAddressInitialState, + setShippingAddress, + setShippingCustomerAddressId, +} = await import("#reducers/ShippingAddressReducer") + +const { default: inStockSubscriptionReducer, setInStockSubscription } = await import( + "#reducers/InStockSubscriptionReducer" +) + +// biome-ignore lint/suspicious/noExplicitAny: test cast +const config = { accessToken: "token" } as any +// biome-ignore lint/suspicious/noExplicitAny: test cast +const ORDER = { id: "order-1" } as any + +describe("BillingAddressReducer", () => { + beforeEach(() => { + vi.clearAllMocks() + vi.spyOn(console, "error").mockImplementation(() => {}) + }) + + it("starts with an empty clone id", () => { + expect(billingAddressInitialState).toEqual({ _billing_address_clone_id: "" }) + }) + + it("stores the clone id on setBillingAddress", () => { + const state = billingAddressReducer(billingAddressInitialState, { + type: "setBillingAddress", + payload: { _billing_address_clone_id: "addr_1" }, + }) + + expect(state._billing_address_clone_id).toBe("addr_1") + }) + + it("dispatches the clone id without touching the API when no customer address is given", async () => { + const dispatch = vi.fn() + + await setBillingAddress("addr_1", { config, dispatch, order: ORDER }) + + expect(addressesUpdate).not.toHaveBeenCalled() + expect(dispatch).toHaveBeenCalledWith({ + type: "setBillingAddress", + payload: { _billing_address_clone_id: "addr_1" }, + }) + }) + + it("references the customer address on the address resource when one is given", async () => { + const dispatch = vi.fn() + + await setBillingAddress("addr_1", { + config, + dispatch, + order: ORDER, + customerAddressId: "cust_addr_1", + }) + + expect(addressesUpdate).toHaveBeenCalledWith({ id: "addr_1", reference: "cust_addr_1" }) + expect(dispatch).toHaveBeenCalled() + }) + + it("does nothing without an order", async () => { + const dispatch = vi.fn() + + await setBillingAddress("addr_1", { config, dispatch }) + + expect(dispatch).not.toHaveBeenCalled() + }) + + it("swallows and logs an API failure", async () => { + addressesUpdate.mockRejectedValueOnce(new Error("boom")) + const dispatch = vi.fn() + + await expect( + setBillingAddress("addr_1", { + config, + dispatch, + order: ORDER, + customerAddressId: "cust_addr_1", + }) + ).resolves.toBeUndefined() + + expect(console.error).toHaveBeenCalled() + expect(dispatch).not.toHaveBeenCalled() + }) + + it("propagates the order's billing address reference", () => { + const dispatch = vi.fn() + const setCloneAddress = vi.fn() + + setBillingCustomerAddressId({ + dispatch, + // biome-ignore lint/suspicious/noExplicitAny: test cast + order: { billing_address: { reference: "cust_addr_1" } } as any, + setCloneAddress, + }) + + expect(dispatch).toHaveBeenCalledWith({ + type: "setBillingCustomerAddressId", + payload: { billingCustomerAddressId: "cust_addr_1" }, + }) + expect(setCloneAddress).toHaveBeenCalledWith("cust_addr_1", "billing_address") + }) + + it("does nothing when the order has no billing address reference", () => { + const dispatch = vi.fn() + const setCloneAddress = vi.fn() + + // biome-ignore lint/suspicious/noExplicitAny: test cast + setBillingCustomerAddressId({ dispatch, order: {} as any, setCloneAddress }) + + expect(dispatch).not.toHaveBeenCalled() + expect(setCloneAddress).not.toHaveBeenCalled() + }) + + it("logs rather than throwing when the clone callback fails", () => { + const setCloneAddress = vi.fn(() => { + throw new Error("clone failed") + }) + + expect(() => + setBillingCustomerAddressId({ + dispatch: vi.fn(), + // biome-ignore lint/suspicious/noExplicitAny: test cast + order: { billing_address: { reference: "cust_addr_1" } } as any, + setCloneAddress, + }) + ).not.toThrow() + + expect(console.error).toHaveBeenCalled() + }) +}) + +describe("ShippingAddressReducer", () => { + beforeEach(() => { + vi.clearAllMocks() + vi.spyOn(console, "error").mockImplementation(() => {}) + }) + + it("starts with an empty clone id", () => { + expect(shippingAddressInitialState).toEqual({ _shipping_address_clone_id: "" }) + }) + + it("stores the clone id on setShippingAddress", () => { + const state = shippingAddressReducer(shippingAddressInitialState, { + type: "setShippingAddress", + payload: { _shipping_address_clone_id: "addr_2" }, + }) + + expect(state._shipping_address_clone_id).toBe("addr_2") + }) + + it("dispatches the clone id without touching the API when no customer address is given", async () => { + const dispatch = vi.fn() + + await setShippingAddress("addr_2", { config, dispatch, order: ORDER }) + + expect(addressesUpdate).not.toHaveBeenCalled() + expect(dispatch).toHaveBeenCalledWith({ + type: "setShippingAddress", + payload: { _shipping_address_clone_id: "addr_2" }, + }) + }) + + it("references the customer address when one is given", async () => { + const dispatch = vi.fn() + + await setShippingAddress("addr_2", { + config, + dispatch, + order: ORDER, + customerAddressId: "cust_addr_2", + }) + + expect(addressesUpdate).toHaveBeenCalledWith({ id: "addr_2", reference: "cust_addr_2" }) + }) + + it("does nothing without an order", async () => { + const dispatch = vi.fn() + + await setShippingAddress("addr_2", { config, dispatch }) + + expect(dispatch).not.toHaveBeenCalled() + }) + + it("swallows and logs an API failure", async () => { + addressesUpdate.mockRejectedValueOnce(new Error("boom")) + const dispatch = vi.fn() + + await expect( + setShippingAddress("addr_2", { + config, + dispatch, + order: ORDER, + customerAddressId: "cust_addr_2", + }) + ).resolves.toBeUndefined() + + expect(console.error).toHaveBeenCalled() + }) + + it("propagates the order's shipping address reference", () => { + const dispatch = vi.fn() + const setCloneAddress = vi.fn() + + setShippingCustomerAddressId({ + dispatch, + // biome-ignore lint/suspicious/noExplicitAny: test cast + order: { shipping_address: { reference: "cust_addr_2" } } as any, + setCloneAddress, + }) + + expect(dispatch).toHaveBeenCalledWith({ + type: "setShippingCustomerAddressId", + payload: { shippingCustomerAddressId: "cust_addr_2" }, + }) + expect(setCloneAddress).toHaveBeenCalledWith("cust_addr_2", "shipping_address") + }) + + it("does nothing when the order has no shipping address reference", () => { + const dispatch = vi.fn() + const setCloneAddress = vi.fn() + + // biome-ignore lint/suspicious/noExplicitAny: test cast + setShippingCustomerAddressId({ dispatch, order: {} as any, setCloneAddress }) + + expect(dispatch).not.toHaveBeenCalled() + }) + + it("logs rather than throwing when the clone callback fails", () => { + const setCloneAddress = vi.fn(() => { + throw new Error("clone failed") + }) + + expect(() => + setShippingCustomerAddressId({ + dispatch: vi.fn(), + // biome-ignore lint/suspicious/noExplicitAny: test cast + order: { shipping_address: { reference: "cust_addr_2" } } as any, + setCloneAddress, + }) + ).not.toThrow() + + expect(console.error).toHaveBeenCalled() + }) +}) + +describe("InStockSubscriptionReducer", () => { + beforeEach(() => { + vi.clearAllMocks() + }) + + it("merges the dispatched payload into state", () => { + // baseReducer spreads the payload over state, so the errors land under `errors` + // rather than replacing the array wholesale. + // biome-ignore lint/suspicious/noExplicitAny: test cast + const errors = [{ code: "VALIDATION_ERROR", resource: "in_stock_subscriptions" }] as any + + const state = inStockSubscriptionReducer([], { type: "setErrors", payload: { errors } }) + + expect(state).toEqual({ errors }) + }) + + it("ignores an unknown action type", () => { + const initial = inStockSubscriptionReducer([], { + // biome-ignore lint/suspicious/noExplicitAny: exercising the unknown-action path + type: "unknown" as any, + // biome-ignore lint/suspicious/noExplicitAny: test cast + payload: { errors: [] } as any, + }) + + expect(initial).toEqual([]) + }) + + it("creates a subscription from a sku code alone", async () => { + const result = await setInStockSubscription({ config, dispatch: vi.fn(), skuCode: "SKU" }) + + expect(inStockCreate).toHaveBeenCalledWith({ sku_code: "SKU" }) + expect(result).toEqual({ success: true }) + }) + + it("includes the customer email when one is supplied", async () => { + await setInStockSubscription({ + config, + dispatch: vi.fn(), + skuCode: "SKU", + customerEmail: "a@b.com", + }) + + expect(inStockCreate).toHaveBeenCalledWith({ sku_code: "SKU", customer_email: "a@b.com" }) + }) + + it("reports failure and dispatches errors when the API rejects", async () => { + inStockCreate.mockRejectedValueOnce({ errors: [{ code: "VALIDATION_ERROR" }] }) + const dispatch = vi.fn() + + const result = await setInStockSubscription({ config, dispatch, skuCode: "SKU" }) + + expect(result).toEqual({ success: false }) + expect(dispatch).toHaveBeenCalledWith(expect.objectContaining({ type: "setErrors" })) + }) + + it("reports failure without a dispatch", async () => { + inStockCreate.mockRejectedValueOnce({ errors: [{ code: "VALIDATION_ERROR" }] }) + + const result = await setInStockSubscription({ config, skuCode: "SKU" }) + + expect(result).toEqual({ success: false }) + }) + + it("fails when no config is supplied", async () => { + const dispatch = vi.fn() + + // biome-ignore lint/suspicious/noExplicitAny: exercising the missing-config guard + const result = await setInStockSubscription({ config: null as any, dispatch, skuCode: "SKU" }) + + expect(result).toEqual({ success: false }) + }) +}) diff --git a/packages/react-components/specs/reducers/PaymentMethodReducer.spec.ts b/packages/react-components/specs/reducers/PaymentMethodReducer.spec.ts index f4f41e05..052a755b 100644 --- a/packages/react-components/specs/reducers/PaymentMethodReducer.spec.ts +++ b/packages/react-components/specs/reducers/PaymentMethodReducer.spec.ts @@ -80,3 +80,38 @@ describe("setPaymentSource request coalescing", () => { expect(stripeCreate).not.toHaveBeenCalled() }) }) + +describe("setPaymentSource when the payment session expired", () => { + it("returns undefined and clears the payment source instead of reporting a balance", async () => { + const expired = Object.assign(new Error("expired"), { + errors: [ + { + code: "VALIDATION_ERROR", + status: "422", + title: "is expired", + detail: "order_data - is expired", + meta: { error: "expired" }, + }, + ], + }) + stripeCreate.mockRejectedValueOnce(expired) + const dispatch = vi.fn() + + const result = await setPaymentSource( + createParams({ + dispatch, + // biome-ignore lint/suspicious/noExplicitAny: test cast + order: { id: "order-1", status: "pending", payment_source: { id: "sp-1" } } as any, + }), + ) + + // The caller must be able to tell "the call failed" from "the card is empty": + // AdyenPayment used to read `undefined?.balance ?? 0` as a zero balance and told + // the shopper to find another gift card. + expect(result).toBeUndefined() + expect(dispatch).toHaveBeenCalledWith({ + type: "setPaymentSource", + payload: { paymentSource: undefined }, + }) + }) +}) diff --git a/packages/react-components/specs/shipments/Shipment.spec.tsx b/packages/react-components/specs/shipments/Shipment.spec.tsx new file mode 100644 index 00000000..0c77e295 --- /dev/null +++ b/packages/react-components/specs/shipments/Shipment.spec.tsx @@ -0,0 +1,293 @@ +import { act, render, screen, waitFor } from "@testing-library/react" +import { useContext } from "react" +import { beforeEach, describe, expect, it, vi } from "vitest" +import { Shipment } from "#components/shipments/Shipment" +import ShipmentChildrenContext from "#context/ShipmentChildrenContext" +import ShipmentContext from "#context/ShipmentContext" + +const SHIPPING_METHOD_A = { id: "sm_1", name: "Standard" } +const SHIPPING_METHOD_B = { id: "sm_2", name: "Express" } + +function makeShipment(overrides = {}) { + return { + id: "ship_1", + available_shipping_methods: [SHIPPING_METHOD_A, SHIPPING_METHOD_B], + shipping_method: SHIPPING_METHOD_A, + stock_line_items: [ + { quantity: 3, line_item: { id: "li_1", name: "T-shirt", quantity: 1 } }, + { quantity: 1, line_item: null }, + ], + stock_transfers: [{ id: "st_1" }], + parcels: [{ id: "parcel_1" }], + stock_location: { id: "loc_1" }, + ...overrides, + } +} + +const DELIVERY_LEAD_TIMES = [ + { id: "dlt_1", stock_location: { id: "loc_1" } }, + { id: "dlt_2", stock_location: { id: "loc_other" } }, +] + +const mockSetShippingMethod = vi.fn() + +/** Captures whatever ShipmentChildrenContext the component publishes. */ +let captured: ReturnType> | undefined + +function Capture() { + captured = useContext(ShipmentChildrenContext) + return child +} + +function renderShipment({ + shipments, + deliveryLeadTimes = DELIVERY_LEAD_TIMES, + autoSelectSingleShippingMethod, +}: { + shipments: unknown + deliveryLeadTimes?: unknown + autoSelectSingleShippingMethod?: boolean | ((order?: unknown) => void) +}) { + return render( + + loading} + > + + + + ) +} + +describe("Shipment", () => { + beforeEach(() => { + captured = undefined + vi.clearAllMocks() + mockSetShippingMethod.mockResolvedValue({ success: true, order: { id: "order-1" } }) + }) + + it("shows the loader until shipments resolve", () => { + renderShipment({ shipments: null }) + + expect(screen.getByTestId("loader")).toBeDefined() + expect(screen.queryByTestId("child")).toBeNull() + }) + + it("falls back to the default loader when none is supplied", () => { + render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + + + + + ) + + expect(screen.getByText("Loading...")).toBeDefined() + }) + + it("renders one child subtree per shipment once loaded", async () => { + renderShipment({ shipments: [makeShipment(), makeShipment({ id: "ship_2" })] }) + + await waitFor(() => { + expect(screen.getAllByTestId("child")).toHaveLength(2) + }) + }) + + it("publishes the shipment's derived data on ShipmentChildrenContext", async () => { + renderShipment({ shipments: [makeShipment()] }) + + await waitFor(() => expect(captured).toBeDefined()) + + // Line items are lifted out of stock_line_items, with the stock quantity copied + // onto the line item — and a null line_item is passed through untouched. + expect(captured?.lineItems).toEqual([{ id: "li_1", name: "T-shirt", quantity: 3 }, null]) + expect(captured?.shippingMethods).toEqual([SHIPPING_METHOD_A, SHIPPING_METHOD_B]) + expect(captured?.parcels).toEqual([{ id: "parcel_1" }]) + expect(captured?.stockTransfers).toEqual([{ id: "st_1" }]) + expect(captured?.keyNumber).toBe("ship_1") + // Only lead times for this shipment's stock location. + expect(captured?.deliveryLeadTimes).toEqual([{ id: "dlt_1", stock_location: { id: "loc_1" } }]) + }) + + it("derives currentShippingMethodId from the shipment's saved shipping method", async () => { + // This is the hop that carried a stale selection in the coupon bug: the radio + // button's checked state is driven entirely by this value. + renderShipment({ shipments: [makeShipment()] }) + + await waitFor(() => expect(captured?.currentShippingMethodId).toBe("sm_1")) + }) + + it("reports no current shipping method once the order clears it", async () => { + // Applying a coupon nulls shipping_method server-side; nothing may stay selected. + renderShipment({ shipments: [makeShipment({ shipping_method: null })] }) + + await waitFor(() => expect(captured).toBeDefined()) + expect(captured?.currentShippingMethodId).toBeUndefined() + }) + + it("publishes no lead times when the shipment has no stock location", async () => { + renderShipment({ shipments: [makeShipment({ stock_location: undefined })] }) + + await waitFor(() => expect(captured).toBeDefined()) + expect(captured?.deliveryLeadTimes).toEqual([]) + }) + + it("tolerates lead times being absent entirely", async () => { + renderShipment({ shipments: [makeShipment()], deliveryLeadTimes: null }) + + await waitFor(() => expect(captured).toBeDefined()) + expect(captured?.deliveryLeadTimes).toBeUndefined() + }) + + describe("autoSelectSingleShippingMethod", () => { + it("auto-selects when the shipment has exactly one method and none chosen", async () => { + const onAutoSelect = vi.fn() + + renderShipment({ + shipments: [ + makeShipment({ + shipping_method: null, + available_shipping_methods: [SHIPPING_METHOD_A], + }), + ], + autoSelectSingleShippingMethod: onAutoSelect, + }) + + await waitFor(() => { + expect(mockSetShippingMethod).toHaveBeenCalledWith("ship_1", "sm_1") + }) + // The callback receives the order returned by setShippingMethod. + await waitFor(() => expect(onAutoSelect).toHaveBeenCalledWith({ id: "order-1" })) + }) + + it("stays on the loader while auto-selection is in flight", async () => { + // The effect only clears `loading` on the branch that skips auto-selection, so a + // shipment being auto-selected keeps showing the loader. + renderShipment({ + shipments: [ + makeShipment({ + shipping_method: null, + available_shipping_methods: [SHIPPING_METHOD_A], + }), + ], + autoSelectSingleShippingMethod: true, + }) + + await waitFor(() => expect(mockSetShippingMethod).toHaveBeenCalled()) + expect(screen.getByTestId("loader")).toBeDefined() + expect(screen.queryByTestId("child")).toBeNull() + }) + + it("prefers the lone available method over the saved one when auto-selecting", async () => { + // With auto-select on and exactly one method available, currentShippingMethodId + // comes from that method rather than from `shipment.shipping_method`. Saved and + // available deliberately differ so the two branches are distinguishable. + renderShipment({ + shipments: [ + makeShipment({ + shipping_method: SHIPPING_METHOD_B, + available_shipping_methods: [SHIPPING_METHOD_A], + }), + ], + autoSelectSingleShippingMethod: true, + }) + + await waitFor(() => expect(captured).toBeDefined()) + expect(captured?.currentShippingMethodId).toBe("sm_1") + }) + + it("does not fire the callback when the update fails", async () => { + mockSetShippingMethod.mockResolvedValue({ success: false }) + const onAutoSelect = vi.fn() + + renderShipment({ + shipments: [ + makeShipment({ + shipping_method: null, + available_shipping_methods: [SHIPPING_METHOD_A], + }), + ], + autoSelectSingleShippingMethod: onAutoSelect, + }) + + await waitFor(() => expect(mockSetShippingMethod).toHaveBeenCalled()) + expect(onAutoSelect).not.toHaveBeenCalled() + }) + + it("does not auto-select when more than one method is available", async () => { + renderShipment({ + shipments: [makeShipment({ shipping_method: null })], + autoSelectSingleShippingMethod: true, + }) + + await waitFor(() => { + expect(screen.getByTestId("child")).toBeDefined() + }) + expect(mockSetShippingMethod).not.toHaveBeenCalled() + }) + + it("does not auto-select when a shipping method is already chosen", async () => { + renderShipment({ + shipments: [makeShipment({ available_shipping_methods: [SHIPPING_METHOD_A] })], + autoSelectSingleShippingMethod: true, + }) + + await waitFor(() => { + expect(screen.getByTestId("child")).toBeDefined() + }) + expect(mockSetShippingMethod).not.toHaveBeenCalled() + }) + + it("tolerates a missing setShippingMethod on the context", async () => { + render( + + loading}> + + + + ) + + // Stays on the loader rather than throwing: there is nothing to select with. + await act(async () => {}) + expect(mockSetShippingMethod).not.toHaveBeenCalled() + }) + + it("skips a shipment with no available shipping methods at all", async () => { + renderShipment({ + shipments: [makeShipment({ shipping_method: null, available_shipping_methods: null })], + autoSelectSingleShippingMethod: true, + }) + + await waitFor(() => { + expect(screen.getByTestId("child")).toBeDefined() + }) + expect(mockSetShippingMethod).not.toHaveBeenCalled() + }) + }) +}) diff --git a/packages/react-components/specs/shipments/ShipmentField.spec.tsx b/packages/react-components/specs/shipments/ShipmentField.spec.tsx new file mode 100644 index 00000000..2eca3857 --- /dev/null +++ b/packages/react-components/specs/shipments/ShipmentField.spec.tsx @@ -0,0 +1,80 @@ +import { render, screen } from "@testing-library/react" +import type { ReactNode } from "react" +import { describe, expect, it } from "vitest" +import { ShipmentField } from "#components/shipments/ShipmentField" +import ShipmentChildrenContext, { + type InitialShipmentContext, +} from "#context/ShipmentChildrenContext" + +const SHIPMENT = { + id: "ship_1", + number: "#1234", + currency_code: "EUR", + status: "draft", + cost_amount_cents: 500, + cost_amount_float: 5, + formatted_cost_amount: "€5,00", +} + +function withContext(children: ReactNode, overrides: Partial = {}) { + return render( + + {children} + + ) +} + +describe("ShipmentField", () => { + it.each([ + ["number", "#1234"], + ["currency_code", "EUR"], + ["status", "draft"], + ["cost_amount_cents", "500"], + ["cost_amount_float", "5"], + ["formatted_cost_amount", "€5,00"], + ])("renders the %s attribute", (name, expected) => { + // biome-ignore lint/suspicious/noExplicitAny: exercising every ShipmentAttribute + withContext() + + expect(screen.getByTestId("field").textContent).toBe(expected) + }) + + it("renders keyNumber rather than a shipment attribute for key_number", () => { + // `key_number` is synthesised by , not a field on the resource. + withContext() + + expect(screen.getByTestId("field").textContent).toBe("2") + }) + + it("passes props through to the span", () => { + withContext() + + expect(screen.getByTestId("field").className).toBe("custom") + }) + + it("renders nothing for an attribute the shipment does not carry", () => { + withContext(, { shipment: undefined }) + + expect(screen.getByTestId("field").textContent).toBe("") + }) + + it("hands the shipment to a children function instead of rendering a span", () => { + withContext( + + {({ shipment }) => {`shipment ${shipment?.id}`}} + + ) + + expect(screen.getByTestId("custom").textContent).toBe("shipment ship_1") + expect(screen.queryByTestId("field")).toBeNull() + }) +}) diff --git a/packages/react-components/specs/shipments/Shipments.spec.tsx b/packages/react-components/specs/shipments/Shipments.spec.tsx index 59e12a5b..b40f2838 100644 --- a/packages/react-components/specs/shipments/Shipments.spec.tsx +++ b/packages/react-components/specs/shipments/Shipments.spec.tsx @@ -21,6 +21,7 @@ const MOCK_DELIVERY_LEAD_TIMES = [{ id: "dlt_1", shipping_method: { id: "sm_1" } const mockHookSetShippingMethod = vi.fn().mockResolvedValue(undefined) const mockMutate = vi.fn() +const mockReload = vi.fn() const mockUseShipments = vi.fn() @@ -40,14 +41,21 @@ function defaultHookReturn(overrides = {}) { isValidating: false, error: null, setShippingMethod: mockHookSetShippingMethod, - reload: vi.fn(), + reload: mockReload, mutate: mockMutate, ...overrides, } } -// biome-ignore lint/suspicious/noExplicitAny: test cast -const MOCK_ORDER_PENDING = { id: "order-1", status: "pending", shipments: MOCK_SHIPMENTS } as any +const ORDER_UPDATED_AT = "2026-08-12T10:00:00.000Z" + +const MOCK_ORDER_PENDING = { + id: "order-1", + status: "pending", + updated_at: ORDER_UPDATED_AT, + shipments: MOCK_SHIPMENTS, + // biome-ignore lint/suspicious/noExplicitAny: test cast +} as any function Providers({ accessToken = "token", @@ -462,6 +470,212 @@ describe("Shipments component", () => { consoleError.mockRestore() }) + it("keeps the same errors array when a recompute yields identical error codes", async () => { + // The errors effect bails out via a functional updater when the recomputed codes + // match, so repeated order updates don't hand children a new array each time and + // spin the render loop. Needs a non-empty error to actually run the comparison. + mockUseShipments.mockReturnValue( + defaultHookReturn({ + shipments: [{ id: "ship_1", available_shipping_methods: [] }], + }) + ) + + const seen: unknown[] = [] + function Consumer() { + const { errors } = useContext(ShipmentContext) + seen.push(errors) + return null + } + + const tree = (order: unknown) => ( + + + + + + ) + + const { rerender } = render(tree(MOCK_ORDER_PENDING)) + + await act(async () => { + rerender(tree({ ...MOCK_ORDER_PENDING, updated_at: "2026-08-12T10:05:00.000Z" })) + }) + + const withErrors = seen.filter( + (e): e is Array<{ code: string }> => Array.isArray(e) && e.length > 0 + ) + expect(withErrors[0]?.[0]?.code).toBe("NO_SHIPPING_METHODS") + // Same identity across the recompute — the updater returned `prev`. + expect(new Set(withErrors).size).toBe(1) + }) + + describe("revalidating shipments when the order changes", () => { + // Regression tests for "shipping method stays selected after applying a coupon". + // The API clears `shipment.shipping_method` server-side whenever the order totals + // change, because shipping method availability depends on them. The shipments SWR + // cache is keyed on (accessToken, orderId) alone with revalidateOnFocus/Reconnect + // off, so it never revalidated on its own: the cached shipment kept a shipping + // method the order no longer had, stayed checked on it, + // and re-clicking a checked radio fires no change event — so the user was stuck + // with a disabled save button and no way to re-select. + + // Every "does not reload" assertion below is paired with a positive control in the + // same test — a real order revision that MUST refetch. Without it, a test asserting + // only "reload was not called" would also pass if the revalidation effect were + // deleted outright, i.e. it would guard nothing. Each test names the specific broken + // implementation it exists to kill. + const NEXT_REVISION = "2026-08-12T10:05:00.000Z" + const LATER_REVISION = "2026-08-12T10:10:00.000Z" + + function renderScenario({ + order, + getOrder, + children = content, + }: { + order: unknown + getOrder?: unknown + children?: ReactNode + }) { + const tree = (o: unknown) => ( + + {children} + + ) + const view = render(tree(order)) + return { + ...view, + async showOrder(next: unknown) { + await act(async () => { + view.rerender(tree(next)) + }) + }, + } + } + + it("reloads shipments when order.updated_at changes (e.g. a coupon is applied)", async () => { + // The bug itself: applying a coupon bumps the order revision and nulls + // shipping_method server-side, so the shipments cache must refetch. + // Kills: no revalidation effect at all (the original implementation). + const { showOrder } = renderScenario({ order: MOCK_ORDER_PENDING }) + + expect(mockReload).not.toHaveBeenCalled() + + await showOrder({ + ...MOCK_ORDER_PENDING, + coupon_code: "test50off", + updated_at: NEXT_REVISION, + }) + + expect(mockReload).toHaveBeenCalledTimes(1) + }) + + it("reloads once per order revision, not once per render", async () => { + // Kills: refetching on every render that carries a revision differing from the + // one the effect last acted on, rather than stamping it as synced. + const orderWithCoupon = { ...MOCK_ORDER_PENDING, updated_at: NEXT_REVISION } + const { showOrder } = renderScenario({ order: MOCK_ORDER_PENDING }) + + await showOrder(orderWithCoupon) + await showOrder(orderWithCoupon) + await showOrder(orderWithCoupon) + + expect(mockReload).toHaveBeenCalledTimes(1) + }) + + it("does not reload on mount, only once the order moves on", async () => { + // Kills: dropping the first-order-seen guard, which would make mount treat the + // very first revision as a change and refetch shipments we just fetched. + const { showOrder } = renderScenario({ order: MOCK_ORDER_PENDING }) + + expect(mockReload).not.toHaveBeenCalled() + + // Positive control: the effect is live, so the assertion above is about the + // mount guard rather than about a missing mechanism. + await showOrder({ ...MOCK_ORDER_PENDING, updated_at: NEXT_REVISION }) + expect(mockReload).toHaveBeenCalledTimes(1) + }) + + it("does not refetch on every render when the hook returns a fresh reload identity", async () => { + // `reload` is a dependency of the revalidation effect, so an unstable identity + // re-runs the effect on every single render. + // Kills: relying on the dependency array alone and dropping the + // `syncedOrderUpdatedAt.current === updatedAt` short-circuit. + mockUseShipments.mockImplementation(() => ({ + ...defaultHookReturn(), + reload: (...args: unknown[]) => mockReload(...args), + })) + + const { showOrder } = renderScenario({ order: MOCK_ORDER_PENDING }) + + await showOrder(MOCK_ORDER_PENDING) + await showOrder(MOCK_ORDER_PENDING) + await showOrder(MOCK_ORDER_PENDING) + + expect(mockReload).not.toHaveBeenCalled() + + // Positive control, with the identity still churning on every render. + await showOrder({ ...MOCK_ORDER_PENDING, updated_at: NEXT_REVISION }) + expect(mockReload).toHaveBeenCalledTimes(1) + }) + + it("suppresses only the order revision produced by our own setShippingMethod", async () => { + // `hookSetShippingMethod` already revalidates the cache, so refetching for the + // order update it caused is a redundant round trip. + // Kills: dropping the stamp in setShippingMethod. The coupon step then proves the + // suppression is scoped to our own revision and does not deafen the effect. + const orderAfterSelection = { ...MOCK_ORDER_PENDING, updated_at: NEXT_REVISION } + const getOrder = vi.fn().mockResolvedValue(orderAfterSelection) + + let capturedSetShippingMethod: ((id: string, smId: string) => Promise) | undefined + + function Consumer() { + const { setShippingMethod } = useContext(ShipmentContext) + capturedSetShippingMethod = setShippingMethod + return null + } + + const { showOrder } = renderScenario({ + order: MOCK_ORDER_PENDING, + getOrder, + children: , + }) + + await act(async () => { + await capturedSetShippingMethod?.("ship_1", "sm_1") + }) + + // OrderContext now carries the revision our own update produced. + await showOrder(orderAfterSelection) + + expect(mockHookSetShippingMethod).toHaveBeenCalledWith("ship_1", "sm_1") + expect(mockReload).not.toHaveBeenCalled() + + // Positive control: an order change we did NOT cause must still refetch. + await showOrder({ + ...orderAfterSelection, + coupon_code: "test50off", + updated_at: LATER_REVISION, + }) + expect(mockReload).toHaveBeenCalledTimes(1) + }) + + it("does not reload when an order revision goes missing", async () => { + // A partial or optimistic order object without `updated_at` must not read as a + // new revision. + // Kills: dropping the `updatedAt == null` guard, which would compare the stamped + // revision against undefined, see a difference, and refetch. + const { showOrder } = renderScenario({ order: MOCK_ORDER_PENDING }) + + await showOrder({ ...MOCK_ORDER_PENDING, updated_at: undefined }) + expect(mockReload).not.toHaveBeenCalled() + + // Positive control: the next real revision still refetches, so the guard skipped + // the update without desynchronising the stamped revision. + await showOrder({ ...MOCK_ORDER_PENDING, updated_at: NEXT_REVISION }) + expect(mockReload).toHaveBeenCalledTimes(1) + }) + }) + it("setShipmentErrors updates the errors in context", async () => { let capturedCtx: { errors: unknown diff --git a/packages/react-components/specs/shipments/ShipmentsCount.spec.tsx b/packages/react-components/specs/shipments/ShipmentsCount.spec.tsx new file mode 100644 index 00000000..ece95721 --- /dev/null +++ b/packages/react-components/specs/shipments/ShipmentsCount.spec.tsx @@ -0,0 +1,53 @@ +import { render, screen } from "@testing-library/react" +import type { ReactNode } from "react" +import { describe, expect, it } from "vitest" +import { ShipmentsCount } from "#components/shipments/ShipmentsCount" +import ShipmentContext from "#context/ShipmentContext" + +function withShipments(shipments: unknown, children: ReactNode) { + return render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + {children} + ) +} + +describe("ShipmentsCount", () => { + it("renders the number of shipments", () => { + withShipments([{ id: "ship_1" }, { id: "ship_2" }], ) + + expect(screen.getByTestId("count").textContent).toBe("2") + }) + + it("renders zero when there are no shipments", () => { + withShipments(null, ) + + expect(screen.getByTestId("count").textContent).toBe("0") + }) + + it("passes props through to the span", () => { + withShipments([{ id: "ship_1" }], ) + + expect(screen.getByTestId("count").className).toBe("custom") + }) + + it("hands quantity and shipments to a children function", () => { + withShipments( + [{ id: "ship_1" }, { id: "ship_2" }], + + {({ quantity, shipments }) => ( + {`${quantity} of ${shipments?.length}`} + )} + + ) + + expect(screen.getByTestId("custom").textContent).toBe("2 of 2") + expect(screen.queryByTestId("count")).toBeNull() + }) + + it("throws outside of ", () => { + // useCustomContext guards against being rendered without its provider. + expect(() => render()).toThrow( + "Cannot use outside of " + ) + }) +}) diff --git a/packages/react-components/specs/utils/currencies.spec.ts b/packages/react-components/specs/utils/currencies.spec.ts new file mode 100644 index 00000000..fa4802cf --- /dev/null +++ b/packages/react-components/specs/utils/currencies.spec.ts @@ -0,0 +1,99 @@ +import { describe, expect, it } from "vitest" +import { + addCurrencySymbol, + type Currency, + formatCentsToCurrency, + getCurrency, + getDecimalLength, + makePlaceholder, +} from "#utils/currencies" + +describe("getCurrency", () => { + it("looks a currency up case-insensitively", () => { + expect(getCurrency("EUR")?.iso_code).toBe("EUR") + expect(getCurrency("eur")?.iso_code).toBe("EUR") + }) + + it("returns undefined for an unknown code", () => { + // biome-ignore lint/suspicious/noExplicitAny: exercising the unknown-code path + expect(getCurrency("ZZZ" as any)).toBeUndefined() + }) +}) + +describe("getDecimalLength", () => { + it.each([ + ["EUR", 2], + ["USD", 2], + // Zero-decimal currency. + ["JPY", 0], + // Four-decimal currency. + ["CLF", 4], + ])("%s has %i decimals", (code, expected) => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(getDecimalLength(getCurrency(code as any) as Currency)).toBe(expected) + }) +}) + +describe("addCurrencySymbol", () => { + it("prefixes the symbol when symbol_first", () => { + const currency = { symbol: "€", symbol_first: true } as Currency + + expect(addCurrencySymbol({ formattedValue: "1,00", currency })).toBe("€1,00") + }) + + it("suffixes the symbol otherwise", () => { + const currency = { symbol: "kr", symbol_first: false } as Currency + + expect(addCurrencySymbol({ formattedValue: "1,00", currency })).toBe("1,00kr") + }) + + it("returns an empty string when there is no value", () => { + const currency = { symbol: "€", symbol_first: true } as Currency + + expect( + // biome-ignore lint/suspicious/noExplicitAny: exercising the null-value guard + addCurrencySymbol({ formattedValue: null as any, currency }) + ).toBe("") + }) +}) + +describe("makePlaceholder", () => { + it("builds a placeholder with the currency's decimals and mark", () => { + expect(makePlaceholder(getCurrency("EUR") as Currency)).toBe("0,00") + expect(makePlaceholder(getCurrency("USD") as Currency)).toBe("0.00") + expect(makePlaceholder(getCurrency("CLF") as Currency)).toBe("0,0000") + }) + + it("collapses to a bare zero for zero-decimal currencies", () => { + expect(makePlaceholder(getCurrency("JPY") as Currency)).toBe("0") + }) + + it("applies a prefix", () => { + expect(makePlaceholder(getCurrency("EUR") as Currency, "€")).toBe("€0,00") + }) +}) + +describe("formatCentsToCurrency", () => { + it.each([ + [100, "EUR", "€1,00"], + [100000, "USD", "$1000.00"], + [100, "JPY", "¥100"], + [0, "EUR", "€0,00"], + ])("formats %i %s as %s", (cents, code, expected) => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(formatCentsToCurrency(cents, code as any)).toBe(expected) + }) + + it("strips decimals on a whole unit when asked", () => { + expect(formatCentsToCurrency(100, "EUR", true)).toBe("€1") + }) + + it("keeps decimals on a fractional unit even when stripping", () => { + expect(formatCentsToCurrency(150, "EUR", true)).toBe("€1,50") + }) + + it("falls back to the raw cents for an unknown currency", () => { + // biome-ignore lint/suspicious/noExplicitAny: exercising the unknown-currency path + expect(formatCentsToCurrency(1234, "ZZZ" as any)).toBe("1234") + }) +}) diff --git a/packages/react-components/specs/utils/data-helpers.spec.tsx b/packages/react-components/specs/utils/data-helpers.spec.tsx new file mode 100644 index 00000000..a6b339ff --- /dev/null +++ b/packages/react-components/specs/utils/data-helpers.spec.tsx @@ -0,0 +1,264 @@ +import { afterEach, describe, expect, it, vi } from "vitest" +import checkIncludeResources from "#utils/checkIncludeResource" +import compareObjAttribute from "#utils/compareObjAttribute" +import { formCleaner } from "#utils/formCleaner" +import { isEmpty } from "#utils/isEmpty" +import { sortPaymentMethods } from "#utils/payment-methods/sortPaymentMethods" +import scrollbarWidth from "#utils/scrollbarWidth" +import { isDoNotShip, shipmentsFilled } from "#utils/shipments" + +describe("isEmpty", () => { + it.each([ + ["null", null], + ["undefined", undefined], + ["empty string", ""], + ["empty array", []], + ["empty object", {}], + ["empty Map", new Map()], + ["empty Set", new Set()], + ])("treats %s as empty", (_label, value) => { + expect(isEmpty(value)).toBe(true) + }) + + it.each([ + ["string", "a"], + ["array", [1]], + ["object", { a: 1 }], + ["Map", new Map([["a", 1]])], + ["Set", new Set([1])], + ["number", 0], + ["boolean", false], + ])("treats %s as non-empty", (_label, value) => { + expect(isEmpty(value)).toBe(false) + }) +}) + +describe("shipmentsFilled", () => { + it("is true when at least one shipment has a shipping method", () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + const shipments = [{ shipping_method: null }, { shipping_method: { id: "sm_1" } }] as any + + expect(shipmentsFilled(shipments)).toBe(true) + }) + + it("is false when no shipment has one", () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(shipmentsFilled([{ shipping_method: null }, {}] as any)).toBe(false) + }) + + it("is false for no shipments at all", () => { + expect(shipmentsFilled([])).toBe(false) + }) +}) + +describe("isDoNotShip", () => { + it("is true only when every sku line item is flagged do_not_ship", () => { + const lineItems = [ + { item_type: "skus", item: { do_not_ship: true } }, + { item_type: "skus", item: { do_not_ship: true } }, + // Non-sku rows are excluded from the comparison entirely. + { item_type: "payment_methods", item: {} }, + // biome-ignore lint/suspicious/noExplicitAny: test cast + ] as any + + expect(isDoNotShip(lineItems)).toBe(true) + }) + + it("is false when only some sku line items are flagged", () => { + const lineItems = [ + { item_type: "skus", item: { do_not_ship: true } }, + { item_type: "skus", item: { do_not_ship: false } }, + // biome-ignore lint/suspicious/noExplicitAny: test cast + ] as any + + expect(isDoNotShip(lineItems)).toBe(false) + }) + + it.each([ + ["null", null], + ["undefined", undefined], + ["empty", []], + ])("is false for %s line items", (_label, value) => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(isDoNotShip(value as any)).toBe(false) + }) +}) + +describe("checkIncludeResources", () => { + it("is true when every requested resource is present on the order", () => { + const order = { line_items: [], shipments: [] } + + expect( + // biome-ignore lint/suspicious/noExplicitAny: test cast + checkIncludeResources({ order: order as any, resourceInclude: ["line_items", "shipments"] }) + ).toBe(true) + }) + + it("resolves a dotted include against its first segment", () => { + const order = { shipments: [] } + + expect( + checkIncludeResources({ + // biome-ignore lint/suspicious/noExplicitAny: test cast + order: order as any, + resourceInclude: ["shipments.shipping_method"], + }) + ).toBe(true) + }) + + it("is false when a requested resource is missing", () => { + expect( + // biome-ignore lint/suspicious/noExplicitAny: test cast + checkIncludeResources({ order: {} as any, resourceInclude: ["line_items"] }) + ).toBe(false) + }) + + it("is false when a dotted include's root is missing", () => { + expect( + // biome-ignore lint/suspicious/noExplicitAny: test cast + checkIncludeResources({ order: {} as any, resourceInclude: ["shipments.shipping_method"] }) + ).toBe(false) + }) + + it("is true for an empty include list", () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(checkIncludeResources({ order: {} as any, resourceInclude: [] })).toBe(true) + }) +}) + +describe("compareObjAttribute", () => { + it("returns only the scalar attributes that differ", () => { + const result = compareObjAttribute({ + attributes: { city: "Rome", zip: "00100" }, + object: { city: "Milan", zip: "00100" }, + }) + + expect(result).toEqual({ city: "Rome" }) + }) + + it("compares nested objects regardless of key order", () => { + const sameContent = compareObjAttribute({ + attributes: { meta: { b: 2, a: 1 } }, + object: { meta: { a: 1, b: 2 } }, + }) + expect(sameContent).toEqual({}) + + const different = compareObjAttribute({ + attributes: { meta: { a: 1 } }, + object: { meta: { a: 2 } }, + }) + expect(different).toEqual({ meta: { a: 1 } }) + }) + + it("ignores keys absent or falsy on the attributes side", () => { + const result = compareObjAttribute({ + attributes: { city: "" }, + object: { city: "Milan", zip: "00100" }, + }) + + expect(result).toEqual({}) + }) +}) + +describe("sortPaymentMethods", () => { + const method = (type: string) => + // biome-ignore lint/suspicious/noExplicitAny: test cast + ({ id: type, payment_source_type: type }) as any + + it("orders methods by the supplied label order", () => { + const methods = [method("stripe_payments"), method("adyen_payments")] + + const sorted = sortPaymentMethods(methods, [ + // biome-ignore lint/suspicious/noExplicitAny: test cast + "adyen_payments" as any, + // biome-ignore lint/suspicious/noExplicitAny: test cast + "stripe_payments" as any, + ]) + + expect(sorted.map((m) => m.payment_source_type)).toEqual(["adyen_payments", "stripe_payments"]) + }) + + it("pushes unlisted methods to the end and keeps unlisted pairs stable", () => { + const methods = [method("wire_transfers"), method("paypal_payments"), method("adyen_payments")] + + // biome-ignore lint/suspicious/noExplicitAny: test cast + const sorted = sortPaymentMethods(methods, ["adyen_payments" as any]) + + expect(sorted[0]?.payment_source_type).toBe("adyen_payments") + expect(sorted.slice(1).map((m) => m.payment_source_type)).toHaveLength(2) + }) + + it("leaves the order untouched when no method is listed", () => { + const methods = [method("wire_transfers"), method("paypal_payments")] + + expect(sortPaymentMethods(methods, []).map((m) => m.payment_source_type)).toEqual([ + "wire_transfers", + "paypal_payments", + ]) + }) + + it("demotes an unlisted method that already sits after a listed one", () => { + // Listed first, unlisted second: the comparator is asked to rank the unlisted + // method against a listed one, which is the branch that sends it to the back. + const methods = [method("adyen_payments"), method("wire_transfers")] + + // biome-ignore lint/suspicious/noExplicitAny: test cast + const sorted = sortPaymentMethods(methods, ["adyen_payments" as any]) + + expect(sorted.map((m) => m.payment_source_type)).toEqual(["adyen_payments", "wire_transfers"]) + }) +}) + +describe("formCleaner", () => { + it("strips shipping_address_ and billing_address_ prefixes", () => { + const cleaned = formCleaner({ + shipping_address_city: "Rome", + billing_address_zip: "00100", + // biome-ignore lint/suspicious/noExplicitAny: test cast + } as any) + + expect(cleaned).toEqual({ city: "Rome", zip: "00100" }) + }) + + it("drops save_to_customer_book", () => { + const cleaned = formCleaner({ + shipping_address_save_to_customer_book: true, + shipping_address_city: "Rome", + // biome-ignore lint/suspicious/noExplicitAny: test cast + } as any) + + expect(cleaned).toEqual({ city: "Rome" }) + }) + + it("leaves already-clean keys alone", () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(formCleaner({ city: "Rome" } as any)).toEqual({ city: "Rome" }) + }) + + it.each([ + ["undefined", undefined], + ["null", null], + ])("passes %s straight through", (_label, value) => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(formCleaner(value as any)).toBe(value) + }) +}) + +describe("scrollbarWidth", () => { + afterEach(() => { + vi.unstubAllGlobals() + }) + + it("measures without leaving the probe element behind", () => { + const before = document.body.childElementCount + + expect(typeof scrollbarWidth()).toBe("number") + expect(document.body.childElementCount).toBe(before) + }) + + it("returns zero when there is no document (SSR)", () => { + vi.stubGlobal("document", undefined) + + expect(scrollbarWidth()).toBe(0) + }) +}) diff --git a/packages/react-components/specs/utils/errors-and-async.spec.tsx b/packages/react-components/specs/utils/errors-and-async.spec.tsx new file mode 100644 index 00000000..c6e740a4 --- /dev/null +++ b/packages/react-components/specs/utils/errors-and-async.spec.tsx @@ -0,0 +1,203 @@ +import { render } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" +import filterChildren from "#utils/filterChildren" +import getErrors, { setErrors } from "#utils/getErrors" +import promisify from "#utils/promisify" + +describe("getErrors", () => { + it("stamps the resource onto every API error", () => { + const error = { errors: [{ code: "VALIDATION_ERROR", detail: "bad" }] } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + const result = getErrors({ error: error as any, resource: "orders" }) + + expect(result).toEqual([{ code: "VALIDATION_ERROR", detail: "bad", resource: "orders" }]) + }) + + it("adds the field when one is supplied", () => { + const error = { errors: [{ code: "VALIDATION_ERROR" }] } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + const result = getErrors({ error: error as any, resource: "orders", field: "email" }) + + expect(result[0]?.field).toBe("email") + }) + + it("ignores an empty field", () => { + const error = { errors: [{ code: "VALIDATION_ERROR" }] } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + const result = getErrors({ error: error as any, resource: "orders", field: "" }) + + expect(result[0]).not.toHaveProperty("field") + }) + + it("merges extra attributes", () => { + const error = { errors: [{ code: "VALIDATION_ERROR" }] } + + const result = getErrors({ + // biome-ignore lint/suspicious/noExplicitAny: test cast + error: error as any, + resource: "orders", + attributes: { extra: true }, + }) + + expect(result[0]).toMatchObject({ extra: true }) + }) + + it("returns undefined when the payload carries no errors", () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(getErrors({ error: {} as any, resource: "orders" })).toBeUndefined() + }) +}) + +describe("setErrors", () => { + const err = (code: string, field?: string) => + // biome-ignore lint/suspicious/noExplicitAny: test cast + ({ code, field, resource: "orders" }) as any + + it("returns the new errors when there are none yet", () => { + expect(setErrors({ currentErrors: [], newErrors: [err("A")] })).toEqual([err("A")]) + }) + + it("keeps existing errors that the new batch does not supersede", () => { + const result = setErrors({ currentErrors: [err("A"), err("B")], newErrors: [err("B")] }) + + expect(result.map((e) => e.code)).toEqual(["A", "B", "A"]) + }) + + it("filters by a custom key", () => { + const result = setErrors({ + currentErrors: [err("A", "email"), err("A", "city")], + newErrors: [err("A", "email")], + filterBy: "field", + }) + + expect(result.map((e) => e.field)).toEqual(["email", "city", "city"]) + }) + + it("filters by a predicate function", () => { + const result = setErrors({ + currentErrors: [err("A", "email"), err("B", "city")], + newErrors: [err("A", "email")], + filterBy: (item) => item.field, + }) + + expect(result.map((e) => e.field)).toEqual(["email", "city", "city"]) + }) + + it("dispatches the merged errors when a dispatch is given", () => { + const dispatch = vi.fn() + + const result = setErrors({ currentErrors: [], newErrors: [err("A")], dispatch }) + + expect(dispatch).toHaveBeenCalledWith({ type: "setErrors", payload: { errors: result } }) + }) + + it("defaults both lists to empty", () => { + expect(setErrors({})).toEqual([]) + }) +}) + +describe("promisify", () => { + it("resolves a node-style callback invoked with params", async () => { + const cb = (params: unknown, done: (err: unknown, res: unknown) => void) => { + done(null, { echoed: params }) + } + + await expect(promisify(cb, { a: 1 })).resolves.toEqual({ echoed: { a: 1 } }) + }) + + it("rejects when the params form yields an error", async () => { + const cb = (_params: unknown, done: (err: unknown) => void) => { + done(new Error("boom")) + } + + await expect(promisify(cb, { a: 1 })).rejects.toThrow("boom") + }) + + it("prefers a tokenize method when no params are given", async () => { + const cb = { tokenize: (done: (err: unknown, payload: unknown) => void) => done(null, "tok") } + + await expect(promisify(cb)).resolves.toBe("tok") + }) + + it("rejects when tokenize fails", async () => { + const cb = { tokenize: (done: (err: unknown) => void) => done(new Error("nope")) } + + await expect(promisify(cb)).rejects.toThrow("nope") + }) + + it("calls a bare callback when there are no params and no tokenize", async () => { + const cb = (done: (err: unknown, res: unknown) => void) => done(null, "plain") + + await expect(promisify(cb)).resolves.toBe("plain") + }) + + it("rejects when a bare callback fails", async () => { + const cb = (done: (err: unknown) => void) => done(new Error("bare")) + + await expect(promisify(cb)).rejects.toThrow("bare") + }) +}) + +describe("filterChildren", () => { + function Allowed() { + return allowed + } + Allowed.displayName = "Allowed" + + function Other() { + return other + } + Other.displayName = "Other" + + it("keeps only children whose displayName is listed", () => { + const result = filterChildren({ + children: [, ], + filterBy: ["Allowed"], + componentName: "Parent", + }) + + expect(Array.isArray(result) ? result : []).toHaveLength(1) + }) + + it("returns a single child untouched", () => { + const result = filterChildren({ + children: , + filterBy: ["Allowed"], + componentName: "Parent", + }) + + expect(result).toBeDefined() + expect(Array.isArray(result)).toBe(false) + }) + + it("rejects a host element among an array of children", () => { + expect(() => + filterChildren({ + children: [, ], + filterBy: ["Allowed"], + componentName: "Parent", + }) + ).toThrow("Only library components are allowed into ") + }) + + it("rejects a lone host element child", () => { + expect(() => + filterChildren({ children: , filterBy: ["Allowed"], componentName: "Parent" }) + ).toThrow("Only library components are allowed into ") + }) + + it("renders the filtered output", () => { + const result = filterChildren({ + children: [, ], + filterBy: ["Allowed"], + componentName: "Parent", + }) + + const { container } = render({result}) + + expect(container.textContent).toBe("allowed") + }) +}) diff --git a/packages/react-components/specs/utils/generic-fields.spec.tsx b/packages/react-components/specs/utils/generic-fields.spec.tsx new file mode 100644 index 00000000..d64bc95f --- /dev/null +++ b/packages/react-components/specs/utils/generic-fields.spec.tsx @@ -0,0 +1,153 @@ +import { render, screen } from "@testing-library/react" +import { describe, expect, it } from "vitest" +import { CustomerField } from "#components/customers/CustomerField" +import { ParcelField } from "#components/parcels/ParcelField" +import { ParcelLineItemField } from "#components/parcels/ParcelLineItemField" +import GenericFieldComponent from "#components/utils/GenericFieldComponent" +import CustomerContext from "#context/CustomerContext" +import ParcelChildrenContext from "#context/ParcelChildrenContext" +import ParcelLineItemChildrenContext from "#context/ParcelLineItemChildrenContext" +import { defaultImgUrl } from "#utils/placeholderImages" + +describe("CustomerField", () => { + it("renders a customer attribute", () => { + render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + + + ) + + expect(screen.getByText("a@b.com")).toBeDefined() + }) + + it("hands the value to a children function", () => { + render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + + {({ attributeValue }) => {`<${attributeValue}>`}} + + + ) + + expect(screen.getByTestId("custom").textContent).toBe("") + }) +}) + +describe("ParcelField", () => { + it("renders a parcel attribute", () => { + render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + + + ) + + expect(screen.getByText("P-1")).toBeDefined() + }) + + it("renders with a custom tag element", () => { + render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + + + ) + + expect(screen.getByText("P-2").tagName).toBe("P") + }) +}) + +describe("ParcelLineItemField", () => { + it("renders a parcel line item attribute", () => { + render( + + + + ) + + expect(screen.getByText("T-shirt")).toBeDefined() + }) + + it("renders an image from the attribute value", () => { + const { container } = render( + + + + ) + + // The img is rendered with an empty alt, so it carries role="presentation". + expect(container.querySelector("img")?.getAttribute("src")).toBe("https://img.test/a.png") + }) +}) + +describe("GenericFieldComponent", () => { + it("falls back to the placeholder image when the attribute is empty", () => { + const { container } = render( + + + + ) + + expect(container.querySelector("img")?.getAttribute("src")).toBe(defaultImgUrl) + }) + + it("prefers a children function over the img branch", () => { + const { container } = render( + + + {({ attributeValue }) => {attributeValue}} + + + ) + + expect(screen.getByTestId("custom").textContent).toBe("https://img.test/a.png") + expect(container.querySelector("img")).toBeNull() + }) + + it("renders an empty value when the context holds no matching resource", () => { + const { container } = render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + + + ) + + expect(container.textContent).toBe("") + }) + + it("defaults to a span when no tag element is given", () => { + render( + // biome-ignore lint/suspicious/noExplicitAny: test cast + + + + ) + + expect(screen.getByText("P-3").tagName).toBe("SPAN") + }) +}) diff --git a/packages/react-components/specs/utils/pure-helpers.spec.tsx b/packages/react-components/specs/utils/pure-helpers.spec.tsx new file mode 100644 index 00000000..9b8ee649 --- /dev/null +++ b/packages/react-components/specs/utils/pure-helpers.spec.tsx @@ -0,0 +1,155 @@ +import { describe, expect, it, vi } from "vitest" +import customMessages from "#utils/customMessages" +import { getDomain } from "#utils/getDomain" +import isDate from "#utils/isDate" +import isJSON from "#utils/isJSON" +import omit from "#utils/omit" +import { pick } from "#utils/pick" + +describe("isDate", () => { + it.each(["2026-08-12", "2026-08-12T10:00:00.000Z", "Aug 12, 2026"])("accepts %s", (value) => { + expect(isDate(value)).toBe(true) + }) + + it.each(["", "not-a-date", "tomorrow"])("rejects %s", (value) => { + expect(isDate(value)).toBe(false) + }) +}) + +describe("isJSON", () => { + it.each(['{"a":1}', "[1,2]", '"str"', "42", "null"])("accepts %s", (value) => { + expect(isJSON(value)).toBe(true) + }) + + it.each(["", "{a:1}", "undefined", "{"])("rejects %s", (value) => { + expect(isJSON(value)).toBe(false) + }) +}) + +describe("omit", () => { + it("drops the named keys and keeps the rest", () => { + expect(omit({ a: 1, b: 2, c: 3 }, ["b"])).toEqual({ a: 1, c: 3 }) + }) + + it("returns an equal copy when nothing is omitted", () => { + const source = { a: 1, b: 2 } + const result = omit(source, []) + + expect(result).toEqual(source) + expect(result).not.toBe(source) + }) + + it("ignores keys the object does not have", () => { + expect(omit({ a: 1 }, ["missing" as "a"])).toEqual({ a: 1 }) + }) +}) + +describe("pick", () => { + it("keeps only the named keys", () => { + expect(pick({ a: 1, b: 2, c: 3 }, ["a", "c"])).toEqual({ a: 1, c: 3 }) + }) + + it("yields undefined for keys the object lacks", () => { + expect(pick({ a: 1 } as { a: number; b?: number }, ["b"])).toEqual({ b: undefined }) + }) +}) + +describe("getDomain", () => { + it("splits an org endpoint into slug and domain", () => { + expect(getDomain("https://alessani.commercelayer.io")).toEqual({ + slug: "alessani", + domain: "commercelayer.io", + }) + }) + + it("ignores path and protocol", () => { + expect(getDomain("http://demo-store.commercelayer.co/api/orders")).toEqual({ + slug: "demo-store", + domain: "commercelayer.co", + }) + }) + + it("handles a single-label host", () => { + expect(getDomain("http://localhost:3000")).toEqual({ slug: "localhost", domain: "localhost" }) + }) +}) + +describe("customMessages", () => { + const error = { + field: "email", + code: "VALIDATION_ERROR", + resource: "orders", + detail: "email is invalid", + } as const + + it("matches on field, code and resource together", () => { + const message = { field: "email", code: "VALIDATION_ERROR", resource: "orders" } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(customMessages([message] as any, error as any)).toEqual(message) + }) + + it("matches when the detail mentions the field", () => { + const message = { field: "email", code: "VALIDATION_ERROR", resource: "orders" } + const detailOnly = { code: "VALIDATION_ERROR", resource: "orders", detail: "email is invalid" } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(customMessages([message] as any, detailOnly as any)).toEqual(message) + }) + + it("matches a resource-wide message when neither side names a field", () => { + // `field: null` against an absent field: strict equality fails, so this falls + // through to the nullish-field case rather than the first one. + const message = { field: null, code: "EMPTY_ERROR", resource: "orders" } + const resourceError = { code: "EMPTY_ERROR", resource: "orders" } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(customMessages([message] as any, resourceError as any)).toEqual(message) + }) + + it("matches on identical undefined fields via the first case", () => { + const message = { code: "EMPTY_ERROR", resource: "orders" } + const resourceError = { code: "EMPTY_ERROR", resource: "orders" } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(customMessages([message] as any, resourceError as any)).toEqual(message) + }) + + it("does not match a nullish-field message when the error names a field", () => { + const message = { field: null, code: "VALIDATION_ERROR", resource: "orders" } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(customMessages([message] as any, error as any)).toBeNull() + }) + + it("returns null when nothing matches", () => { + const message = { field: "other", code: "OTHER", resource: "line_items" } + + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(customMessages([message] as any, error as any)).toBeNull() + }) + + it("returns null for an empty message list", () => { + // biome-ignore lint/suspicious/noExplicitAny: test cast + expect(customMessages(undefined, error as any)).toBeNull() + }) +}) + +describe("events", () => { + it("delivers published data to a subscriber and stops after unsubscribe", async () => { + const { publish, subscribe, unsubscribe } = await import("#utils/events") + const listener = vi.fn() + + subscribe("open-cart", listener) + publish("open-cart", { open: true }) + + expect(listener).toHaveBeenCalledTimes(1) + const received = listener.mock.calls[0]?.[0] as CustomEvent | undefined + expect(received?.detail).toEqual({ open: true }) + + unsubscribe("open-cart", listener) + publish("open-cart") + + expect(listener).toHaveBeenCalledTimes(1) + }) +}) diff --git a/packages/react-components/specs/utils/token-and-misc.spec.tsx b/packages/react-components/specs/utils/token-and-misc.spec.tsx new file mode 100644 index 00000000..68eb40a1 --- /dev/null +++ b/packages/react-components/specs/utils/token-and-misc.spec.tsx @@ -0,0 +1,108 @@ +import { render, screen } from "@testing-library/react" +import { useContext } from "react" +import { describe, expect, it } from "vitest" +import { ExternalFunction } from "#components/ExternalFunction" +import { SubmitButton } from "#components/SubmitButton" +import ExternalFunctionContext from "#context/ExternalFunctionContext" +import { getCustomerIdByToken } from "#utils/getCustomerIdByToken" +import { sortAscIcon, sortDescIcon } from "#utils/icons" +import { isGuestToken } from "#utils/isGuestToken" + +/** Builds an unsigned JWT whose payload decodes to `payload`. */ +function makeToken(payload: Record): string { + const encode = (obj: Record) => + Buffer.from(JSON.stringify(obj)) + .toString("base64") + .replace(/\+/g, "-") + .replace(/\//g, "_") + .replace(/=+$/, "") + + return `${encode({ alg: "RS512", typ: "JWT" })}.${encode(payload)}.signature` +} + +describe("getCustomerIdByToken", () => { + it("extracts the owner id from a customer token", () => { + const token = makeToken({ owner: { id: "cust_1", type: "Customer" } }) + + expect(getCustomerIdByToken(token)).toBe("cust_1") + }) + + it("returns undefined for a token with no owner", () => { + expect(getCustomerIdByToken(makeToken({}))).toBeUndefined() + }) +}) + +describe("isGuestToken", () => { + it("is true when the token carries no owner", () => { + expect(isGuestToken(makeToken({}))).toBe(true) + }) + + it("is false when the token has an owner", () => { + expect(isGuestToken(makeToken({ owner: { id: "cust_1", type: "Customer" } }))).toBe(false) + }) +}) + +describe("icons", () => { + it("renders the sort icons as svg elements", () => { + const { container } = render( + + {sortAscIcon} + {sortDescIcon} + + ) + + expect(container.querySelectorAll("svg")).toHaveLength(2) + }) +}) + +describe("SubmitButton", () => { + it("renders a submit button with the default label", () => { + render() + + const button = screen.getByRole("button") + expect(button.textContent).toBe("Submit") + expect(button.getAttribute("type")).toBe("submit") + }) + + it("renders a string label", () => { + render() + + expect(screen.getByRole("button").textContent).toBe("Place order") + }) + + it("calls a function label", () => { + render( Go} />) + + expect(screen.getByTestId("node").textContent).toBe("Go") + }) + + it("hands props to a children function", () => { + render( + + {({ label }) => {`${label}!`}} + + ) + + expect(screen.getByTestId("custom").textContent).toBe("Place order!") + }) +}) + +describe("ExternalFunction", () => { + it("publishes the url and caller on context", () => { + let captured: { url?: string; callExternalFunction?: unknown } = {} + + function Consumer() { + captured = useContext(ExternalFunctionContext) + return null + } + + render( + + + + ) + + expect(captured.url).toBe("https://fn.test/hook") + expect(typeof captured.callExternalFunction).toBe("function") + }) +}) diff --git a/packages/react-components/src/components/addresses/AddressStateSelector.tsx b/packages/react-components/src/components/addresses/AddressStateSelector.tsx index 3302cac2..983829e5 100644 --- a/packages/react-components/src/components/addresses/AddressStateSelector.tsx +++ b/packages/react-components/src/components/addresses/AddressStateSelector.tsx @@ -13,6 +13,7 @@ import BillingAddressFormContext from "#context/BillingAddressFormContext" import CustomerAddressFormContext from "#context/CustomerAddressFormContext" import ShippingAddressFormContext from "#context/ShippingAddressFormContext" import type { AddressStateSelectName, BaseSelectComponentProps, Option } from "#typings" +import { singleFormValue } from "#utils/addressFormUtils" import { getStateOfCountry, isValidState, type States } from "#utils/countryStateCity" import { isEmpty } from "#utils/isEmpty" @@ -105,11 +106,15 @@ export function AddressStateSelector(props: Props): JSX.Element { useEffect(() => { const billingCountryValue = billingAddress?.values?.[BILLING_COUNTRY_KEY] const billingCountryCode = - typeof billingCountryValue === "string" ? billingCountryValue : billingCountryValue?.value + typeof billingCountryValue === "string" + ? billingCountryValue + : singleFormValue(billingCountryValue?.value) if (billingCountryCode && billingCountryCode !== countryCode) setCountryCode(billingCountryCode) const shippingCountryValue = shippingAddress?.values?.[SHIPPING_COUNTRY_KEY] const shippingCountryCode = - typeof shippingCountryValue === "string" ? shippingCountryValue : shippingCountryValue?.value + typeof shippingCountryValue === "string" + ? shippingCountryValue + : singleFormValue(shippingCountryValue?.value) if (shippingCountryCode && shippingCountryCode !== countryCode) setCountryCode(shippingCountryCode) // True when this is the first time a country is detected (was empty before). diff --git a/packages/react-components/src/components/orders/HostedCart.tsx b/packages/react-components/src/components/orders/HostedCart.tsx index 10d8a46f..35aac8f2 100644 --- a/packages/react-components/src/components/orders/HostedCart.tsx +++ b/packages/react-components/src/components/orders/HostedCart.tsx @@ -1,5 +1,5 @@ import type { Order } from "@commercelayer/sdk" -import { iframeResizer } from "iframe-resizer" +import iframeResizer from "@iframe-resizer/parent" import { type CSSProperties, type JSX, diff --git a/packages/react-components/src/components/payment_gateways/PaymentGateway.tsx b/packages/react-components/src/components/payment_gateways/PaymentGateway.tsx index 3eb56117..e5606529 100644 --- a/packages/react-components/src/components/payment_gateways/PaymentGateway.tsx +++ b/packages/react-components/src/components/payment_gateways/PaymentGateway.tsx @@ -70,6 +70,16 @@ export function PaymentGateway({ const paymentResource = readonly ? currentPaymentMethodType : (payment?.payment_source_type as PaymentResource) + // Returning the loader instead of the gateway (see the render below) swaps the gateway out + // rather than overlaying the loader, so every flip of `loading` unmounts it — and with it a + // mounted Adyen Drop-in, which loses the shopper's selection and re-initializes on the way + // back. + // + // While the order is partially authorized the shopper is mid-payment in that very gateway, + // so it must stay mounted. `mismatched_amounts` is also expected in that window (we + // authorized only the gift-card balance against the full total), and "healing" it by + // recreating the payment source would throw the authorization away. + const isPartiallyAuthorized = order?.payment_status === "partially_authorized" // Non-reactive reconcile pass. It reads the *latest* `order`, `config`, `paymentSource`, // etc. on every invocation, so those objects are deliberately absent from the driving @@ -148,13 +158,13 @@ export function PaymentGateway({ setPaymentSources() } // @ts-expect-error no type - if (paymentSource?.mismatched_amounts && show) { + if (paymentSource?.mismatched_amounts && show && !isPartiallyAuthorized) { setPaymentSources() } if (order?.payment_source?.id != null) { setLoading(false) } - if (!paymentSource) { + if (!paymentSource && !isPartiallyAuthorized) { setLoading(true) } } @@ -182,6 +192,9 @@ export function PaymentGateway({ order?.payment_method?.id, order?.payment_method?.payment_source_type, order?.status, + // Read by the recreate guard and the loader branch, so it has to re-fire the effect — + // otherwise the pass keeps deciding from a stale partial-authorization state. + order?.payment_status, order?.payment_source?.id, // @ts-expect-error no type order?.payment_source?.mismatched_amounts, @@ -199,12 +212,15 @@ export function PaymentGateway({ ]) useEffect(() => { - if (status === "placing") setLoading(true) + // Not while partially authorized: a place-order attempt on such an order is refused + // anyway (see ), so raising the loader here only unmounts the gateway + // the shopper still needs in order to pay the remainder. + if (status === "placing" && !isPartiallyAuthorized) setLoading(true) if (status === "standby") setLoading(false) if (order?.status === "placed") setLoading(false) // No cleanup: setLoading(true) in cleanup + loading in deps caused an infinite // toggle loop (setLoading(false) → dep change → cleanup setLoading(true) → repeat). - }, [status, order?.status]) + }, [status, order?.status, isPartiallyAuthorized]) const gatewayConfig = { readonly, @@ -220,7 +236,25 @@ export function PaymentGateway({ ...p, } if (currentPaymentMethodType !== paymentResource) return null - if (loading) return loaderComponent + // Swapping the gateway out for the loader unmounts it. For a stateless gateway that costs + // nothing; the Adyen Drop-in, though, owns imperative state — the shopper's selected method + // and typed-in details — and unmounting it destroys that and forces a full re-initialization + // (fresh AdyenCheckout(), new Dropin().mount(), translations and analytics again). + // + // Guarding individual `loading` flips is not enough: `payment_response.status` and + // `payment_status` are populated by two different API calls, so there is a window where a + // flip looks legitimate. Keeping the Drop-in mounted removes the whole class of problem — + // and it manages its own loading UI anyway. + // The Adyen Drop-in owns imperative state — the shopper's selected method and typed-in + // details — so unmounting it destroys that and forces a full re-initialization (fresh + // AdyenCheckout(), new Dropin().mount(), translations and analytics again). For a stateless + // gateway the swap costs nothing, so it is kept. + // + // Guarding individual `loading` flips is not enough here: `payment_response.status` and + // `payment_status` are populated by two different API calls, so there is a window where a + // flip looks legitimate. Keeping the Drop-in mounted removes the whole class of problem, and + // it manages its own loading UI anyway. + if (loading && paymentResource !== "adyen_payments") return loaderComponent switch (paymentResource) { case "adyen_payments": return {children} diff --git a/packages/react-components/src/components/payment_methods/PaymentMethod.tsx b/packages/react-components/src/components/payment_methods/PaymentMethod.tsx index 78fd6dca..2bba11f7 100644 --- a/packages/react-components/src/components/payment_methods/PaymentMethod.tsx +++ b/packages/react-components/src/components/payment_methods/PaymentMethod.tsx @@ -92,6 +92,8 @@ export function PaymentMethod({ const [paymentSelected, setPaymentSelected] = useState("") const [paymentSourceCreated, setPaymentSourceCreated] = useState(false) const loadingResourceRef = useRef(false) + /** Latches once the methods have rendered, so the loader can never unmount them again. */ + const hasRenderedMethodsRef = useRef(false) // Detect standalone mode: no parent has set _isProvided. const parentCtx = useContext(PaymentMethodContext) @@ -114,6 +116,12 @@ export function PaymentMethod({ const { order } = useContext(OrderContext) const { getCustomerPaymentSources } = useContext(CustomerContext) const { status } = useContext(PlaceOrderContext) + /** + * A partially-authorized order is mid-payment: part of the total is covered (an Adyen gift + * card, say) and the shopper still has to pay the remainder with another method, in the + * gateway that is already on screen. Raising the loader in that window unmounts it. + */ + const isPartiallyAuthorized = order?.payment_status === "partially_authorized" useEffect(() => { if (paymentMethods != null && !isEmpty(paymentMethods) && expressPayments) { const [paymentMethod] = getAvailableExpressPayments(paymentMethods) @@ -286,7 +294,16 @@ export function PaymentMethod({ // @ts-expect-error no type order?.payment_source?.payment_response?.status // If showLoader is undefined, we don't change the loading - if (showLoader && status) { + // + // `content` swaps the whole subtree for the loader rather than overlaying it, so raising + // `loading` here unmounts and with it any mounted Adyen Drop-in. A gift + // card authorization is exactly what populates `payment_response.status`, so without the + // partial-authorization guard this fires on the very update the shopper is mid-way + // through and reloads the Drop-in — repeatedly, as the order settles. + // + // A partially-authorized order is still mid-payment: the shopper has to cover the + // remainder in that same Drop-in, so the subtree has to stay mounted. + if (showLoader && status && !isPartiallyAuthorized) { if (status.toLowerCase() === "declined") { setLoading(false) } else { @@ -296,7 +313,7 @@ export function PaymentMethod({ setLoading(false) } // @ts-expect-error no type - }, [showLoader, order?.payment_source?.payment_response?.status]) + }, [showLoader, order?.payment_source?.payment_response?.status, isPartiallyAuthorized]) const sortedPaymentMethods = paymentMethods != null && sortBy != null ? sortPaymentMethods(paymentMethods, sortBy) @@ -359,7 +376,21 @@ export function PaymentMethod({ ) }) - const content = !loading ? <>{components}> : getLoaderComponent(loader) + // Once the payment methods have rendered, never swap them back out for the loader. + // + // `content` replaces the whole subtree rather than overlaying the loader, so any later flip + // of `loading` unmounts every gateway below — including a mounted Adyen Drop-in, which owns + // the shopper's selected method and typed-in details and has to fully re-initialize on the + // way back. Guarding the individual flips cannot close this: `payment_response.status` and + // `payment_status` are populated by two different API calls, so there is a window where a + // flip looks legitimate. + // + // This makes `showLoader` mean "while first fetching the payment methods", which is what it + // documents ("Show loader while fetching payment methods"). Re-entering the loading state + // after that is the glitch, not a feature. + if (!loading) hasRenderedMethodsRef.current = true + const content = + !loading || hasRenderedMethodsRef.current ? <>{components}> : getLoaderComponent(loader) // In standalone mode provide the context so that child components // (PaymentSource, PaymentGateway, etc.) can read payment state without diff --git a/packages/react-components/src/components/payment_source/AdyenPayment.tsx b/packages/react-components/src/components/payment_source/AdyenPayment.tsx index 9163ad8c..63aabf7d 100644 --- a/packages/react-components/src/components/payment_source/AdyenPayment.tsx +++ b/packages/react-components/src/components/payment_source/AdyenPayment.tsx @@ -8,6 +8,7 @@ import { type CoreConfiguration, Dropin, type DropinConfiguration, + type ICore, type OnChangeData, type PayPalConfiguration, type SubmitData, @@ -129,6 +130,11 @@ export function AdyenPayment({ const [loadAdyen, setLoadAdyen] = useState(false) const [checkout, setCheckout] = useState | undefined>() const [giftcardError, setGiftcardError] = useState(null) + // Set when the API rejects a call because Adyen's `order_data` expired. A new payment + // source alone cannot stand in for this: also creates one, with a new + // id, whenever the amount is mismatched, and rebuilding the Drop-in there is the reload + // loop that was fixed earlier. Only an expiry invalidates the session itself. + const [sessionExpiredAt, setSessionExpiredAt] = useState(null) const { setPaymentSource, paymentSource, @@ -143,6 +149,52 @@ export function AdyenPayment({ const { customers } = useContext(CustomerContext) const ref = useRef(null) const dropinRef = useRef(null) + // The Core instance, kept alongside the Drop-in: refreshing the amount after a partial + // authorization goes through Core, not the Drop-in. See the `onSubmit` handler below. + const checkoutRef = useRef(null) + // Latches the partial-authorization refresh: refreshing the Drop-in once, when the order + // becomes partially authorized, is intended — doing it again for the same authorization is + // the glitch. Keyed by payment source id so a genuinely new source can refresh again. + const refreshedForSourceRef = useRef(null) + // Which payment source the live Drop-in was initialized from. Adyen's session, including + // the `order_data` that expires, is baked into the instance at creation, so a replacement + // source leaves the instance on screen talking to a session the API already rejects. + const initializedForSourceRef = useRef(null) + // The Drop-in's `onSubmit` is installed once, so it closes over the payment source from + // the render that built it. recreates the source whenever the order has + // more than one payment method, and when that lands between the build and the shopper's + // click, the submit authorizes against a source the order no longer points at: the gift + // card is redeemed at Adyen, `gift_card_amount_cents` stays 0, and no amount ever shows. + const paymentSourceRef = useRef(paymentSource) + // An effect rather than a render-phase write, so StrictMode's discarded double render + // cannot leave a stale value behind. + useEffect(() => { + paymentSourceRef.current = paymentSource + }, [paymentSource]) + // A replacement payment source is created empty and filled a moment later, so the id + // alone is not enough to rebuild on: doing that yields a Drop-in with no payment + // methods. Counting them gives the effect below something to wait for. + const availablePaymentMethodsCount: number = + // @ts-expect-error no type + paymentSource?.payment_methods?.paymentMethods?.length ?? 0 + + // Tear the Adyen instance down on real unmount only, and clear the refs so a remounted + // component can initialize a fresh one (the init guard below is `!dropinRef.current`, so a + // leftover reference would leave the component wired to a destroyed Drop-in forever). + // + // Deliberately its own mount-scoped effect: the main effect below re-runs whenever the + // place-order `status` changes, and destroying the Drop-in on those passes would throw the + // shopper's selection away mid-checkout. + useEffect(() => { + return () => { + // `remove()` rather than `unmount()`: Adyen documents it as the "destroy" cleanup — it + // unmounts the element *and* drops it from `core.components`, so Core stops holding a + // reference to a dead element (which `triggerAmountUpdate()` would otherwise iterate). + dropinRef.current?.remove() + dropinRef.current = null + checkoutRef.current = null + } + }, []) const handleSubmit = async (e: FormEvent): Promise => { const savePaymentSourceToCustomerWallet: string = // @ts-expect-error no type @@ -153,7 +205,25 @@ export function AdyenPayment({ savePaymentSourceToCustomerWallet ) if (dropinRef.current) { - dropinRef.current.submit() + // `Dropin.submit()` throws synchronously when it has no `activePaymentMethod` — e.g. + // the shopper has not picked a method, or the Drop-in was re-rendered and lost the + // selection while `ref.current.onsubmit` stayed patched from an earlier `onChange`. + // Because this function is async the throw became a rejected promise that + // awaited without a catch, surfacing as an unhandledRejection that + // takes the page (and the e2e run) down instead of telling the shopper anything. + try { + dropinRef.current.submit() + } catch (error) { + setPaymentMethodErrors([ + { + code: "VALIDATION_ERROR", + resource: "payment_methods", + field: currentPaymentMethodType, + message: error instanceof Error ? error.message : String(error), + }, + ]) + return false + } } return false } @@ -180,10 +250,11 @@ export function AdyenPayment({ _details: 1, } try { + const latestPaymentSource = paymentSourceRef.current ?? paymentSource const pSource = - paymentSource && + latestPaymentSource && (await setPaymentSource({ - paymentSourceId: paymentSource.id, + paymentSourceId: latestPaymentSource.id, paymentResource: "adyen_payments", attributes, })) @@ -233,13 +304,18 @@ export function AdyenPayment({ paymentMethodType?: string message?: string paymentStatus?: Order["payment_status"] + /** Still to be covered by another payment method, in Adyen's `{ currency, value }` shape. */ + remainingAmount?: { currency: string; value: number } } > => { const url = cleanUrlBy() const { type: currentPaymentMethodType } = state.data.paymentMethod const shopperIp = await getPublicIP() + // Captured once for the whole submit rather than re-read per call: the expired-session + // path below deliberately reuses the id the reducer has just destroyed. + const currentPaymentSourceId = paymentSourceRef.current?.id ?? paymentSource?.id const control = await setPaymentSource({ - paymentSourceId: paymentSource?.id, + paymentSourceId: currentPaymentSourceId, paymentResource: "adyen_payments", }) // @ts-expect-error no type @@ -282,7 +358,7 @@ export function AdyenPayment({ delete attributes.payment_request_data.paymentMethod try { await setPaymentSource({ - paymentSourceId: paymentSource?.id, + paymentSourceId: currentPaymentSourceId, paymentResource: "adyen_payments", attributes, }) @@ -296,14 +372,36 @@ export function AdyenPayment({ if (currentPaymentMethodType === "giftcard") { // Request balance check if the gift card can cover the total amount const giftCardBalanceCheck = (await setPaymentSource({ - paymentSourceId: paymentSource?.id, + paymentSourceId: currentPaymentSourceId, paymentResource: "adyen_payments", attributes: { _balance: true, }, - })) as AdyenPaymentType - const currentBalance = giftCardBalanceCheck?.balance ?? 0 + })) as AdyenPaymentType | undefined const totalAmount = order?.total_amount_with_taxes_cents ?? 0 + // A missing response means the request itself failed, not that the card is empty. + // The usual cause is Adyen's `order_data` having expired, which makes the reducer + // tear the payment source down and the app build a new one. Folding that into the + // zero-balance branch below told the shopper to find a different gift card over + // what is really a stale session, and hid the retry they actually need. + if (giftCardBalanceCheck == null) { + setSessionExpiredAt(Date.now()) + const message = + "The payment session expired before the gift card could be redeemed. Please try again." + setPaymentMethodErrors([ + { + code: "PAYMENT_INTENT_AUTHENTICATION_FAILURE", + resource: "payment_methods", + field: currentPaymentMethodType, + message, + }, + ]) + return { + resultCode: "Refused", + message, + } + } + const currentBalance = giftCardBalanceCheck.balance ?? 0 if (currentBalance === 0) { const message = "The gift card has no balance. Please use a different one." setPaymentMethodErrors([ @@ -360,15 +458,40 @@ export function AdyenPayment({ message, } } + // What the shopper still has to cover with another method, in Adyen's + // `{ currency, value }` shape. + // + // Do NOT derive this from `gift_card_amount_cents`: that field is the sum of the + // Commerce Layer `gift_card` resources applied to the order, and an Adyen gift card + // authorized through `_authorization_amount_cents` never creates one — it stays 0, + // so the subtraction would hand the Drop-in back the full total. + // + // Adyen's own `remainingAmount` is authoritative when the account uses the + // partial-payments order flow (it already nets off every card authorized so far); + // otherwise fall back to what we just authorized ourselves: `currentBalance`, the + // amount sent as `_authorization_amount_cents` above. + const adyenRemainingAmount = + // @ts-expect-error no type + orderUpdated?.payment_source?.payment_response?.order?.remainingAmount + const currency = orderUpdated?.currency_code ?? order?.currency_code + const remainingValue = + typeof adyenRemainingAmount?.value === "number" + ? adyenRemainingAmount.value + : Math.max(totalAmount - currentBalance, 0) return { resultCode: "Authorised", paymentMethodType: currentPaymentMethodType, action, paymentStatus, + // Adyen validates the amount and silently cancels the update on an empty + // currency, so only report one when the currency is actually known. + ...(currency != null && remainingValue > 0 + ? { remainingAmount: { currency, value: remainingValue } } + : {}), } } const res = await setPaymentSource({ - paymentSourceId: paymentSource?.id, + paymentSourceId: currentPaymentSourceId, paymentResource: "adyen_payments", attributes: { _authorize: 1, @@ -532,7 +655,10 @@ export function AdyenPayment({ }, onSubmit: (state, element, actions) => { const handleSubmit = async (): Promise => { - const { resultCode, action, message, paymentStatus } = await onSubmit(state, element) + const { resultCode, action, message, paymentStatus, remainingAmount } = await onSubmit( + state, + element + ) if (["Cancelled", "Refused"].includes(resultCode)) { actions.reject() if (message) { @@ -544,8 +670,37 @@ export function AdyenPayment({ actions.resolve({ resultCode, }) - if (paymentStatus === "partially_authorized") { - dropinRef.current?.mount("#adyen-dropin") + const refreshKey = paymentSource?.id ?? "unknown" + if ( + paymentStatus === "partially_authorized" && + remainingAmount != null && + refreshedForSourceRef.current !== refreshKey + ) { + refreshedForSourceRef.current = refreshKey + // Refresh the Drop-in for the reduced amount. `shouldReinitializeCheckout: true` + // makes Core `setOptions(amount)`, re-`initialize()`, then `update()` every + // mounted component — and `BaseElement.update()` is `state = {}` plus + // `unmount().mount(this._node)`, i.e. a real refresh in place, with the payment + // method list consistent with what is left to pay. + // + // This replaces `dropinRef.current?.mount("#adyen-dropin")`, which re-rendered + // the Drop-in with the *old* amount: same lost selection, none of the benefit. + // + // Latched above, so it happens once per authorization and not on every pass. + checkoutRef.current?.update( + { amount: remainingAmount }, + { shouldReinitializeCheckout: true } + ) + // The refresh resets `activePaymentMethod`, so the form is genuinely not + // submittable until the shopper picks a method again — at which point + // `handleChange` re-patches `ref.current.onsubmit` and re-arms the ref. Dropping + // it here keeps honest; leaving it patched is what let it + // call `Dropin.submit()` on an empty Drop-in and throw "No active payment + // method.". + if (ref.current != null) { + ref.current.onsubmit = null + } + setPaymentRef({ ref: { current: null } }) } setGiftcardError(null) } @@ -554,9 +709,34 @@ export function AdyenPayment({ }, } satisfies CoreConfiguration if (!ref && clientKey) setCustomerOrderParam("_save_payment_source_to_customer_wallet", "false") - if (clientKey && !loadAdyen && window && !checkout) { + // An expired `order_data` makes the reducer destroy the payment source and a fresh one + // takes its place. The Drop-in bakes Adyen's session in at creation, so the instance on + // screen is still talking to the session the API now rejects, and the shopper's retry + // can never succeed. `update({ shouldReinitializeCheckout: true })`, used below for the + // partial-authorization refresh, re-initializes Core with that same dead session, so a + // genuine rebuild is the only way back. + // + // `checkout` is set once at initialization and never cleared, which is what latches the + // branch below shut for the rest of the component's life; hence the explicit override + // rather than another condition on the state. + const currentSourceId = paymentSource?.id + const sessionReplaced = + sessionExpiredAt != null && + dropinRef.current != null && + currentSourceId != null && + availablePaymentMethodsCount > 0 && + initializedForSourceRef.current !== currentSourceId + if (sessionReplaced) { + dropinRef.current?.remove() + dropinRef.current = null + checkoutRef.current = null + refreshedForSourceRef.current = null + setSessionExpiredAt(null) + } + if (clientKey && window && (sessionReplaced || (!loadAdyen && !checkout))) { const initializeAdyen = async (): Promise => { const checkout = await AdyenCheckout(options) + checkoutRef.current = checkout const dropin = new Dropin(checkout, { disableFinalAnimation: true, showRemovePaymentMethodButton: showStoredPaymentMethods, @@ -645,6 +825,7 @@ export function AdyenPayment({ }).mount("#adyen-dropin") if (dropin && checkout) { dropinRef.current = dropin + initializedForSourceRef.current = paymentSource?.id ?? null setCheckout(dropin) setLoadAdyen(true) } @@ -658,7 +839,15 @@ export function AdyenPayment({ setPaymentRef({ ref: { current: null } }) setLoadAdyen(false) } - }, [clientKey, ref != null, status, setPaymentMethodErrors != null]) + }, [ + clientKey, + ref != null, + status, + setPaymentMethodErrors != null, + paymentSource?.id, + availablePaymentMethodsCount, + sessionExpiredAt, + ]) return !clientKey && !loadAdyen && !checkout ? null : ( = { [Property in keyof Type]: { label?: string @@ -208,72 +216,97 @@ export function BraintreePayment({ } return false } + // `handleSubmitForm` is rebuilt on every render, so keeping it in the effect's + // dependencies re-ran the effect every render — and the cleanup's setState calls + // triggered the next render, looping forever. Hold the latest closure in a ref and + // read it at submit time instead. + const handleSubmitFormRef = useRef(handleSubmitForm) + handleSubmitFormRef.current = handleSubmitForm + // Guard initialisation with a ref rather than the `loadBraintree` state: that state + // is reset by this effect's own cleanup, so depending on it made the effect tear + // down and re-create the Braintree client in a cycle. + const initializedRef = useRef(false) useEffect(() => { if (!ref && authorization) setCustomerOrderParam("_save_payment_source_to_customer_wallet", "false") - if (authorization && !loadBraintree && !isEmpty(window)) { - const braintreeClient = require("braintree-web/client") - const hostedFields = require("braintree-web/hosted-fields") - const threeDSecure = require("braintree-web/three-d-secure") - braintreeClient.create( - { - authorization, - challengeRequested: config?.challengeRequested ?? true, - }, - (clientErr: any, clientInstance: any) => { - if (clientErr) { - console.error(clientErr) - return - } - hostedFields.create( - { - client: clientInstance, - fields: fields as HostedFieldFieldOptions, - styles, - }, - (hostedFieldsErr: any, hostedFieldsInstance: HostedFieldsHostedFieldsFieldName) => { - if (hostedFieldsErr) { - console.error(hostedFieldsErr) - return - } - setLoadBraintree(true) - threeDSecure.create( - { - authorization, - version: 2, - }, - (threeDSecureErr: any, threeDSInstance: ThreeDSecure) => { - if (threeDSecureErr) { - // Handle error in 3D Secure component creation - console.error("3DSecure error", threeDSecureErr) - setPaymentMethodErrors([ - { - code: "PAYMENT_INTENT_AUTHENTICATION_FAILURE", - resource: "payment_methods", - field: currentPaymentMethodType, - message: threeDSecureErr.message as string, - }, - ]) - } - if (ref.current) { - ref.current.onsubmit = async (paymentSource: any) => { - return await handleSubmitForm({ - event: ref.current as any, - hostedFieldsInstance, - threeDSInstance, - paymentSource, - }) + let cancelled = false + if (authorization && !initializedRef.current && !isEmpty(window)) { + initializedRef.current = true + void (async () => { + // Load the SDK through dynamic import rather than `require`: braintree-web is + // CommonJS, and a bare require() survived into the browser bundle, where it + // resolved to a shim that throws as soon as mounts. Dynamic + // import is bundler-safe and keeps the SDK out of the main chunk. + const [braintreeClient, hostedFields, threeDSecure] = ( + await Promise.all([ + import("braintree-web/client"), + import("braintree-web/hosted-fields"), + import("braintree-web/three-d-secure"), + ]) + ).map(interopDefault) + if (cancelled) return + braintreeClient.create( + { + authorization, + challengeRequested: config?.challengeRequested ?? true, + }, + (clientErr: any, clientInstance: any) => { + if (clientErr) { + console.error(clientErr) + return + } + hostedFields.create( + { + client: clientInstance, + fields: fields as HostedFieldFieldOptions, + styles, + }, + (hostedFieldsErr: any, hostedFieldsInstance: HostedFieldsHostedFieldsFieldName) => { + if (hostedFieldsErr) { + console.error(hostedFieldsErr) + return + } + setLoadBraintree(true) + threeDSecure.create( + { + authorization, + version: 2, + }, + (threeDSecureErr: any, threeDSInstance: ThreeDSecure) => { + if (threeDSecureErr) { + // Handle error in 3D Secure component creation + console.error("3DSecure error", threeDSecureErr) + setPaymentMethodErrors([ + { + code: "PAYMENT_INTENT_AUTHENTICATION_FAILURE", + resource: "payment_methods", + field: currentPaymentMethodType, + message: threeDSecureErr.message as string, + }, + ]) + } + if (ref.current) { + ref.current.onsubmit = async (paymentSource: any) => { + return await handleSubmitFormRef.current({ + event: ref.current as any, + hostedFieldsInstance, + threeDSInstance, + paymentSource, + }) + } + setPaymentRef({ ref }) } - setPaymentRef({ ref }) } - } - ) - } - ) - } - ) + ) + } + ) + } + ) + })() } return () => { + cancelled = true + initializedRef.current = false setPaymentRef({ ref: { current: null } }) setLoadBraintree(false) } @@ -281,11 +314,8 @@ export function BraintreePayment({ authorization, setPaymentMethodErrors, styles, - loadBraintree, currentPaymentMethodType, setPaymentRef, - // biome-ignore lint/correctness/useExhaustiveDependencies: handleSubmitForm is recreated each render; its deps are already tracked - handleSubmitForm, fields, config?.challengeRequested, ]) diff --git a/packages/react-components/src/components/payment_source/CheckoutComPayment.tsx b/packages/react-components/src/components/payment_source/CheckoutComPayment.tsx index a16abed1..6e0702f8 100644 --- a/packages/react-components/src/components/payment_source/CheckoutComPayment.tsx +++ b/packages/react-components/src/components/payment_source/CheckoutComPayment.tsx @@ -130,6 +130,26 @@ export function CheckoutComPayment({ publicKey, options, ...p }: Props): JSX.Ele const { order } = useContext(OrderContext) const { setPlaceOrderStatus } = useContext(PlaceOrderContext) const { containerClassName, templateCustomerSaveToWallet, show, ...divProps } = p + // Everything below is read at mount time only. Keeping any of it in the effect's + // dependencies re-ran the effect on unrelated re-renders and re-created the Flow + // component, which wiped whatever the shopper had typed into the card field: + // `onChange` calls `setPaymentRef` as soon as the card is valid, that context update + // re-renders the consumer, the consumer rebuilds its `options` object literal, and the + // fresh `options.appearance` identity looked like a real dependency change. + const optionsRef = useRef(options) + optionsRef.current = options + const setPaymentRefRef = useRef(setPaymentRef) + setPaymentRefRef.current = setPaymentRef + const setPaymentSourceRef = useRef(setPaymentSource) + setPaymentSourceRef.current = setPaymentSource + const setPlaceOrderStatusRef = useRef(setPlaceOrderStatus) + setPlaceOrderStatusRef.current = setPlaceOrderStatus + // Guards against mounting the Flow twice for the same payment source. + const mountedForRef = useRef(null) + // Depending on the `order.payment_source` object rather than its id remounts the Flow + // on every order refetch and wipes the shopper's card input. The id is the only part + // that should re-trigger; everything else is read through the refs above. + // biome-ignore lint/correctness/useExhaustiveDependencies: intentional — see above useEffect(() => { const ps = order?.payment_source if (loaded && window && ps && accessToken) { @@ -145,7 +165,7 @@ export function CheckoutComPayment({ publicKey, options, ...p }: Props): JSX.Ele // @ts-expect-error no type const checkout = await window.CheckoutWebComponents({ appearance: { - ...options?.appearance, + ...optionsRef.current?.appearance, }, showPayButton: false, publicKey, @@ -172,7 +192,7 @@ export function CheckoutComPayment({ publicKey, options, ...p }: Props): JSX.Ele ) const { data } = await component.tokenize() const token = data?.token - const paymentSource = await setPaymentSource({ + const paymentSource = await setPaymentSourceRef.current?.({ paymentSourceId: ps.id, paymentResource: "checkout_com_payments", attributes: { @@ -195,7 +215,7 @@ export function CheckoutComPayment({ publicKey, options, ...p }: Props): JSX.Ele } return false } - setPaymentRef?.({ ref }) + setPaymentRefRef.current?.({ ref }) } } }, @@ -204,7 +224,7 @@ export function CheckoutComPayment({ publicKey, options, ...p }: Props): JSX.Ele }, onPaymentCompleted: async (_component, paymentResponse) => { if (paymentResponse.status.toLowerCase() === "approved") { - await setPaymentSource({ + await setPaymentSourceRef.current?.({ paymentSourceId: ps.id, paymentResource: "checkout_com_payments", attributes: { @@ -212,7 +232,7 @@ export function CheckoutComPayment({ publicKey, options, ...p }: Props): JSX.Ele _authorize: true, }, }) - setPlaceOrderStatus?.({ + setPlaceOrderStatusRef.current?.({ status: "placing", }) } @@ -221,20 +241,18 @@ export function CheckoutComPayment({ publicKey, options, ...p }: Props): JSX.Ele const flowComponent = checkout.create("flow") flowComponent.mount(document.getElementById("flow-container")) } - loadFlow() + // Belt and braces: even if the effect were re-entered for the same payment + // source, don't build and mount a second Flow over the first. + if (mountedForRef.current !== ps.id) { + mountedForRef.current = ps.id + loadFlow() + } } } - }, [ - loaded, - order?.payment_source?.id, - accessToken, - setPaymentRef, - options?.appearance, - setPaymentSource, - setPlaceOrderStatus, - order?.payment_source, - order?.language_code, - ]) + // Only primitives here. Object identities (options.appearance, the payment_source + // object, the context setters) change on unrelated re-renders and would remount the + // Flow mid-typing; they are read through refs above instead. + }, [loaded, order?.payment_source?.id, accessToken, order?.language_code]) return loaded && show ? ( diff --git a/packages/react-components/src/components/shipments/Shipment.tsx b/packages/react-components/src/components/shipments/Shipment.tsx index a2e0d36b..5225d059 100644 --- a/packages/react-components/src/components/shipments/Shipment.tsx +++ b/packages/react-components/src/components/shipments/Shipment.tsx @@ -85,9 +85,12 @@ export function Shipment({ if (autoSelectSingleShippingMethod) { const autoSelect = async (): Promise => { for (const shipment of shipments) { - const isSingle = shipment?.available_shipping_methods?.length === 1 + // Normalise once: `isSingle` below already proves the array is present, so + // a second fallback at the destructuring site would be unreachable. + const availableShippingMethods = shipment?.available_shipping_methods ?? [] + const isSingle = availableShippingMethods.length === 1 if (!shipment?.shipping_method && isSingle) { - const [shippingMethod] = shipment?.available_shipping_methods || [] + const [shippingMethod] = availableShippingMethods if (shippingMethod && setShippingMethodRef.current != null) { const { success, order } = await setShippingMethodRef.current( shipment.id, diff --git a/packages/react-components/src/components/shipments/Shipments.tsx b/packages/react-components/src/components/shipments/Shipments.tsx index 99d5b45e..4ee99f0e 100644 --- a/packages/react-components/src/components/shipments/Shipments.tsx +++ b/packages/react-components/src/components/shipments/Shipments.tsx @@ -1,6 +1,6 @@ import { useShipments } from "@commercelayer/react-hooks-components" import type { Order } from "@commercelayer/sdk" -import { type JSX, useCallback, useContext, useEffect, useMemo, useState } from "react" +import { type JSX, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react" import CommerceLayerContext from "#context/CommerceLayerContext" import OrderContext from "#context/OrderContext" import ShipmentContext from "#context/ShipmentContext" @@ -27,11 +27,35 @@ export function Shipments({ children, loader = "Loading..." }: Props): JSX.Eleme shipments, deliveryLeadTimes, isLoading, + reload, setShippingMethod: hookSetShippingMethod, } = useShipments({ accessToken, orderId }) const [errors, setErrors] = useState([]) + // The shipments cache is keyed on (accessToken, orderId) alone, so it never + // revalidates on its own. The API, though, re-evaluates shipments whenever the + // order changes: applying a coupon clears `shipment.shipping_method` server-side, + // because shipping method availability depends on the order totals. Left stale, + // the cached shipment keeps a shipping method the order no longer has, so + // `` stays checked on it — and re-clicking a checked + // radio fires no change event, leaving the user unable to re-select. Refetch + // whenever the order moves on. + const syncedOrderUpdatedAt = useRef(undefined) + + useEffect(() => { + const updatedAt = order?.updated_at + if (updatedAt == null) return + // First order we see: the initial shipments fetch is already in step with it. + if (syncedOrderUpdatedAt.current == null) { + syncedOrderUpdatedAt.current = updatedAt + return + } + if (syncedOrderUpdatedAt.current === updatedAt) return + syncedOrderUpdatedAt.current = updatedAt + void reload() + }, [order?.updated_at, reload]) + useEffect(() => { const nextErrors: BaseError[] = [] @@ -99,6 +123,12 @@ export function Shipments({ children, loader = "Loading..." }: Props): JSX.Eleme await hookSetShippingMethod(shipmentId, shippingMethodId) if (getOrder != null && orderId != null) { const currentOrder = await getOrder(orderId) + // `hookSetShippingMethod` has already revalidated the shipments cache, + // so this order revision is in step — stamp it so the effect above + // doesn't refetch shipments a second time for our own update. + if (currentOrder?.updated_at != null) { + syncedOrderUpdatedAt.current = currentOrder.updated_at + } return { success: true, order: currentOrder } } return { success: true } diff --git a/packages/react-components/src/hooks/useAddressFormFields.ts b/packages/react-components/src/hooks/useAddressFormFields.ts index 6b7a53a5..a24225ec 100644 --- a/packages/react-components/src/hooks/useAddressFormFields.ts +++ b/packages/react-components/src/hooks/useAddressFormFields.ts @@ -14,7 +14,12 @@ import type { } from "#reducers/OrderReducer" import type { TCustomerAddress } from "#typings/customers" import type { BaseError, CodeErrorType } from "#typings/errors" -import { type FormErrors, type FormValue, getFormElement } from "#utils/addressFormUtils" +import { + type FormErrors, + type FormValue, + getFormElement, + singleFormValue, +} from "#utils/addressFormUtils" interface UseAddressFormFieldsParams { resource: AddressResource @@ -61,7 +66,10 @@ export function useAddressFormFields({ const setFormRef = useCallback( (node: HTMLFormElement | null) => { formRef.current = node - refValidation(node) + // Track fields that carry no `required` attribute as well. The "save this address + // in your account" checkbox is optional, so without this rapid-form never reports + // it, the effect below never sees it, and ticking it was silently discarded. + refValidation(node, { trackUnvalidatedFields: true }) }, [refValidation] ) @@ -174,15 +182,30 @@ export function useAddressFormFields({ const addressValues: Record = {} for (const [name, field] of Object.entries(formValues)) { if (field == null) continue - if ( - field.value != null && - (field.value || field.required === false) && - field.type !== "checkbox" - ) { - addressValues[name.replace(prefix, "")] = field.value + + // rapid-form v5 reports every tracked field as `{ name, value }` only — no `type` + // or `checked` — and encodes a checkbox as the string "true"/"false". A v5 checkbox + // is therefore indistinguishable from a text field by shape alone, so recognise + // the save-to-address-book field by its known name and fall back to the DOM for any + // other checkbox. Either way a checkbox must never reach `addressValues`: "false" + // is a truthy string and would be PATCHed onto the address as a bogus attribute. + const isSaveToAddressBookField = name === checkboxFieldName + const element = getFormElement(formRef.current, name) + if (isSaveToAddressBookField || element?.type === "checkbox" || field.type === "checkbox") { + if (isSaveToAddressBookField) { + // The live element is authoritative; fall back to the reported field for + // environments without a real input, then to v5's "true"/"false" string. + const checked = + (element as HTMLInputElement | null)?.checked ?? + field.checked ?? + singleFormValue(field.value as string | string[] | undefined) === "true" + saveAddressToCustomerAddressBook?.({ type: resource, value: checked }) + } + continue } - if (field.type === "checkbox") { - saveAddressToCustomerAddressBook?.({ type: resource, value: field.checked ?? false }) + + if (field.value != null && (field.value || field.required === false)) { + addressValues[name.replace(prefix, "")] = field.value } } @@ -220,6 +243,7 @@ export function useAddressFormFields({ prefix, errorMode, hasValidated, + checkboxFieldName, ]) useEffect(() => { @@ -228,7 +252,9 @@ export function useAddressFormFields({ ) const checked = checkbox?.checked || getSaveToAddressBook() if (checked) { - checkbox?.setAttribute("checked", "true") + // Assign the property, not the attribute: the attribute only seeds `defaultChecked`, + // so on a re-opened step it left the box visually unticked. + if (checkbox != null && !checkbox.checked) checkbox.checked = true saveAddressToCustomerAddressBook?.({ type: resource, value: true }) } }, [saveAddressToCustomerAddressBook, checkboxFieldName, getSaveToAddressBook, resource]) diff --git a/packages/react-components/src/reducers/PaymentMethodReducer.ts b/packages/react-components/src/reducers/PaymentMethodReducer.ts index 979cc7f6..1a860832 100644 --- a/packages/react-components/src/reducers/PaymentMethodReducer.ts +++ b/packages/react-components/src/reducers/PaymentMethodReducer.ts @@ -397,7 +397,9 @@ async function runSetPaymentSource({ const expiredErrors = errors.filter((v) => v?.meta?.error === "expired") if (expiredErrors.length > 0 && order && config) { console.error("Set payment source - expired:", expiredErrors) - destroyPaymentSource({ + // Awaited for ordering: today this only dispatches, but the caller's result + // depends on the source being gone, so it should not be left in flight. + await destroyPaymentSource({ paymentSourceId: order.payment_source?.id || "", paymentResource, dispatch, diff --git a/packages/react-components/src/utils/addressFormUtils.ts b/packages/react-components/src/utils/addressFormUtils.ts index 48ec2ce2..3273ecc6 100644 --- a/packages/react-components/src/utils/addressFormUtils.ts +++ b/packages/react-components/src/utils/addressFormUtils.ts @@ -19,6 +19,17 @@ export type FormValue = Value & { value?: string | number | readonly string[] } +/** + * rapid-form v5 widened a tracked field's `value` to `string | string[]` so it can + * carry multi-value controls (checkbox groups, ``). Address fields + * are all single-valued, so collapse the union back to a string — taking the first + * entry if an array ever arrives. + */ +export function singleFormValue(value: string | string[] | undefined | null): string | undefined { + if (value == null) return undefined + return Array.isArray(value) ? value[0] : value +} + export function getFormElement(form: HTMLFormElement | null, name: string): FormElement | null { const element = form?.elements.namedItem(name) if ( diff --git a/packages/react-hooks-components/package.json b/packages/react-hooks-components/package.json index aaa11765..9e02fc55 100644 --- a/packages/react-hooks-components/package.json +++ b/packages/react-hooks-components/package.json @@ -1,6 +1,6 @@ { "name": "@commercelayer/react-hooks-components", - "version": "1.0.0", + "version": "5.0.0-beta.1", "description": "Commerce Layer React Hooks", "type": "module", "main": "./dist/index.js", @@ -40,7 +40,7 @@ "license": "MIT", "devDependencies": { "@arethetypeswrong/cli": "^0.18.5", - "@babel/core": "^7.29.7", + "@babel/core": "^8.0.1", "@commercelayer/sdk": "8.0.0-beta.11", "@rolldown/plugin-babel": "^0.2.3", "@testing-library/react": "^16.3.2", @@ -54,11 +54,11 @@ "tsdown": "^0.22.12", "typescript": "^6.0.3", "vite-tsconfig-paths": "^6.1.1", - "vitest": "^4.1.10" + "vitest": "^4.1.5" }, "dependencies": { "@commercelayer/core-components": "workspace:*", - "swr": "^2.4.2" + "swr": "^2.5.1" }, "peerDependencies": { "react": ">=19.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7621a7bb..95336008 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,20 +30,33 @@ overrides: vitest: '>=4.1.0' handlebars: '>=4.7.9' lodash: '>=4.17.24' + brace-expansion@>=4.0.0 <5.0.9: ^5.0.9 + ip-address@<=10.1.0: ^10.1.1 + ip-address@<=10.3.0: ^10.3.1 + js-yaml@>=4.0.0 <4.3.0: ^4.3.0 + js-yaml@>=4.0.0 <4.3.1: ^4.3.1 + js-yaml@>=4.0.0 <=4.1.1: ^4.1.2 + nanoid@<3.3.16: ^3.3.16 + nanoid@<3.3.17: ^3.3.17 + postcss@<=8.5.17: ^8.5.18 + postcss@<=8.5.22: ^8.5.23 + undici@>=7.0.0 <7.28.0: ^7.28.0 + undici@>=7.0.0 <7.29.0: ^7.29.0 + undici@>=7.23.0 <7.28.0: ^7.28.0 importers: .: devDependencies: '@biomejs/biome': - specifier: ^2.5.4 - version: 2.5.4 + specifier: ^2.5.8 + version: 2.5.8 husky: specifier: ^9.1.7 version: 9.1.7 lerna: - specifier: ^9.0.7 - version: 9.0.7(@types/node@25.9.5)(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0) + specifier: ^10.0.0 + version: 10.0.0(@types/node@26.2.0)(supports-color@7.2.0)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -51,8 +64,8 @@ importers: packages/core-components: dependencies: '@commercelayer/js-auth': - specifier: ^7.4.2 - version: 7.4.2 + specifier: ^8.0.0 + version: 8.0.0 '@commercelayer/sdk': specifier: 8.0.0-beta.11 version: 8.0.0-beta.11 @@ -62,37 +75,37 @@ importers: version: 0.18.5 '@vitest/coverage-v8': specifier: ^4.1.10 - version: 4.1.10(vitest@4.1.5) + version: 4.1.10(vitest@4.1.10) tsdown: specifier: ^0.22.12 - version: 0.22.12(@arethetypeswrong/core@0.18.5)(oxc-resolver@11.24.2)(typescript@6.0.3) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(oxc-resolver@11.24.2)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) vitest: specifier: '>=4.1.0' - version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@25.9.5)(@vitest/coverage-v8@4.1.10)(jsdom@29.1.1)(msw@2.15.0(@types/node@25.9.5)(typescript@6.0.3))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 4.1.10(@types/node@26.2.0)(@vitest/coverage-v8@4.1.10)(jsdom@30.0.1)(msw@2.15.0(@types/node@26.2.0)(typescript@6.0.3))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) packages/docs: devDependencies: '@babel/core': - specifier: ^7.29.7 - version: 7.29.7(supports-color@7.2.0) + specifier: ^8.0.1 + version: 8.0.1 '@babel/preset-env': - specifier: ^7.29.7 - version: 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) + specifier: ^8.0.2 + version: 8.0.2(@babel/core@8.0.1) '@commercelayer/js-auth': - specifier: ^7.4.2 - version: 7.4.2 + specifier: ^8.0.0 + version: 8.0.0 '@commercelayer/sdk': specifier: 8.0.0-beta.11 version: 8.0.0-beta.11 '@mdx-js/react': specifier: ^3.1.1 - version: 3.1.1(@types/react@19.2.17)(react@19.2.7) + version: 3.1.1(@types/react@19.2.18)(react@19.2.8) '@storybook/addon-actions': specifier: ^9.0.8 version: 9.0.8 @@ -101,19 +114,19 @@ importers: version: 9.0.8 '@storybook/addon-docs': specifier: ^10.5.3 - version: 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@storybook/addon-essentials': specifier: ^8.6.18 - version: 8.6.18(@types/react@19.2.17)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 8.6.18(@types/react@19.2.18)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/addon-interactions': specifier: ^8.6.18 - version: 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/addon-links': specifier: ^10.5.3 - version: 10.5.3(@types/react@19.2.17)(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 10.5.7(@types/react@19.2.18)(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/addon-mdx-gfm': specifier: ^8.6.18 - version: 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0) + version: 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0) '@storybook/addon-measure': specifier: ^9.0.8 version: 9.0.8 @@ -122,67 +135,67 @@ importers: version: 9.0.8 '@storybook/addons': specifier: ^7.6.24 - version: 7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@storybook/api': specifier: ^7.6.24 - version: 7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@storybook/blocks': specifier: ^8.6.18 - version: 8.6.18(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 8.6.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/client-api': specifier: ^7.6.24 version: 7.6.24 '@storybook/client-logger': specifier: ^8.6.18 - version: 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/manager-api': specifier: ^8.6.18 - version: 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/node-logger': specifier: ^8.6.18 - version: 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/react': specifier: ^10.5.3 - version: 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0)(typescript@6.0.3) + version: 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0)(typescript@6.0.3) '@storybook/react-vite': specifier: ^10.5.3 - version: 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(esbuild@0.27.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@storybook/testing-library': specifier: ^0.2.2 version: 0.2.2 '@storybook/theming': specifier: ^8.6.18 - version: 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@types/js-cookie': specifier: ^3.0.6 version: 3.0.6 '@types/react': specifier: ^19.2.17 - version: 19.2.17 + version: 19.2.18 '@vitejs/plugin-react': specifier: ^6.0.3 - version: 6.0.3(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.0.5(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) babel-loader: specifier: ^10.1.1 - version: 10.1.1(@babel/core@7.29.7(supports-color@7.2.0)) + version: 10.1.1(@babel/core@8.0.1) js-cookie: specifier: '>=3.0.6' version: 3.0.8 msw: specifier: ^2.15.0 - version: 2.15.0(@types/node@25.9.5)(typescript@6.0.3) + version: 2.15.0(@types/node@26.2.0)(typescript@6.0.3) prop-types: specifier: ^15.8.1 version: 15.8.1 react: specifier: ^19.2.7 - version: 19.2.7 + version: 19.2.8 react-dom: specifier: ^19.2.7 - version: 19.2.7(react@19.2.7) + version: 19.2.8(react@19.2.8) storybook: specifier: ^10.5.3 - version: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 10.5.7(@types/react@19.2.18)(react@19.2.8) type-fest: specifier: ^5.8.0 version: 5.8.0 @@ -191,10 +204,10 @@ importers: version: 6.0.3 vite: specifier: ^8.1.5 - version: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + version: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) packages/document: dependencies: @@ -203,50 +216,50 @@ importers: version: link:../react-components react: specifier: ^19.2.7 - version: 19.2.7 + version: 19.2.8 react-dom: specifier: ^19.2.7 - version: 19.2.7(react@19.2.7) + version: 19.2.8(react@19.2.8) devDependencies: '@chromatic-com/storybook': specifier: ^5.2.1 - version: 5.2.1(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 5.3.0(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@commercelayer/js-auth': - specifier: ^7.4.2 - version: 7.4.2 + specifier: ^8.0.0 + version: 8.0.0 '@storybook/addon-docs': specifier: ^10.5.3 - version: 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@storybook/addon-links': specifier: ^10.5.3 - version: 10.5.3(@types/react@19.2.17)(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 10.5.7(@types/react@19.2.18)(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/addon-mcp': specifier: ^0.7.0 - version: 0.7.0(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3) + version: 0.7.0(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(typescript@6.0.3) '@storybook/addon-onboarding': specifier: ^10.5.3 - version: 10.5.3(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + version: 10.5.7(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@storybook/icons': specifier: ^2.1.0 - version: 2.1.0(react@19.2.7) + version: 2.1.0(react@19.2.8) '@storybook/react': specifier: ^10.5.3 - version: 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0)(typescript@6.0.3) + version: 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0)(typescript@6.0.3) '@storybook/react-vite': specifier: ^10.5.3 - version: 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(esbuild@0.27.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@types/js-cookie': specifier: ^3.0.6 version: 3.0.6 '@types/react': specifier: ^19.2.17 - version: 19.2.17 + version: 19.2.18 '@types/react-dom': specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.17) + version: 19.2.4(@types/react@19.2.18) '@vitejs/plugin-react': specifier: ^6.0.3 - version: 6.0.3(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.0.5(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) js-cookie: specifier: '>=3.0.6' version: 3.0.8 @@ -255,22 +268,22 @@ importers: version: 4.0.1(supports-color@7.2.0) storybook: specifier: ^10.5.3 - version: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 10.5.7(@types/react@19.2.18)(react@19.2.8) typescript: specifier: ~6.0.3 version: 6.0.3 vite: specifier: ^8.1.5 - version: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + version: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) packages/react-components: dependencies: '@adyen/adyen-web': specifier: ^6.41.0 - version: 6.41.0 + version: 6.42.0 '@commercelayer/core-components': specifier: workspace:* version: link:../core-components @@ -283,100 +296,97 @@ importers: '@commercelayer/sdk': specifier: 8.0.0-beta.11 version: 8.0.0-beta.11 + '@iframe-resizer/parent': + specifier: ^5.5.9 + version: 5.5.9 '@stripe/react-stripe-js': - specifier: ^6.8.0 - version: 6.8.0(@stripe/stripe-js@9.10.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + specifier: ^6.8.1 + version: 6.8.1(@stripe/stripe-js@9.13.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@stripe/stripe-js': specifier: ^9.10.0 - version: 9.10.0 + version: 9.13.0 '@tanstack/react-table': specifier: ^8.21.3 - version: 8.21.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@types/iframe-resizer': - specifier: ^4.0.0 - version: 4.0.0 + version: 8.21.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8) braintree-web: specifier: ^3.143.0 - version: 3.143.0 + version: 3.144.0 frames-react: specifier: ^1.2.4 - version: 1.2.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - iframe-resizer: - specifier: ^4.3.6 - version: 4.4.5 + version: 1.2.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8) rapid-form: - specifier: ^4.0.4 - version: 4.0.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + specifier: ^5.0.0 + version: 5.0.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) devDependencies: '@arethetypeswrong/cli': specifier: ^0.18.5 version: 0.18.5 '@babel/core': - specifier: ^7.29.7 - version: 7.29.7(supports-color@7.2.0) + specifier: ^8.0.1 + version: 8.0.1 '@commercelayer/js-auth': - specifier: ^7.4.2 - version: 7.4.2 + specifier: ^8.0.0 + version: 8.0.0 '@faker-js/faker': specifier: ^10.5.0 version: 10.5.0 '@playwright/test': specifier: ^1.61.1 - version: 1.61.1 + version: 1.62.1 '@rolldown/plugin-babel': specifier: ^0.2.3 - version: 0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@testing-library/dom': specifier: ^10.4.1 version: 10.4.1 '@testing-library/react': specifier: ^16.3.2 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@types/braintree-web': specifier: ^3.96.17 version: 3.96.17 '@types/node': - specifier: ^25.9.5 - version: 25.9.5 + specifier: ^26.2.0 + version: 26.2.0 '@types/react': specifier: ^19.2.17 - version: 19.2.17 + version: 19.2.18 '@types/react-test-renderer': specifier: ^19.1.0 version: 19.1.0 '@types/react-window': specifier: ^2.0.0 - version: 2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 2.0.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@vitejs/plugin-react': specifier: ^6.0.3 - version: 6.0.3(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.0.5(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@vitest/coverage-v8': specifier: ^4.1.10 - version: 4.1.10(vitest@4.1.5) + version: 4.1.10(vitest@4.1.10) babel-plugin-react-compiler: specifier: ^1.0.0 version: 1.0.0 jsdom: - specifier: ^29.1.1 - version: 29.1.1 + specifier: ^30.0.1 + version: 30.0.1 msw: specifier: ^2.15.0 - version: 2.15.0(@types/node@25.9.5)(typescript@6.0.3) + version: 2.15.0(@types/node@26.2.0)(typescript@6.0.3) react: specifier: ^19.2.7 - version: 19.2.7 + version: 19.2.8 react-dom: specifier: ^19.2.7 - version: 19.2.7(react@19.2.7) + version: 19.2.8(react@19.2.8) react-test-renderer: specifier: ^19.2.7 - version: 19.2.7(react@19.2.7) + version: 19.2.8(react@19.2.8) swr: - specifier: ^2.4.2 - version: 2.4.2(react@19.2.7) + specifier: ^2.5.1 + version: 2.5.1(react@19.2.8) tsdown: specifier: ^0.22.12 - version: 0.22.12(@arethetypeswrong/core@0.18.5)(oxc-resolver@11.24.2)(typescript@6.0.3) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(oxc-resolver@11.24.2)(typescript@6.0.3) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -385,13 +395,13 @@ importers: version: 6.0.3 vite: specifier: ^8.1.5 - version: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + version: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) vitest: specifier: '>=4.1.0' - version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@25.9.5)(@vitest/coverage-v8@4.1.10)(jsdom@29.1.1)(msw@2.15.0(@types/node@25.9.5)(typescript@6.0.3))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 4.1.10(@types/node@26.2.0)(@vitest/coverage-v8@4.1.10)(jsdom@30.0.1)(msw@2.15.0(@types/node@26.2.0)(typescript@6.0.3))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) packages/react-hooks-components: dependencies: @@ -399,68 +409,68 @@ importers: specifier: workspace:* version: link:../core-components swr: - specifier: ^2.4.2 - version: 2.4.2(react@19.2.7) + specifier: ^2.5.1 + version: 2.5.1(react@19.2.8) devDependencies: '@arethetypeswrong/cli': specifier: ^0.18.5 version: 0.18.5 '@babel/core': - specifier: ^7.29.7 - version: 7.29.7(supports-color@7.2.0) + specifier: ^8.0.1 + version: 8.0.1 '@commercelayer/sdk': specifier: 8.0.0-beta.11 version: 8.0.0-beta.11 '@rolldown/plugin-babel': specifier: ^0.2.3 - version: 0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@testing-library/react': specifier: ^16.3.2 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@types/react': specifier: ^19.2.17 - version: 19.2.17 + version: 19.2.18 '@types/react-dom': specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.17) + version: 19.2.4(@types/react@19.2.18) '@vitejs/plugin-react': specifier: ^6.0.3 - version: 6.0.3(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.0.5(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@vitest/coverage-v8': specifier: ^4.1.10 - version: 4.1.10(vitest@4.1.5) + version: 4.1.10(vitest@4.1.10) babel-plugin-react-compiler: specifier: ^1.0.0 version: 1.0.0 react: specifier: ^19.2.7 - version: 19.2.7 + version: 19.2.8 react-dom: specifier: ^19.2.7 - version: 19.2.7(react@19.2.7) + version: 19.2.8(react@19.2.8) tsdown: specifier: ^0.22.12 - version: 0.22.12(@arethetypeswrong/core@0.18.5)(oxc-resolver@11.24.2)(typescript@6.0.3) + version: 0.22.14(@arethetypeswrong/core@0.18.5)(oxc-resolver@11.24.2)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) vitest: specifier: '>=4.1.0' - version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@25.9.5)(@vitest/coverage-v8@4.1.10)(jsdom@29.1.1)(msw@2.15.0(@types/node@25.9.5)(typescript@6.0.3))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 4.1.10(@types/node@26.2.0)(@vitest/coverage-v8@4.1.10)(jsdom@30.0.1)(msw@2.15.0(@types/node@26.2.0)(typescript@6.0.3))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) packages: - '@adobe/css-tools@4.4.4': - resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} + '@adobe/css-tools@4.5.0': + resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==} - '@adyen/adyen-web@6.41.0': - resolution: {integrity: sha512-gun5iVsUGhqAysRwlT995jZArN8aNmZKYhY/xCtSFQJQQfayp1xGlZz3nviikzjlxWph1HPmeb+nw3GYNaTAew==} + '@adyen/adyen-web@6.42.0': + resolution: {integrity: sha512-LgRG7DukfirCS/sax6UcNt0D5cBIlgrrFbZRvG31ffy4ARZXwMIjZrKm6HuiaSuDtrFlOxmk6pAYQYeXVoc1VQ==} - '@andrewbranch/untar.js@1.0.3': - resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} + '@andrewbranch/untar.js@1.0.4': + resolution: {integrity: sha512-pVXSwPsLuw8IGLo2Di0EaOfsk+ntVvpkk942J/sHYIkwvtKUakEcPh7HBgZ6tuimgzKSEHgCvO4XgQ05DEbwDw==} '@arethetypeswrong/cli@0.18.5': resolution: {integrity: sha512-gM+8vRsQOD/Uc7EnBedUhkG5OCsDWE4uoak5QvomGpMpaky0Eh41p04nIMgrWb8EOmqZUJGc6zz9hsP6E56R7g==} @@ -471,113 +481,95 @@ packages: resolution: {integrity: sha512-9ytjzGwxjm9Uz7I9avfbt5vlQt6uk9uRRESzJjqrznl6WKvI6dwYTo+vJ3U02Wrq/mR3iql/PzhvHhKdJIAjDQ==} engines: {node: '>=20'} - '@asamuzakjp/css-color@5.1.11': - resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - - '@asamuzakjp/dom-selector@7.1.1': - resolution: {integrity: sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - - '@asamuzakjp/generational-cache@1.0.1': - resolution: {integrity: sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - - '@asamuzakjp/nwsapi@2.3.9': - resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} + '@asamuzakjp/css-color@6.0.7': + resolution: {integrity: sha512-vC/bk1Lz7Tn/EfU9/apOTBk80/8dyGyWMowPoV1tJ52muDGsDqt2HPT2klrFUiY60MQmQv9q8yIht15JnBgDGw==} + engines: {node: ^22.13.0 || >=24.0.0} - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} + '@asamuzakjp/dom-selector@8.3.2': + resolution: {integrity: sha512-93Z1N+BQNXysodoicpOIyNh2drHfz/CTf9nnT0FEx72GJcIiwgydD7tGAr78j41LsYn3hlRn+LdGPuBLn1Bl8Q==} + engines: {node: ^22.13.0 || >=24.0.0} '@babel/code-frame@7.29.7': resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.3': - resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} - engines: {node: '>=6.9.0'} + '@babel/code-frame@8.0.0': + resolution: {integrity: sha512-dYYg153EyN2Ekbqw2zAsbd6/JR+9N2SEoC7YV2GyyqMM7x9bLDTjBD6XBhSMLH0wtIVyJj03jWNriQhaN+eoCw==} + engines: {node: ^22.18.0 || >=24.11.0} '@babel/compat-data@7.29.7': resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} + '@babel/compat-data@8.0.0': + resolution: {integrity: sha512-DOjnob/cXOUgDOozCDeq/aK2p5y8dUIVdf6tNhEV1HQRd6I8aQ4f4fbtHRVEvb6lP3BGomrKHiS8ICAASSVQSw==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/core@7.29.7': resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.29.7': - resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} - engines: {node: '>=6.9.0'} + '@babel/core@8.0.1': + resolution: {integrity: sha512-5FgxM4dLQpMJHSiVATk8foW263dVHQHBVpXYiimNECVWG01f4nFyEbQixeT6Mwvg7TayREJ2gpKl3o2RoMdnqw==} + engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-annotate-as-pure@7.27.3': - resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.29.7': - resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} - engines: {node: '>=6.9.0'} + '@babel/generator@8.0.0': + resolution: {integrity: sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g==} + engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} - engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@8.0.0': + resolution: {integrity: sha512-NSpMkMsvvZqzThJ0p1B02cbtA2ObEyfBvq950bmNkyxsxvcxwhvvCB036rKhlEnuBBo30bOrk13u3FzlKSoRrw==} + engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-compilation-targets@7.29.7': resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.29.7': - resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-compilation-targets@8.0.0': + resolution: {integrity: sha512-JwculLABZvyPvyLBpwU/E/IbH2uM3mnxNtIJpxnIfb24y1PrdVxK5Dqjle4DpgqpGRnwgC7G8IkzPdSXZrO1Ew==} + engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-create-regexp-features-plugin@7.28.5': - resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} - engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@8.0.1': + resolution: {integrity: sha512-++t3ZktzlLmASAxIlxeXQK9Z2YwUafYGYcvGBFevqOqt16HozVHStUoQvWD09fzAZOb/uJGpUTBuGK41AJAuOA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/helper-create-regexp-features-plugin@7.29.7': - resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} - engines: {node: '>=6.9.0'} + '@babel/helper-create-regexp-features-plugin@8.0.1': + resolution: {integrity: sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/helper-define-polyfill-provider@0.6.8': - resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} + '@babel/helper-define-polyfill-provider@1.0.0': + resolution: {integrity: sha512-9jzVaTeZyXRDKTgUnNzcPQMO8y0ga3o+Z4fKjNet9Fcx7slgKa83qRbz0EwROSd6qO6CoEe/HQszqSPKb5lhkw==} + engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} + '@babel/core': ^7.4.0 || ^8.0.0 '@babel/helper-globals@7.29.7': resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.29.7': - resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} - engines: {node: '>=6.9.0'} + '@babel/helper-globals@8.0.0': + resolution: {integrity: sha512-lLozHOM6sWWlxNo8CYqHy4MBZeTvHXNgVPBfPOGsjPKUzHC2Az9QwB6gxdQmpwHl6GlQtbGgS+lj5887guDiLw==} + engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} - engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@8.0.0': + resolution: {integrity: sha512-xkXrMbtk87Gk7+oKBVmBc6EORg/Qwx++AHESldmHkpvG8wgccdhJJFwrzqlF382Fk8wfXhJHWE/g/43QvEGNPQ==} + engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-module-imports@7.29.7': resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-module-imports@8.0.0': + resolution: {integrity: sha512-NZ7mSS93o4ndX4KrbD7W8Sf3QT8Qe24PrnFyUcuOPDzK6faqDFKjY9RG7he7+I7FdiQ4llpnosFqzrXa+Vy3Ew==} + engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-module-transforms@7.29.7': resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} @@ -585,521 +577,522 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.29.7': - resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} - engines: {node: '>=6.9.0'} + '@babel/helper-module-transforms@8.0.1': + resolution: {integrity: sha512-UgAhl1kqiW5ciE0yCXqqvnb4H2n3IELJ7lIIQRezwDPilPEZX5i+Rvbja9MFTkwUn2biEiSMeV31aUzR4Lwakw==} + engines: {node: ^22.18.0 || >=24.11.0} + peerDependencies: + '@babel/core': ^8.0.0 - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} + '@babel/helper-optimise-call-expression@8.0.0': + resolution: {integrity: sha512-3W6satvtPuCUkUx63S2jMoW9EQNYkADgs1HTfufmL7gCmAulHMKupA/12WNz4A0GMMFn/YnWWwqOT9IZrJHQjg==} + engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-plugin-utils@7.29.7': - resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} - engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@8.0.1': + resolution: {integrity: sha512-3PKFgjTyPlhFhorfP+SjKQxLViIL++zWjFOO4hGriYU+Bsm983DxEM1JmDRJVWXV0O9npu+xXRqz7Pbd3mh70g==} + engines: {node: ^22.18.0 || >=24.11.0} + peerDependencies: + '@babel/core': ^8.0.0 - '@babel/helper-remap-async-to-generator@7.29.7': - resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} - engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@8.0.1': + resolution: {integrity: sha512-baAKuLEMmu6BCSY3tuiU7qglM1qOZt6F1SrFScA241oNqksxkxfEZEKztlGRmoVns9AQ5UgArH7RsUEjxWnzgQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/helper-replace-supers@7.29.7': - resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} - engines: {node: '>=6.9.0'} + '@babel/helper-replace-supers@8.0.1': + resolution: {integrity: sha512-B1SZADIcy3tmH8CmWvj4SHi/oAPom4UL3uknTc2QRNsPVLFk/sPnZvQL/8kj7Y5omvjMqie0vklvs6XM4OLW5Q==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': - resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} - engines: {node: '>=6.9.0'} + '@babel/helper-skip-transparent-expression-wrappers@8.0.0': + resolution: {integrity: sha512-xmCA9kP3IhySsqhzwIdWGlDN/1A4cCKNBO/uwZx/3YzmDoMePwno2Q5/Bq0q+tYaKbeF940YiKV/kaW8Mzvpjw==} + engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-string-parser@7.29.7': resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@8.0.0': + resolution: {integrity: sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-identifier@7.29.7': resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@8.0.4': + resolution: {integrity: sha512-4wFaiLd0bVo4cIoTXI3zKI038NIWE/cr3jvBjejOVYVxV/m8Ltav1USiGzG1fmS5J2RhgEOgXNNK46cRPnRsrg==} + engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-validator-option@7.29.7': resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.29.7': - resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} - engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@8.0.0': + resolution: {integrity: sha512-U4Dybxh4WESWHt5XhBeExi4DrY0/DNK1aHpQbsrQXCUbFHuMweT0TpLEWKvaraV2Y6fS+ZXunsZ8zIuZIgvF2Q==} + engines: {node: ^22.18.0 || >=24.11.0} + + '@babel/helper-wrap-function@8.0.0': + resolution: {integrity: sha512-Qpm8+wi5xfDkBfollanwriCcKniFfBmMmaKB01GVM6VGzKXo1fdxosZp04qEr5HM+LKhwr3hG1yRy8+ORsficA==} + engines: {node: ^22.18.0 || >=24.11.0} '@babel/helpers@7.29.7': resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.7': - resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + '@babel/helpers@8.0.0': + resolution: {integrity: sha512-wfbi91pM3py96oIiJEz7qIpyXDytgr9zQC1HEWwlGNVRAEmItuU/0a41ZUKu1sJGyhhOIpc4t5vk4PYzt8wpsg==} + engines: {node: ^22.18.0 || >=24.11.0} + + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': - resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': - resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': - resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': - resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/parser@8.0.4': + resolution: {integrity: sha512-srpptsAkEbbNIC/q8nT7o+m6CQe8CJUTV/t7MYc9NnWlgYVtHOb7JH6SorxMhN0kuRJjVqXbKClG6xSbPtzz+g==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': - resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@8.0.1': + resolution: {integrity: sha512-Ytgjjne4RnG3Oig7ik+NfY4ebRY30BPptVkkyu1f72eINJXRM3/bkU++tIc5aPvyLmo4KH20avq0xJ2o+9aEnw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.13.0 + '@babel/core': ^8.0.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': - resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-bugfix-safari-class-field-initializer-scope@8.0.1': + resolution: {integrity: sha512-X7pAMBhuKluA7UfwZNvKN0XVVu/AGeo84Z75eJl85rcb8J2aBzLK92btahM1X5h0oi0QIrbe0qIMA/0+4Buk7w==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@8.0.1': + resolution: {integrity: sha512-DJviKTxYfH0hFwnMiW4dnPyMGzS3Hrr4zUfXl1zwQ0QiGlGlNYklLoPSYEQr8S7nau0/K7NdQjTh0qbYuyFjCA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-syntax-import-assertions@7.29.7': - resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@8.0.1': + resolution: {integrity: sha512-DmR/N+B9+4PbURFj4+zdnWj49/PFAnK2bn8+E4ZAmwn3J5QCxnbG7Ep6aRfz9M8Aw+rBro0kIJQycvzFpl4buQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-syntax-import-attributes@7.29.7': - resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@8.0.1': + resolution: {integrity: sha512-x8bi0LFVD2xkULjfNn+hCMg16yAFHAM9fS/ThSFeYBi+0MP9K6qcY2BZb4urUwC7PYtEy5wPe6TKjOEjXrCGFA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@8.0.1': + resolution: {integrity: sha512-P8+RN2n7ts2s1vnE+lXdHYf+dhnmcGSen/kWzBsVluT9Sey5AqmcRXYWlHqgQxaNlKTD5YMa1tf5z4d1v8W88w==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-arrow-functions@7.29.7': - resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-arrow-functions@8.0.1': + resolution: {integrity: sha512-o/gr7kRlq3PKLLuYth4udOsrC7geBerti+QtwPeyxMOsEQO1d8kDHqk9r2PtMx2y9i8FG7tzyTerfv1yMLSMsQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-async-generator-functions@7.29.7': - resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-async-generator-functions@8.0.1': + resolution: {integrity: sha512-kqnSMF1YHBzuiQrl68675i5Ma1oljvo+SJsNEZFZVBu5BUrVIZm9KId3ui2PdtLK2sv2zM8sJnjPDfgLxQlEqQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-async-to-generator@7.29.7': - resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-async-to-generator@8.0.1': + resolution: {integrity: sha512-e1jmmEU4p2Lx64sA1+EF8e8/RxPuegzbXcEbmFp5alDyLE+f2ViUpZ77bRWMXzihTwgVVmn/TOpqDbAuS5g1Ew==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-block-scoped-functions@7.29.7': - resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-block-scoped-functions@8.0.1': + resolution: {integrity: sha512-0V97/gcf7LIgPieEiK1YT0eXa18XJFSLOTZjzEZhA9SJIqZhD/IwGUrCitBzXSmnGCP7hchwC6svHtJ/Eidcpg==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-block-scoping@7.29.7': - resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-block-scoping@8.0.1': + resolution: {integrity: sha512-HxiQvKsSCs2jOmMhjDrooHaZYOy6W8bqwXp/zjdgPjsNrda6tK9/CH3a/cVIeg6ge3hSS02ALqvqgIo4rTsuSg==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-class-properties@7.29.7': - resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-class-properties@8.0.1': + resolution: {integrity: sha512-tORnYiVhIHnKj90TgbSZXrO24f9oEpA6MgFxpIDSKKlHv7AzBIRhkMlYevanueLNYaQXqZWarfCgXM4bWTfNiw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-class-static-block@7.29.7': - resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-class-static-block@8.0.1': + resolution: {integrity: sha512-NEVK+L0Le8h8tJ+IK0CGS5y9Yi1ZHxLj6M5PeanhMFuq9aSo0XI+Wtmbuyop6fTNukOm7ORNntf/kwid891vqQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.12.0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-classes@7.29.7': - resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-classes@8.0.1': + resolution: {integrity: sha512-phwyCES8kIMAdVOFw25ztmgAvkl2G+TvUv7azUYyrlR1Qoo3eLJC/MU3MGUKFZ4BWtsJ1NTJM1lKRLzKbswg7w==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-computed-properties@7.29.7': - resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-computed-properties@8.0.1': + resolution: {integrity: sha512-i4l3OGLO8DUDcwdnyraOvILbhqdUf4QgfzhVxSOSzRy49XKXrY7pwaSg9gDSKmhZfNPrEMciBSJSciQh/CjB1A==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-destructuring@7.29.7': - resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-destructuring@8.0.1': + resolution: {integrity: sha512-RtR8uLDl0QcCmqMNIkM8gmDeYZ3rS0ZH+sa+I6sfc09yFoqfp9AEPgBstq9KyfVb0lFCVSRFfJXCI70FIl5ccw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-dotall-regex@7.29.7': - resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-dotall-regex@8.0.1': + resolution: {integrity: sha512-czOUoSaZljJ92yu+bYlXqb/UBN8K9daNCob/B6/7nthSvfGP6YhCnfqD64XWfyb2dN4ypxALNplApoJrsMd4fw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-duplicate-keys@7.29.7': - resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-duplicate-keys@8.0.1': + resolution: {integrity: sha512-kNnVLkxFUEcTtCyB5PFVQ5Xoy88Bk1lU/ZgDu97CW8eNhRH2Wsiy8Sq5l5dFnwtIUYjzsXHU77jUy1W5AtGSIw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': - resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@8.0.1': + resolution: {integrity: sha512-Tv43P47o6fuHgBL7HLHQg3WKXohW9CEUGjLtnCDW27yJLK0zKUdTTqREbZbycNHA83hewMjde5tF6ekrHu9bAA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-dynamic-import@7.29.7': - resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-dynamic-import@8.0.1': + resolution: {integrity: sha512-AS9GlgKc43tJNRu7yOvLaTko4qmdOb+8M69uNS8i421WLO20eVez7LdG5khKdi8E0LIQpYzzzdGIrdXWnO753g==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-explicit-resource-management@7.29.7': - resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-explicit-resource-management@8.0.1': + resolution: {integrity: sha512-VzDIYwBlLCpV6mJfloRdJm8HmYnMqs7O+bGha8yfg2kP7jAdxeCw6yZBVBeaKKQUThtSU52iy+3lB7DhYsbOBA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-exponentiation-operator@7.29.7': - resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-exponentiation-operator@8.0.1': + resolution: {integrity: sha512-DsZvUUklUmDQ7d2vp+VjqgUWD51mGxhZZ1FPdPP9Hcj0vsgGUKX+zEBGp/vzB1O5PZUxWT/Euq5fu39M9dm9wg==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-export-namespace-from@7.29.7': - resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-export-namespace-from@8.0.1': + resolution: {integrity: sha512-bFzznm46bvWGaTYKle3iolbBJ+oPBfUjwCPesxlFE3SQ7DaY9EHf/8Y5ZzrodKJi8JDdcAyaVWaDUSVyhULh0g==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-for-of@7.29.7': - resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-for-of@8.0.1': + resolution: {integrity: sha512-rpeXtgELjpIBQH/+YmyFlD9timPEVCyqY+TNednzoeoTYvXSBEeUvYnYE+BK8rB8m6hHiNK7aL9QWKhGifEJCw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-function-name@7.29.7': - resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-function-name@8.0.1': + resolution: {integrity: sha512-H1L/JfPf3CqmubuaiZaquXKQ8MRs4YWSsgRllkTviM8TafcCNnlvc4/fJZ3rXP8HmFM+/Bg+TlsPehUI9BtDFA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-json-strings@7.29.7': - resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-json-strings@8.0.1': + resolution: {integrity: sha512-Mowp8X0J6p7ZehLU82B5e65te2uuSeDHyxrEROwEAS2VKXNXssfw5ZMqhY7k9iXTsOv1Xs/49G3lDCj9Vvw8qQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-literals@7.29.7': - resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-literals@8.0.1': + resolution: {integrity: sha512-ai7kfPRcfyUV1EszXoF1PvL3IuJoCuH08WSEPoRcJTWfZZ55VL/rcfvbVY16QLA3jjbzzSneQSoCtD3L6OyUjw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-logical-assignment-operators@7.29.7': - resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-logical-assignment-operators@8.0.1': + resolution: {integrity: sha512-Emvtr5zkEGyCNAmt+qKD5EUh8G0RbxV9EZWrDdX0LuVy5tBq1B3fOIslvVF9aCJmpnwS/AvAT53b9LxAZyXlng==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-member-expression-literals@7.29.7': - resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-member-expression-literals@8.0.1': + resolution: {integrity: sha512-3Axi9abnyGsm/hh6DsKPZ1Cr9fTtKqS7w0Ig5g12mU269YclpH8pV3xMln2vPLexXgUp6S6L+I06d9/YOLfRKA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-modules-amd@7.29.7': - resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-modules-amd@8.0.1': + resolution: {integrity: sha512-FDdhET8y1YFDNRuoynqSf23WTzbBBpbIB2oRrlFX7YYm9uWtFvJDSD1r/epBSjfPkOjeaaLgRW9xNnt3JGx46A==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-modules-commonjs@7.29.7': - resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-modules-commonjs@8.0.1': + resolution: {integrity: sha512-PMuzulWrrzFNmY3lXSk/tV9NRb7y0eZZLJY4UEo2TKszroxvUZHAPPi+T9FDyrQhod+TQA+t+8/QYaaMpiEuhA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-modules-systemjs@7.29.4': - resolution: {integrity: sha512-N7QmZ0xRZfjHOfZeQLJjwgX2zS9pdGHSVl/cjSGlo4dXMqvurfxXDMKY4RqEKzPozV78VMcd0lxyG13mlbKc4w==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-modules-systemjs@8.0.1': + resolution: {integrity: sha512-0NEHanXmnFEnfT2dLKTXnu7m8GXFsnxRgteBC2aH21hYMBwAgxu5dcTdi/Eg+ToI1HbZe0CHwz4XRLgRNQhYoQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-modules-umd@7.29.7': - resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-modules-umd@8.0.1': + resolution: {integrity: sha512-XKTa2J2MdkmbVEeChq9f7Or0VYcsF0NyVBgytRyeN9F+J+ETAB2SHhfkG4toz/ssuU0i+h/QgJ6ddo5YakSQcA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': - resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-named-capturing-groups-regex@8.0.1': + resolution: {integrity: sha512-zCHu+Jr2gTdJE48lN9SV/kXueCW2M79mKtKJc/ttfzzr/jvgdQdCd17RADMqFRQc/25MLxdtjTmlD0HSAMOlIQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-new-target@7.29.7': - resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-new-target@8.0.1': + resolution: {integrity: sha512-QSQxVg1x4PuOuhWUs4Y9u+x9Y+ER8z6G3tC+bDLBzvoOrNLJrEBQLRnwrTP8e5klihAw6Z+e9X5RjdAKcAGapA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': - resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-nullish-coalescing-operator@8.0.1': + resolution: {integrity: sha512-AgCJAmQLF7+PtsK79wJqr4xJ2StHCXlz7JL5CVFP4HejJx25Tk6yl1ZrXvi0cKh3VGDVnfVxefxnrpsBirgpyQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-numeric-separator@7.29.7': - resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-numeric-separator@8.0.1': + resolution: {integrity: sha512-it2DmUyLIA1GQUXlFDEnI+/G89mTgxndnAiZYpW8xYR6LboblfirMqiWJeTna5uypQJg7viTT4D1iEURRtFcfw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-object-rest-spread@7.29.7': - resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-object-rest-spread@8.0.1': + resolution: {integrity: sha512-VmxkDu6bBdbxRzqn6E93hYucug4OVa6svSO19W//vVzNUGAmQzk3QRyHyyEtfcjSLR3NWfRsWwVM9zExLmd+2w==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-object-super@7.29.7': - resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-object-super@8.0.1': + resolution: {integrity: sha512-fDkPXRTRKGm25bAq01q82UM4ypPqdVXCwphUUm4t1dL01fGIG0v8KRvT+4BjhMAtRxtPuI34t5Vs7yjRgs3ZgQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-optional-catch-binding@7.29.7': - resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-optional-catch-binding@8.0.1': + resolution: {integrity: sha512-b2OQ74uGliyATcasTjxGy2O/86UI/n+EN4juB4EMfEwTi9j9uq70PuP0L8fW77vfRY66gO/YoTo/WbIdQ/Si1g==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-optional-chaining@7.29.7': - resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-optional-chaining@8.0.1': + resolution: {integrity: sha512-WtRS1c94lZGpGHxYLXMEWeoMVcuv8nkiyr8BTs6OYZv7N3Y9xVE8nbdFIl4lDJH6aH8/pLhqAQOL69d/WI9WdA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-parameters@7.29.7': - resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-parameters@8.0.1': + resolution: {integrity: sha512-IIwRqroW0CYQwR6+3pnmu27z+H98poScWdnov8z6osumMeEsFxAFBBsDS2CFk2jFpPlGqVr89jK/HXO6i5DzxQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-private-methods@7.29.7': - resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-private-methods@8.0.1': + resolution: {integrity: sha512-TrFCGcXaVDh6S5IRhmLSRTY9H80VTCMQWnZtzBRg4RWg3KCLmdmsmj4M15kZAPZfoPkWL/SJb4em3Py/vOiX8g==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-private-property-in-object@7.29.7': - resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-private-property-in-object@8.0.1': + resolution: {integrity: sha512-e+yfOqSYBZaf3PARpiQkjZrpWYgmcFLhK+1tevh2CpHR1O9/36IdyPnAZusESX5nzVV/XZTDAtQBRLa8HPT5Dw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-property-literals@7.29.7': - resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-property-literals@8.0.1': + resolution: {integrity: sha512-Z/qx4cxUtYR1nt7XWRutObPxDks98fEYsjWbVeKEqZH6y3AGknmgzCqmHf2FHWZCl1DfoPeuJY+3hZ+35D+2tg==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-regenerator@7.29.7': - resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-regenerator@8.0.2': + resolution: {integrity: sha512-aFfsjCRYducRV4dPnpsBbdRkLjboca9FVDg6HZCgy0Ahvk2ZQ/2exmCRC5qS9P6rsWwrmIheNaIM6A1j2F8KMA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-regexp-modifiers@7.29.7': - resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-regexp-modifiers@8.0.1': + resolution: {integrity: sha512-02ITRDBesPdTYU0oShAzERwEPzozOUQSXlz3qrt8JGuhalBJQv9z5NjgHJPC9sS3Fsam8gDtfAEpBnqZwUIdjQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-reserved-words@7.29.7': - resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-reserved-words@8.0.1': + resolution: {integrity: sha512-+aykZi7ZP3U84veqfJXm3HhPZGddWFi64g7jr0ni6tb1zel+1ey+SL+IRKPoZXFyFqvYEsoqrmx4PyEJRlHl/Q==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-shorthand-properties@7.29.7': - resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-shorthand-properties@8.0.1': + resolution: {integrity: sha512-JddANd9yPVH8dYgVoNkqAH5BftnsDxFpG51Zas7sc6F3poz5QWcejHNGO8a/57IX5ByjGSzEmYk9Z7ZMa5MWaw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-spread@7.29.7': - resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-spread@8.0.1': + resolution: {integrity: sha512-O9Bw9FyxlSw1SlMg3S82/GKNZ0x77RPbHezotEy1JTlIM/vk6WO8jW1iF+iTiKLOXNvi+b+LZ9t77Gi+Q0FhGg==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-sticky-regex@7.29.7': - resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-sticky-regex@8.0.1': + resolution: {integrity: sha512-IsVP6WrZZQdaG2zLmeKwWiI+ua2NB5L1+f77C2/8z2NCDz7uxlIA/lnwocYOJk9PXcOC2sZgRls3LN4XpNduzQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-template-literals@7.29.7': - resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-template-literals@8.0.1': + resolution: {integrity: sha512-JXvtj5+BJA9Qv3prDzW2z2DkGTJNmG0BObTdUD03STiu1Jr4fNQkQy3hYZgPL46a2RjcuhwBMYf49BOuJ98gnA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-typeof-symbol@7.29.7': - resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-typeof-symbol@8.0.1': + resolution: {integrity: sha512-+wJoxgxP2gtey0UMUOMhzMMji2XHO/Uu6MXUh/r5Yhc2jngKzK/wFxY2WNe4UCaRcMvCb4gcnB8wIgFXJsocXg==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-unicode-escapes@7.29.7': - resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-unicode-escapes@8.0.1': + resolution: {integrity: sha512-TAXJepIJ6vZphytTwcf+LuXi2M2ZWI43VCqNw+1ZZLPP/38Z1A8j4Mahvg8kqDgMOSM/cakk+hedTJCiw3jQuQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-unicode-property-regex@7.29.7': - resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-unicode-property-regex@8.0.1': + resolution: {integrity: sha512-zjBN9tSMSuomNDfurL69Gf7+v4D2t5uI1mSZaYJDo88SKpbduhCXqtxH7Tx66iCF6caWYwnBzSM0tnCozmQq5Q==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-unicode-regex@7.29.7': - resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-unicode-regex@8.0.1': + resolution: {integrity: sha512-v0oO83cvT5lwbcIVRShpx4vaHD8AvM9IBowsQuTeP+kGmhh3recJQs33Bl6dlo3/2g9amlznLbFGn4VJbPCJqA==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/plugin-transform-unicode-sets-regex@7.29.7': - resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} - engines: {node: '>=6.9.0'} + '@babel/plugin-transform-unicode-sets-regex@8.0.1': + resolution: {integrity: sha512-MlQeyS0K7gh0XNeLBMS/3Z07HjDOKhA7xm2L18GyxOXyiFHI9E+ZuQ4mFYmcLjluXsE/Wf6dABIqZvKpKw0Z3w==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^8.0.0 - '@babel/preset-env@7.29.7': - resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} - engines: {node: '>=6.9.0'} + '@babel/preset-env@8.0.2': + resolution: {integrity: sha512-CUGLn9hNBCF/eXnwdFAWERbniCcXCRvnKwLV9fegeUEIqv7YlU2MepsWMMM54GcILx5XYMnRh+JAL+K5G+mK6g==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^8.0.0 - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + '@babel/preset-modules@0.2.0': + resolution: {integrity: sha512-yz0RBN2fx4fjCeFcTWsWgL7PxSRltvTa0Qg14HkWCU3qS8MO7ZSJlBVbGceynd5C9NsJwwUHNQD3dc6tYO+jqQ==} peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/runtime@7.26.10': - resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} - engines: {node: '>=6.9.0'} + '@babel/core': ^8.0.0 - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} engines: {node: '>=6.9.0'} '@babel/template@7.29.7': resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} - engines: {node: '>=6.9.0'} + '@babel/template@8.0.0': + resolution: {integrity: sha512-eAD0QW/AlbamBbw0FeGiwasbCVPq5ncW0HNVyLP3B9czqLyh4gvw+5JTSNt6le9+ziAU7mqDZsKTHf3jTb4chQ==} + engines: {node: ^22.18.0 || >=24.11.0} - '@babel/traverse@7.29.7': - resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} engines: {node: '>=6.9.0'} - '@babel/types@7.29.7': - resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + '@babel/traverse@8.0.4': + resolution: {integrity: sha512-bZnmqzGG8UZneG1lLxBoWIH0G6Gr1D846Yu4/3XnY6FhCndMR49u26nTY08u/dAxWmLWF9vGQOuC+84FfIUoeg==} + engines: {node: ^22.18.0 || >=24.11.0} + + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} engines: {node: '>=6.9.0'} + '@babel/types@8.0.4': + resolution: {integrity: sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g==} + engines: {node: ^22.18.0 || >=24.11.0} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@biomejs/biome@2.5.4': - resolution: {integrity: sha512-xy5FNE5kQJKyK5MR1gJy6ztXYx4WBAbYGlK04lMEgmyPRWKybY9NFwiG9yo0XdzOU8Xvhj41u034J1ywfoWfMw==} + '@biomejs/biome@2.5.8': + resolution: {integrity: sha512-aeAeeJB9fSDc7Gq+2GqpQxA0qBj6gj1k2R6L1cYqGePKP/baIq1WX8y6B+D+nRsO5ViQL22K/8IwbqERW0q1nw==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@2.5.4': - resolution: {integrity: sha512-4o3NFRobXHynkgcFVrlZsoDAFtF2ldlEGN8sORSws5ZQqyY4PXnPUIylu4ksfyHuwkfvDREuWh3JK+niRwGq3w==} + '@biomejs/cli-darwin-arm64@2.5.8': + resolution: {integrity: sha512-mk1QON9PHllvvLN5gU3f4rMxeh4syK5p9OvKyWH6/W8ueh04uaC8TUXXByhGufWf/y5mQc03ZLM45zU+cmqMjA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@2.5.4': - resolution: {integrity: sha512-D32P5HkU2Y6PySuC/WsVDTOgsDwVFmujzhhhOQjajtATpVWFDXuVd3oRbsWNSEA+aaFzyzZm22szsyydBYlSyQ==} + '@biomejs/cli-darwin-x64@2.5.8': + resolution: {integrity: sha512-bsGwFMBNyHPyiLSsQcZJxdoRrg1V4JL+d7wEsvUBczlP9U9lwM+7mzQHxI4o1mhBsTmdOBbAb6fHU3Z3snN45w==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@2.5.4': - resolution: {integrity: sha512-Rpm5/AT1m+DlJmUoYvS4/vXc+0tXJPJ2NQz25TGPyHVF5JrWy75PE0GH6kVxsKtQDuCH4OgzquZq0R4kj/wCVg==} + '@biomejs/cli-linux-arm64-musl@2.5.8': + resolution: {integrity: sha512-VcJNbstduTHx83NGAdhp78/JOcP45BZHXL7yNsfI1uGzdUgegAz2s+mSoT7wK6PBNzLoqG0zDOXaz/RQYVtSiw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] libc: [musl] - '@biomejs/cli-linux-arm64@2.5.4': - resolution: {integrity: sha512-pSEfW7B8kTsXUjUxC1xVVK+y85Ht3C5XxZ9gclmC7/3Ku9Vqz8jmI7k0p/BNIjQ6t4sFERI2sFeH73ybiZl6YQ==} + '@biomejs/cli-linux-arm64@2.5.8': + resolution: {integrity: sha512-XmFiA0WPYFC+uiUDC8WRFzAIH9bo7vwQLav38Uoq4ETC+T/+uBi0TsYGJECkugY3r8USl3jc+Ae2/irAF6F2lQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] libc: [glibc] - '@biomejs/cli-linux-x64-musl@2.5.4': - resolution: {integrity: sha512-aby/PohmmgbShcHqFsZVzG8H6D98+P+A6xRWRrQcLW1pCjabcov5UUlke4UqNQBYTkDQav+jB4zyyDDeKB2GaA==} + '@biomejs/cli-linux-x64-musl@2.5.8': + resolution: {integrity: sha512-kKmiyokeISRGq2FLwvr+TzsgBusfxaZ0FZNLcOYOpCK/78tRrEjeEBLvq3xLZMpqbANgJdRPI7vZX8ZL37u9/w==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] libc: [musl] - '@biomejs/cli-linux-x64@2.5.4': - resolution: {integrity: sha512-FNxojWJkL7EajAuzBgoLe0T2G0y112M4lBrDIFl/DomFTx8yqenYOIdsRLNXvOvBBofE8hJi85LjzLmBDpY7/Q==} + '@biomejs/cli-linux-x64@2.5.8': + resolution: {integrity: sha512-S5wcm9OBDvLHodD4PUaN488hCpco9QD/9ZxuYJiw4euWtr/oQvLR72z2ixItH8Wd5BCm6FZaeb+YNvOoM1xHtQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] libc: [glibc] - '@biomejs/cli-win32-arm64@2.5.4': - resolution: {integrity: sha512-emoXexPZIPAZkz2RKmA95WJUqK3I5MJNYtwEbL5ESciRzhmFMMyekDhNG8hpeOaK+ZGRDxAU4wvGuA5IHQ0h0w==} + '@biomejs/cli-win32-arm64@2.5.8': + resolution: {integrity: sha512-nILH0mzm3Hi3iEdd7o7GpB8kBR/mSQwfQG/tyBqyNrY2GFtcgwfV9nV8xLmbtUpMNY/Oi0Ml1XgfR4flOdq+AA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@2.5.4': - resolution: {integrity: sha512-U1jaluLw1qQc2Tx7/CeSoL9N5XcqIH+GWjpUAy1ouB5nVjSCMNO+NNHdY3RAs8zxNurLWAdj6pehQdCA2zyU+Q==} + '@biomejs/cli-win32-x64@2.5.8': + resolution: {integrity: sha512-I2czzXTY61f3nFJxXoMDq80t7MivxDEnCjE+8sDKoFfcKMaoQdkqhIFQ3KyY0XLzeSpUBYeNAXgD+iOV/BU0VA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -1131,9 +1124,6 @@ packages: '@braintree/sanitize-url@7.0.4': resolution: {integrity: sha512-hPYRrKFoI+nuckPgDJfyYAkybFvheo4usS0Vw0HNAe+fmGBQA5Az37b/yStO284atBoqqdOUhKJ3d9Zw3PQkcQ==} - '@braintree/uuid@1.0.1': - resolution: {integrity: sha512-Tgu5GoODkf4oj4aLlVIapEPEfjitIHrg5ftqY6pa5Ghr4ZUA9XtZIIZ6ZPdP9x8/X0lt/FB8tRq83QuCQCwOrA==} - '@braintree/uuid@2.0.0': resolution: {integrity: sha512-4pv311AIfmU57aUh1w0SvtT5g8O+chQmetpMDoeLAGQzGMqp/eQA9YlHLR1/4xt6kpVgUMqG3ooJDijG69HB1Q==} @@ -1144,8 +1134,8 @@ packages: resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} hasBin: true - '@chromatic-com/storybook@5.2.1': - resolution: {integrity: sha512-z6I7NJk/0VngA64y5TNYaB4Hc2X8+90n4op6lBt9PvWk5TmIlFLDqdX33rlrwbNRkkYijVgA/wO04rVYXi5Mlg==} + '@chromatic-com/storybook@5.3.0': + resolution: {integrity: sha512-gMAfVYJnF/tjdY8C3Q54KYz/low2NFjPIZMpCqSFuMUiTJ2DNWCTb7mFhuuzZ1iduWFDhewlJyilFmvKcEDYRA==} engines: {node: '>=20.0.0', yarn: '>=1.22.18'} peerDependencies: storybook: '>=10.3.6' @@ -1158,6 +1148,10 @@ packages: resolution: {integrity: sha512-ifRcoAL1R7o5AU5w4bgmSnNMEWXDc11A+yZwAAZMEkAYrrsaud1X/3xmgY1e0yIXK8AAdIiqfW/Rm/4DdWwAQA==} engines: {node: '>=20.0.0'} + '@commercelayer/js-auth@8.0.0': + resolution: {integrity: sha512-IVu8hF7fzg9vVotBj0eeSWY20/jiKmNkT7DFXHTITTNNCmgotSEyepQfLtZWsoriDhQacYfLyrAKDkXKVI0tQQ==} + engines: {node: '>=20.0.0'} + '@commercelayer/organization-config@2.8.4': resolution: {integrity: sha512-ZlgIhQx7vu89ZD3eOCSkCe7kNb5LgEGy0p4Gayi75sxfHfJRXKkoX2NC+nkp2pFosi4SBYhlQFcd/EtzStAQGw==} engines: {node: '>=18', pnpm: '>=7'} @@ -1166,19 +1160,35 @@ packages: resolution: {integrity: sha512-EhbpwW8GOsty1H3/YiEDzPZDKuvoXW9nMbrnkFQ5+sSgEiSkFXDM/tFxImkwagX7PbHKyHHaEBn5SoAPiNBwtw==} engines: {node: '>=20'} - '@csstools/color-helpers@6.0.2': - resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} + '@conventional-changelog/git-client@3.1.2': + resolution: {integrity: sha512-jZqwnJwf7nboIlAcw/mkOjVa6DexCcUOgT2oOQgkoi3z9vR8tGFkcMy2BFcYwjhL9sYcDDXkRQDayiDieCoW7A==} + engines: {node: '>=22'} + peerDependencies: + conventional-commits-filter: ^6.0.1 + conventional-commits-parser: ^7.1.2 + peerDependenciesMeta: + conventional-commits-filter: + optional: true + conventional-commits-parser: + optional: true + + '@conventional-changelog/template@1.3.0': + resolution: {integrity: sha512-GsCw/qu92GI0EX6s7fxUi/SG1lmFjG9XZivxxEDZXqztuQKCn5o5wKdz4v005zci0Md7EZzgAwmQLoIEDZoaow==} + engines: {node: '>=22'} + + '@csstools/color-helpers@6.1.0': + resolution: {integrity: sha512-064IFJdjTfUqnjpCVpMOdbr8FLQBhinbZj6yRv2An2E41O/pLEXqfFRWqGq/SxlE5PEUYTlvWsG2r8MswAVvkg==} engines: {node: '>=20.19.0'} - '@csstools/css-calc@3.2.0': - resolution: {integrity: sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==} + '@csstools/css-calc@3.3.0': + resolution: {integrity: sha512-c5ihYsPkdG6JCkU2zTMm4+k6r7RXuGxtWYhu5DHMIiF1FHzrfmHL5so11AoFpUv/tu61xfcmT4AmKoFfMPoqdQ==} engines: {node: '>=20.19.0'} peerDependencies: '@csstools/css-parser-algorithms': ^4.0.0 '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-color-parser@4.1.0': - resolution: {integrity: sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==} + '@csstools/css-color-parser@4.1.10': + resolution: {integrity: sha512-UZhQLIUyJaaMepqehrCODwCg2KW25vFvLWBmqYFaPclYvvxzj/sG8LBOhBFCp11i9uE7t1EyS+RAoV9tztPFyw==} engines: {node: '>=20.19.0'} peerDependencies: '@csstools/css-parser-algorithms': ^4.0.0 @@ -1190,8 +1200,8 @@ packages: peerDependencies: '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.1.3': - resolution: {integrity: sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==} + '@csstools/css-syntax-patches-for-csstree@1.1.7': + resolution: {integrity: sha512-fQ+05118eQS1cofO3aJpB5efgpBZMvIzwr/sbC8kDLVA5XLG8q1kJV5yzrUAI1f7lvhPnm8fgIjzFB8/O/5Dig==} peerDependencies: css-tree: ^3.2.1 peerDependenciesMeta: @@ -1202,32 +1212,26 @@ packages: resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} engines: {node: '>=20.19.0'} - '@emnapi/core@1.11.1': - resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} - '@emnapi/core@1.11.2': resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} - '@emnapi/core@1.3.1': - resolution: {integrity: sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==} + '@emnapi/core@1.4.5': + resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} '@emnapi/core@1.9.2': resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} - '@emnapi/runtime@1.11.1': - resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} - '@emnapi/runtime@1.11.2': resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} - '@emnapi/runtime@1.3.1': - resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@emnapi/runtime@1.4.5': + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} '@emnapi/runtime@1.9.2': resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} - '@emnapi/wasi-threads@1.0.1': - resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} + '@emnapi/wasi-threads@1.0.4': + resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} @@ -1240,164 +1244,164 @@ packages: peerDependencies: react: '>=16.8.0' - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@exodus/bytes@1.15.0': - resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==} + '@exodus/bytes@1.15.1': + resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} peerDependencies: '@noble/hashes': ^1.8.0 || ^2.0.0 @@ -1409,17 +1413,23 @@ packages: resolution: {integrity: sha512-bsxD8WLS5lIj7aaoCx1YJkktqYj5vlBUE6HWzu2Q51ksrGJ0H737ECCKlFU7Yf8Br45z9t99frBp/J7kzbMPAg==} engines: {node: ^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0, npm: '>=10'} - '@hutson/parse-repository-url@3.0.2': - resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} - engines: {node: '>=6.9.0'} + '@gar/promise-retry@1.0.3': + resolution: {integrity: sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@iframe-resizer/core@5.5.9': + resolution: {integrity: sha512-HacDQx81pgHlmY48tRogcX02TOXfvjllJzI+xfVYmvEXhxoViyi9yEobhNQEt8Mq6NmrH1vHhz6FRfQ9uBTsjQ==} + + '@iframe-resizer/parent@5.5.9': + resolution: {integrity: sha512-DfNb9KlOf7WyCNOM2xWPGxJfWtqA/gg7sjHvqvD4k6cfpntPXrKfCd3WdOPNKA980urGkhOdM9Ye0unV2gnYYw==} '@inquirer/ansi@1.0.2': resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} engines: {node: '>=18'} - '@inquirer/ansi@2.0.5': - resolution: {integrity: sha512-doc2sWgJpbFQ64UflSVd17ibMGDuxO1yKgOgLMwavzESnXjFWJqUeG8saYosqKpHp4kWiM5x1nXvEjbpx90gzw==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/ansi@2.0.7': + resolution: {integrity: sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} '@inquirer/checkbox@4.3.2': resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} @@ -1439,9 +1449,9 @@ packages: '@types/node': optional: true - '@inquirer/confirm@6.0.12': - resolution: {integrity: sha512-h9FgGun3QwVYNj5TWIZZ+slii73bMoBFjPfVIGtnFuL4t8gBiNDV9PcSfIzkuxvgquJKt9nr1QzszpBzTbH8Og==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/confirm@6.1.1': + resolution: {integrity: sha512-eb8DBZcz/2qHWQda4rk2JiQk5h9QV/cVHi1yjt0f69WFZMRFn0sJTye3EAP8icut8UDMjQPsaH5KbcOogefrFQ==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1457,9 +1467,9 @@ packages: '@types/node': optional: true - '@inquirer/core@11.1.9': - resolution: {integrity: sha512-BDE4fG22uYh1bGSifcj7JSx119TVYNViMhMu85usp4Fswrzh6M0DV3yld64jA98uOAa2GSQ4Bg4bZRm2d2cwSg==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/core@11.2.1': + resolution: {integrity: sha512-Qd6GJT1yVyrZZCfN8W2qKF5ApmqryXRhRKCuip8h01x2w/esJQ2XIYc6f9abMIHgKQdBfFTSOdbHRLAhuM09UA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1497,9 +1507,9 @@ packages: resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} engines: {node: '>=18'} - '@inquirer/figures@2.0.5': - resolution: {integrity: sha512-NsSs4kzfm12lNetHwAn3GEuH317IzpwrMCbOuMIVytpjnJ90YYHNwdRgYGuKmVxwuIqSgqk3M5qqQt1cDk0tGQ==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/figures@2.0.7': + resolution: {integrity: sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} '@inquirer/input@4.3.1': resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} @@ -1573,18 +1583,18 @@ packages: '@types/node': optional: true - '@inquirer/type@4.0.5': - resolution: {integrity: sha512-aetVUNeKNc/VriqXlw1NRSW0zhMBB0W4bNbWRJgzRl/3d0QNDQFfk0GO5SDdtjMZVg6o8ZKEiadd7SCCzoOn5Q==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/type@4.0.7': + resolution: {integrity: sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/cliui@9.0.0': + resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} + engines: {node: '>=18'} '@isaacs/fs-minipass@4.0.1': resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} @@ -1597,14 +1607,6 @@ packages: resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/get-type@30.1.0': - resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/schemas@30.0.5': - resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0': resolution: {integrity: sha512-qvsTEwEFefhdirGOPnu9Wp6ChfIwy2dBCRuETU3uE+4cC+PFoxMSiiEhxk4lOluA34eARHA0OxqsEUYDqRMgeQ==} peerDependencies: @@ -1630,8 +1632,8 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@loaderkit/resolve@1.0.4': - resolution: {integrity: sha512-rJzYKVcV4dxJv+vW6jlvagF8zvGxHJ2+HTr1e2qOejfmGhAApgJHl8Aog4mMszxceTRiKTTbnpgmTO1bEZHV/A==} + '@loaderkit/resolve@1.0.6': + resolution: {integrity: sha512-G8FdIoF5CypfwmD9rl8BXod5HDn8JqB0CCNBXDTaRZ+yRYhARrrSToX1zg1zy9jX3zLqigsELwhT4gNtkdQAUg==} '@mdx-js/react@3.1.1': resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} @@ -1639,24 +1641,25 @@ packages: '@types/react': '>=16' react: '>=16' - '@mswjs/interceptors@0.41.8': - resolution: {integrity: sha512-pRLMNKTSGRoLq+KnEB/7OY5vijw1XmcheAAOiv6pj7W1FG32kAGqj1C/RK/cqxRGr1Fh+zBi8sDur8kj3EQv6A==} + '@mswjs/interceptors@0.41.9': + resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==} engines: {node: '>=18'} '@napi-rs/wasm-runtime@0.2.4': resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} - '@napi-rs/wasm-runtime@1.1.6': - resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} + '@napi-rs/wasm-runtime@1.2.2': + resolution: {integrity: sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 + '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.3 + '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.3 '@neoconfetti/react@1.0.0': resolution: {integrity: sha512-klcSooChXXOzIm+SE5IISIAn3bYzYfPjbX7D7HoqZL84oAfgREeSg5vSIaSFH+DaGzzvImTyWe1OyrJ67vik4A==} - '@npmcli/agent@4.0.0': - resolution: {integrity: sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==} + '@npmcli/agent@4.0.2': + resolution: {integrity: sha512-EUEuWAxnL07Sp5/iC/1X6Xj+XThUvnbei9zfRWZdEXa7lss9RTHMhAHBeg+MZ5To9s/gGaSI+UwZTPdYMvKSeg==} engines: {node: ^20.17.0 || >=22.9.0} '@npmcli/arborist@9.1.6': @@ -1676,8 +1679,8 @@ packages: resolution: {integrity: sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==} engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/git@7.0.1': - resolution: {integrity: sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==} + '@npmcli/git@7.0.2': + resolution: {integrity: sha512-oeolHDjExNAJAnlYP2qzNjMX/Xi9bmu78C9dIGr4xjobrSKbuMYCph8lTzn4vnW3NjIqVmw/f8BCfouqyJXlRg==} engines: {node: ^20.17.0 || >=22.9.0} '@npmcli/installed-package-contents@3.0.0': @@ -1734,66 +1737,70 @@ packages: resolution: {integrity: sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==} engines: {node: ^18.17.0 || >=20.5.0} + '@npmcli/redact@4.0.0': + resolution: {integrity: sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==} + engines: {node: ^20.17.0 || >=22.9.0} + '@npmcli/run-script@10.0.3': resolution: {integrity: sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==} engines: {node: ^20.17.0 || >=22.9.0} - '@nx/devkit@22.2.7': - resolution: {integrity: sha512-Il+J7JG1VbUNcrX0jFELsLmBFmavoXvUc9/r/UaUoMyTXOmUVFzUuo/T87LHehx1Pt3JqwuCqUMABgpSZF1hcQ==} + '@nx/devkit@23.1.1': + resolution: {integrity: sha512-FmBfS1xUkWYvDYH/ysO7gAqGlaRzugLac8SIC+X/p76WBmhM6tJhfRW/BQ8mxOFZoVLmwhIiR8X0dRPKdasFxw==} peerDependencies: - nx: '>= 21 <= 23 || ^22.0.0-0' + nx: '>= 22 <= 24 || ^23.0.0-0' - '@nx/nx-darwin-arm64@22.2.7': - resolution: {integrity: sha512-OWXYB0eOdTTmNFmEoUogYg9vd+kIh4bfYRGTAlcZ0k7idoNdX9hHECRj0UcgtnX77C3O5W+Ek3Yc7l5JjF07bw==} + '@nx/nx-darwin-arm64@23.1.1': + resolution: {integrity: sha512-Rq/RXLX5uIvJQfb6kuUgEirquT5ARaAgQyNaMZVnOPAL5wuxaDvQag8WX/WUCIgbUKZuGkclJwM7Vlnvtn3bdg==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@22.2.7': - resolution: {integrity: sha512-g3knIs2vrUi4Y0GeBPlUevZko3BImmOBtQTQx+JtcTK/XmL/JPeglP0tdwyhmuo39WtXxyU5USZh+xXTNWTdBQ==} + '@nx/nx-darwin-x64@23.1.1': + resolution: {integrity: sha512-doWaPLPd6yUas3FhQJqMAScupCsToeTedK4RRWm700VhHoVdBTN4ejIBRBfoiT/SPAwY6EOHb8uFDJhGo7geMg==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@22.2.7': - resolution: {integrity: sha512-JHJ+W4w9pw03jsWRhGA/u5ftA/1N9xAD33/Pow/w1cv/+0oQIHii777nDuj7oYbC3xh1KiARVkidC0DX17/mtA==} + '@nx/nx-freebsd-x64@23.1.1': + resolution: {integrity: sha512-9rDZKBPGuX8mid11RimJ2ENqDYZpPZhrqTlI9q/VnqcPLq0Bw/8AhqCKhBVlfNqJjbi4OsRQYDK7UkqIlcfThg==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@22.2.7': - resolution: {integrity: sha512-4S1Rs6AVVFEH2mvJSOzeuDkTctyLzTdWh7YH8+2tNWb9C1xh6mbVigDWFfFLdZCrXsAxHMElF71mGYvsQxSDSg==} + '@nx/nx-linux-arm-gnueabihf@23.1.1': + resolution: {integrity: sha512-NDR5X2HiD6WU3JEaDJmOLteIGIFqjrjkzoFWrQke2Y1oCRYu+UyFdPeaMVUyAs5OyUx4U+SD+eBQPTCNbWmazA==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@22.2.7': - resolution: {integrity: sha512-Yc6Fve34tqDNNTFtTt2gHYNfQa1juFInSpDyeicXP7c1Ck+ZxGGrNWKl4hcDYhjMbOrS4BQCadY3lvFkvu5dXw==} + '@nx/nx-linux-arm64-gnu@23.1.1': + resolution: {integrity: sha512-tWDHJII8+aHweTzHelf5dGM6qGNmHbAPhCc3jrtrM0uE+UD/wt2Dpq7H3086Iyia9M9jGM9sYpuD/6W6WAFAMA==} cpu: [arm64] os: [linux] libc: [glibc] - '@nx/nx-linux-arm64-musl@22.2.7': - resolution: {integrity: sha512-Ga1YZjel6k+SKn1EhPZ9aSdV4fcFH8dhOfRvJa2DYN0AP5oa2HqYl5olAkLpbQ+dbvAhpX1oUV2+oRWIiKVwsg==} + '@nx/nx-linux-arm64-musl@23.1.1': + resolution: {integrity: sha512-t7iVMZ7Cj3LmPcfaYt9KOkojpuC5XRmtZ/0G+NBMA2GuRhCVbzpOgUCob0nQMV2TrTwn5oAWJeDc4xLni+oteg==} cpu: [arm64] os: [linux] libc: [musl] - '@nx/nx-linux-x64-gnu@22.2.7': - resolution: {integrity: sha512-KwTKN804S35IviPFfji08On1MJOOF7G/n9vxdixVS7wdMZzCvzUrblMS4SjWXlDCyjxpKZY5uy4u4NEkv/mZwQ==} + '@nx/nx-linux-x64-gnu@23.1.1': + resolution: {integrity: sha512-stuCayctOt/4AFvxKYgGTPluUc0HW7DcyTz9yeTMl/zj0+FENEr8RCTjInD0Q5qVGzYphma6SssVSh432w5agw==} cpu: [x64] os: [linux] libc: [glibc] - '@nx/nx-linux-x64-musl@22.2.7': - resolution: {integrity: sha512-kL0iHmiG7JvroWWadOnQelVvNF7x9/LECT5HG15N19jkJ+YVdDRBJq1IdB+VRpMi83HfH7mps7LBs/nE88oTWg==} + '@nx/nx-linux-x64-musl@23.1.1': + resolution: {integrity: sha512-cZSUqGV+iHda39W91BNKSysSu6OFfR6M4ViQBcMtbwq3ce19gDr2f23MqGZEQZtaD/eSQ9UNEhx09nhrdYxWDg==} cpu: [x64] os: [linux] libc: [musl] - '@nx/nx-win32-arm64-msvc@22.2.7': - resolution: {integrity: sha512-DfJUwslWFerfkFRmsuQbMJfWpmpP19f6Ms3Kc5RZOSQjJ+5D9NnvjBVENKP32u0fcFCp4cYeeG/JWgOHUgP6kg==} + '@nx/nx-win32-arm64-msvc@23.1.1': + resolution: {integrity: sha512-iDlYbFHgTYV5lg1ypEt+LAj86o/uyy6vR0ha5pcUs4FqXzQgy14lOeyRod/EZs9Er3DIyJlEi/rpEvaP99/Hag==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@22.2.7': - resolution: {integrity: sha512-MUS3SdjjMCzV5HZUJkbNEFeb0jOPcayHyJQBAZ+lMR8TBFh5fz3KSnWsP+08XSBG+h3nucviVIGeBwM41/pe1g==} + '@nx/nx-win32-x64-msvc@23.1.1': + resolution: {integrity: sha512-UD21AHWJ2PEA+PuANPCt+lj3kYpAzYNq+bm4VCbrt3KZd7zDPas0ns85UIhfrhsNiSmYzjWz2/JDk2S3cA6lGw==} cpu: [x64] os: [win32] @@ -1801,8 +1808,8 @@ packages: resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} engines: {node: '>= 18'} - '@octokit/core@5.2.0': - resolution: {integrity: sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==} + '@octokit/core@5.2.2': + resolution: {integrity: sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==} engines: {node: '>= 18'} '@octokit/endpoint@9.0.6': @@ -1813,8 +1820,8 @@ packages: resolution: {integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==} engines: {node: '>= 18'} - '@octokit/openapi-types@23.0.1': - resolution: {integrity: sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==} + '@octokit/openapi-types@24.2.0': + resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==} '@octokit/plugin-enterprise-rest@6.0.1': resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==} @@ -1849,8 +1856,8 @@ packages: resolution: {integrity: sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==} engines: {node: '>= 18'} - '@octokit/types@13.8.0': - resolution: {integrity: sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==} + '@octokit/types@13.10.0': + resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -1864,10 +1871,6 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} - '@opentelemetry/api@1.9.1': - resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} - engines: {node: '>=8.0.0'} - '@oxc-parser/binding-android-arm-eabi@0.127.0': resolution: {integrity: sha512-0LC7ye4hvqbIKxAzThzvswgHLFu2AURKzYLeSVvLdu2TBOYWQDmHnTqPLeA597BcUCxiLqLsS4CJ5uoI5WYWCQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1998,11 +2001,8 @@ packages: '@oxc-project/types@0.127.0': resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} - '@oxc-project/types@0.139.0': - resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==} - - '@oxc-project/types@0.140.0': - resolution: {integrity: sha512-h5LUOzGArYemnW1NMz/DuuQhBi96J6JL2Bk8zE4kvqxB5Sg3jxmCiH4uyOWHDkiKSt5vWlG4FIwCR/DbstcNRQ==} + '@oxc-project/types@0.143.0': + resolution: {integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==} '@oxc-resolver/binding-android-arm-eabi@11.24.2': resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} @@ -2110,203 +2110,103 @@ packages: '@paypal/fastlane-sdk-loader@1.2.1': resolution: {integrity: sha512-+kiVVpXorfmJjFY7keJrkGAlaXnAjQ7THEU9pi1ULJkr8tTb20fi/1NJeImUtbbkfZ7Zbk2mkT07qicLsXY1nw==} - '@paypal/paypal-js@10.0.0': - resolution: {integrity: sha512-IOAA8Ls7A5WXH8vV8Lbh+QTyVsQWbmqzCMvNFmGO/56D+7i5OMXhjzG2Qhz0WHSiVe+IutqJMWPX2dHJXA7Kgw==} + '@paypal/paypal-js@10.0.2': + resolution: {integrity: sha512-k9UFibQSLgO63ip9t5klAHCOC1OOrZZtD2HnkxGzphfLkEYAIleIGDaS0NuIRB7mgbbzjRi44lQdCCbSm9ebcQ==} - '@playwright/test@1.61.1': - resolution: {integrity: sha512-8nKv6+0RJSL9FE4jYOEGXnPeM/Hg12qZpmqzZjRh3qM0Y7c3z1mrOTfFLids72RDQYVh9WpLEfR5WdpNX4fkig==} - engines: {node: '>=18'} + '@playwright/test@1.62.1': + resolution: {integrity: sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==} + engines: {node: '>=20'} hasBin: true '@quansync/fs@1.0.0': resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} - '@rolldown/binding-android-arm64@1.1.5': - resolution: {integrity: sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@rolldown/binding-android-arm64@1.2.0': - resolution: {integrity: sha512-9yB1l95IrJuNGDFdOYe79vdApdz6WWBCObE+rQ2LUliYUlcyFwSYIb2xb5/Ifw7dAtMy2ZqNyd8QTSOc7duAKw==} + '@rolldown/binding-android-arm64@1.2.3': + resolution: {integrity: sha512-zrJtHDcaZJ1Fp7xf4hNl+7seH9Cn/N5TwLYkhgXREtBwAd/jaqW3uqeHxpDugJLVICWg4eW44kOQEGJ1r6jCGw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.1.5': - resolution: {integrity: sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@rolldown/binding-darwin-arm64@1.2.0': - resolution: {integrity: sha512-pexNaW9ACLUOaBITOpU6qVu4VrsOFIjTv6bzgu0YUATo4eUJx0V605PxwZfndpPOn0ilqGqvGQ0M8UW0IE24jg==} + '@rolldown/binding-darwin-arm64@1.2.3': + resolution: {integrity: sha512-ieIiibVCp0tX7TLu2cafoNPv8wJyYi01ekXpbf8q2j7F4rGAhhXb/eQh7ge9DRBY78GwmRQtvjZDux7EDbA8kA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.1.5': - resolution: {integrity: sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==} + '@rolldown/binding-darwin-x64@1.2.3': + resolution: {integrity: sha512-Zh9tCon19eDXJoihx0rqKhMUlMYqzwj3aPsSuHmI4RWZh62dWUL+DJN4C5YQya5TcQBJU/Fe8+rY0jhXTQITqA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.0': - resolution: {integrity: sha512-NqKYaq0355ZmNMG4QGpxtEDxsc7tGDhjhCm4PpE0cwnBW+5Il95LJyq414niEiaKLVjnVHBEjSo1wngKxJNiFw==} + '@rolldown/binding-freebsd-x64@1.2.3': + resolution: {integrity: sha512-nGbJWewA1wrXXZiQhjAT5rhibGfns5ZNkDVqxsO6zJ3f3YvpoDNNmGMSbbhLuXKjNScaBJVOAboztAWVespQMg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] - os: [darwin] + os: [freebsd] - '@rolldown/binding-freebsd-x64@1.1.5': - resolution: {integrity: sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.3': + resolution: {integrity: sha512-QNniJr5Kml0kDEB98jiDOJjXNroxIIi0IXIbdYzY26Xt1pVbeP62+KnoIZLwirOymX/0jDk/2gI/bNUv7A7OIw==} engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] + cpu: [arm] + os: [linux] - '@rolldown/binding-freebsd-x64@1.2.0': - resolution: {integrity: sha512-3vPoHzh6eBTz9IbB0/qZdSr0Qeks2echn+I4cHu2joV74VriPDdldswksEDzrl1mBB+oPRi+67+3Ib59paxIPQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@rolldown/binding-linux-arm-gnueabihf@1.1.5': - resolution: {integrity: sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@rolldown/binding-linux-arm-gnueabihf@1.2.0': - resolution: {integrity: sha512-E6NNefZ1bUVmKJq2tJkf45J4Zyczj7qm9rUT7NY+Xo2474Y13qWAwc2tvBt0BAVbmtXR1llkxXg0Ou1jbDf2SQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@rolldown/binding-linux-arm64-gnu@1.1.5': - resolution: {integrity: sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-arm64-gnu@1.2.0': - resolution: {integrity: sha512-D+TgkdgM1vu+7/Fpf8+v0ARW+RXEP9Ccazgm8zQ4JFFd9Q7SrYQ2TakU5S5ihazQDgpKyAgZDOcIFsvoHmTZ8w==} + '@rolldown/binding-linux-arm64-gnu@1.2.3': + resolution: {integrity: sha512-TkqEAcmmvH3I/q4114NB4RVt6241Dao48pF45uLcFGrwAaIn0iITgTAKP/dLjbN0R4buJjGb91+UHSoFmpgIWw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.1.5': - resolution: {integrity: sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==} + '@rolldown/binding-linux-arm64-musl@1.2.3': + resolution: {integrity: sha512-NHqjnxpsndf4MPymxteFAWHHfkTL8HjWh1KB7z23ofZ6QO2euONuxDXjat69dKZRALnGypg8k8SsK8vZJoXv1Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-arm64-musl@1.2.0': - resolution: {integrity: sha512-wUqdwJBbAv0APN87GecstdMUtLjjNTs0hBALpxETD73mccFxdmt/XeizXDtN5RAlBwNKmI+Tg+blect2G+8IeQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rolldown/binding-linux-ppc64-gnu@1.1.5': - resolution: {integrity: sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-ppc64-gnu@1.2.0': - resolution: {integrity: sha512-9DtF35qR9/NrfhM4oxLplCzVVjE+KKm8Pjemi0i/sdhAWkUasjmSo8WTTubNJClhSHCfyk2yeyoXDQEDPtDAAw==} + '@rolldown/binding-linux-ppc64-gnu@1.2.3': + resolution: {integrity: sha512-6tbrbwfz5GB9DQ4Jwo6hy9v+vR31xZlvzZ6n5Xut6Hhx5PvrA9q/HsK8KMaYQp063iqZGXwNvZtYNLD7EM/x0w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.1.5': - resolution: {integrity: sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-s390x-gnu@1.2.0': - resolution: {integrity: sha512-RzuHrBh8X8Hntd2N4VR02QGEciq/9JhcZoTpR/Cee6otRrlILGCf3cg2ygHuih+ZebUnWmMrDX6ITI85btO6rQ==} + '@rolldown/binding-linux-s390x-gnu@1.2.3': + resolution: {integrity: sha512-oyuXxXmoZHjXC917IAPFAAv4wWAa0cM9afk8nx1+9/jNNOX1uPf8yDA6p7G0RypOfw/X0PQt5IfoquY1um+zSg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.1.5': - resolution: {integrity: sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rolldown/binding-linux-x64-gnu@1.2.0': - resolution: {integrity: sha512-MK7L0018jjh1jR3mh21G2j1zAVcpscJBlPo2z19pRjv2XOYGRhaV4LyiD8HO6nCDdZln9IFgCMIV5yt4E3klGQ==} + '@rolldown/binding-linux-x64-gnu@1.2.3': + resolution: {integrity: sha512-TytMwF2KVGqP2tgd0I1OY0PAv78dZRAYcF5ssDzjM34SUXCED3uXvSd5+lHoC0bTD6eEdFz7LdQNCO1y0oVk9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.1.5': - resolution: {integrity: sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rolldown/binding-linux-x64-musl@1.2.0': - resolution: {integrity: sha512-gyrxLQ9NfGb/9LoVnC4kb9miUghw1mghnkfYvNHSnVIXriabnfgGPUP4RLcJm87q3KgYz4FYUG8IDiWUT+CpSw==} + '@rolldown/binding-linux-x64-musl@1.2.3': + resolution: {integrity: sha512-/E9m3qstrJFVPoULV25mVQblSNExY2+kBsYe4sy0Tn0yOOgJ8wZbZt3KnRbF/XeU2Gl1STKUQnDNTqhIE5MD4A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.1.5': - resolution: {integrity: sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@rolldown/binding-openharmony-arm64@1.2.0': - resolution: {integrity: sha512-/6VFMQGRmrhP77KXDC+StIxGzcNp5JOIyYtw0CQ8gPlzhpiIRucYfoM5FaFamHd5BJYIdH86yfP46l1p3WdrFA==} + '@rolldown/binding-openharmony-arm64@1.2.3': + resolution: {integrity: sha512-Kr0OcsoQI816i6HOl3vFHpd1K0eZyh76zgfj4c1nTyaTsd5r2Mj1lwM4R90y/qaCfmTn9eHy0SKwi98eitRxug==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.1.5': - resolution: {integrity: sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [wasm32] - - '@rolldown/binding-wasm32-wasi@1.2.0': - resolution: {integrity: sha512-rwdbUL465kisF24WEJLvP3JrEG6E5GRuIHt5wpMwHGERtHe4Wm2CIvtf5gTBgr2tGOHKh5NdKEAFS2VkOPE91g==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [wasm32] - - '@rolldown/binding-win32-arm64-msvc@1.1.5': - resolution: {integrity: sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@rolldown/binding-win32-arm64-msvc@1.2.0': - resolution: {integrity: sha512-+5suHwRiKGmhwyUaNT8a5QbrBvLFh2DbO910TEmGRH1aSxwrCezodvGQnulv4uiWEIv1Kq4ypRsJ5+O+ry1DiA==} + '@rolldown/binding-win32-arm64-msvc@1.2.3': + resolution: {integrity: sha512-hOtMwTqnME+/gJcH/PCZ0wn0zPUjiWOgkHpxbSJpfGKMezHltx1S7/k1SitzVa7Ww2cqrDDaFbZEhcJZO8o+Jw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.1.5': - resolution: {integrity: sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - - '@rolldown/binding-win32-x64-msvc@1.2.0': - resolution: {integrity: sha512-WfFv6/qGufotqBSBzBYwgpCkJBk8Nj7697LL9vTz/XWc67e0r3oewu8iMRwQj3AUL45GVD7wVsPjCsAAtW66Wg==} + '@rolldown/binding-win32-x64-msvc@1.2.3': + resolution: {integrity: sha512-ekcqMMkI2PlhYnfzQnB/cEdYUVVJViWvoUyLrbzgDoi3Snfc1mVBwdnc306ufA5ejy8JSPjT2RlW1nQSjW7efg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -2331,8 +2231,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/pluginutils@5.3.0': - resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + '@rollup/pluginutils@5.4.0': + resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: '>=4.59.0' @@ -2340,170 +2240,45 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.60.0': - resolution: {integrity: sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.60.0': - resolution: {integrity: sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.60.0': - resolution: {integrity: sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.60.0': - resolution: {integrity: sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.60.0': - resolution: {integrity: sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.60.0': - resolution: {integrity: sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.60.0': - resolution: {integrity: sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==} - cpu: [arm] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm-musleabihf@4.60.0': - resolution: {integrity: sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==} - cpu: [arm] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-arm64-gnu@4.60.0': - resolution: {integrity: sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm64-musl@4.60.0': - resolution: {integrity: sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-loong64-gnu@4.60.0': - resolution: {integrity: sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==} - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-loong64-musl@4.60.0': - resolution: {integrity: sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==} - cpu: [loong64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-ppc64-gnu@4.60.0': - resolution: {integrity: sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-ppc64-musl@4.60.0': - resolution: {integrity: sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==} - cpu: [ppc64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-riscv64-gnu@4.60.0': - resolution: {integrity: sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-riscv64-musl@4.60.0': - resolution: {integrity: sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-s390x-gnu@4.60.0': - resolution: {integrity: sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-gnu@4.60.0': - resolution: {integrity: sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-musl@4.60.0': - resolution: {integrity: sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rollup/rollup-openbsd-x64@4.60.0': - resolution: {integrity: sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==} - cpu: [x64] - os: [openbsd] - - '@rollup/rollup-openharmony-arm64@4.60.0': - resolution: {integrity: sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA==} - cpu: [arm64] - os: [openharmony] - - '@rollup/rollup-win32-arm64-msvc@4.60.0': - resolution: {integrity: sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.60.0': - resolution: {integrity: sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.60.0': - resolution: {integrity: sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.60.0': - resolution: {integrity: sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w==} - cpu: [x64] - os: [win32] - '@sigstore/bundle@4.0.0': resolution: {integrity: sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==} engines: {node: ^20.17.0 || >=22.9.0} - '@sigstore/core@3.0.0': - resolution: {integrity: sha512-NgbJ+aW9gQl/25+GIEGYcCyi8M+ng2/5X04BMuIgoDfgvp18vDcoNHOQjQsG9418HGNYRxG3vfEXaR1ayD37gg==} + '@sigstore/core@3.2.1': + resolution: {integrity: sha512-qRsxPnCrbC/puegGxKuynfnxgLiHqWStrSjxkoB4YKqq3Z3s4cyZyj42ZdWFAEblNP65C+rBH8EuREHIXoi83g==} engines: {node: ^20.17.0 || >=22.9.0} - '@sigstore/protobuf-specs@0.5.0': - resolution: {integrity: sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==} + '@sigstore/protobuf-specs@0.5.1': + resolution: {integrity: sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==} engines: {node: ^18.17.0 || >=20.5.0} - '@sigstore/sign@4.0.1': - resolution: {integrity: sha512-KFNGy01gx9Y3IBPG/CergxR9RZpN43N+lt3EozEfeoyqm8vEiLxwRl3ZO5sPx3Obv1ix/p7FWOlPc2Jgwfp9PA==} + '@sigstore/sign@4.1.1': + resolution: {integrity: sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==} engines: {node: ^20.17.0 || >=22.9.0} - '@sigstore/tuf@4.0.0': - resolution: {integrity: sha512-0QFuWDHOQmz7t66gfpfNO6aEjoFrdhkJaej/AOqb4kqWZVbPWFZifXZzkxyQBB1OwTbkhdT3LNpMFxwkTvf+2w==} + '@sigstore/tuf@4.0.2': + resolution: {integrity: sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==} engines: {node: ^20.17.0 || >=22.9.0} - '@sigstore/verify@3.0.0': - resolution: {integrity: sha512-moXtHH33AobOhTZF8xcX1MpOFqdvfCk7v6+teJL8zymBiDXwEsQH6XG9HGx2VIxnJZNm4cNSzflTLDnQLmIdmw==} + '@sigstore/verify@3.1.1': + resolution: {integrity: sha512-qv7+G3J2cc6wwFj3yKvXOamzqhMwSk1ogPGmhpS8iXllcPrJaIIBA+4HbttlHVu1pqWTdmaCH/WE7UOC51kdoA==} engines: {node: ^20.17.0 || >=22.9.0} - '@sinclair/typebox@0.34.41': - resolution: {integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==} + '@simple-libs/child-process-utils@2.0.0': + resolution: {integrity: sha512-dvNoRKLijXnD0XoJAz94pbNuB5GQgDr55UhpSPhffDkTT0Cmcqh9jSCOtwfT2d4H6MI9E7c4SgtMuJXZ6F3c6A==} + engines: {node: '>=22'} + + '@simple-libs/hosted-git-info@2.0.0': + resolution: {integrity: sha512-55XwK/GYgV58PuN8lZFhI1qRxdKoMLJocXl/yM1EPqazFDmM4QWY7q6BxPCPDNKTNunj794DSD4h0H7SrqUdMg==} + engines: {node: '>=22'} + + '@simple-libs/normalize-package-data@1.0.0': + resolution: {integrity: sha512-/EOmFBekV9tGee8gac/k+5Ox3twkypNqh5TfxA9vTkmcJkjm6f1xqrlstDNOrEhTvnYyVtU6Du2ZhY/IV1+9GA==} + engines: {node: '>=22'} + + '@simple-libs/stream-utils@2.0.0': + resolution: {integrity: sha512-fCTuZK4QBa+39Oz9l4OGfJfz+GpwCp3AqO7Zch3to99xHPgstVsRFpeQ8LNd2o1Gv8raL2mCFwiaHh7bFSp5DQ==} + engines: {node: '>=22'} '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} @@ -2533,11 +2308,11 @@ packages: peerDependencies: storybook: ^8.6.18 - '@storybook/addon-docs@10.5.3': - resolution: {integrity: sha512-MI1VDMSMQk78YxjIdt7WlrVOiA3TzTP00lRed1LeXh0fCvA9jxz9YXJI2+XigsLaxCSuOAEf/l35/GTLDMHD8A==} + '@storybook/addon-docs@10.5.7': + resolution: {integrity: sha512-KNARJfjICaizinsR3INMEiipZm1ObYo+xw+E26gteu50Bcy2dIZUtk5uHY5XdtardU3AXX6yRXoBZ2HCY3lbHA==} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.5.3 + storybook: ^10.5.7 peerDependenciesMeta: '@types/react': optional: true @@ -2562,12 +2337,12 @@ packages: peerDependencies: storybook: ^8.6.18 - '@storybook/addon-links@10.5.3': - resolution: {integrity: sha512-awu6nBV/MRFv+zu9hIqFrqnKa37LnWfZ3/UHeS68il0QxWfy6uSU1dfpxqiYbCjs9Ct0+bsaO6ZaPamA+jlFLA==} + '@storybook/addon-links@10.5.7': + resolution: {integrity: sha512-17PxEOocLhAEaPeQ4q+8yul/LF9YEIePS1arknCAS7U1pQXTe0uj+R0pB6uPLVflM5gECQMiP4WzIj4tEiL6+A==} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.5.3 + storybook: ^10.5.7 peerDependenciesMeta: '@types/react': optional: true @@ -2596,10 +2371,10 @@ packages: '@storybook/addon-measure@9.0.8': resolution: {integrity: sha512-+DAsl7o8Hh4cw+U29c1+IqeLJWVu3swy/wgGhZBpIyhfz22b55cTlquEjwXRV26KBkuQBZih8XhZPU689rc7Rg==} - '@storybook/addon-onboarding@10.5.3': - resolution: {integrity: sha512-PWNUji1a8JUym5iRJyr9KVdmAgU+qgjVgXubVoesa053ZKMrga1J3j9hfyqqFPNACfRBqy6HAXyEAe6mAuOjGw==} + '@storybook/addon-onboarding@10.5.7': + resolution: {integrity: sha512-GDssSoWmmGnz6OnUvAofMcrUuTMD53Y2rnbshjXvhtPnjKw4dufXFjo6C7yZQ6vyoNzTS9HyQwCHlxlhyCKJjQ==} peerDependencies: - storybook: ^10.5.3 + storybook: ^10.5.7 '@storybook/addon-outline@8.6.18': resolution: {integrity: sha512-TErFqfCtlV2xt9B6/kskROt69TPjr6AXdHpMselaRrN1X4WEjcMk9GT9PcNP7FXqL88/VYqUb3uNMiAmpDmS/g==} @@ -2637,10 +2412,10 @@ packages: react-dom: optional: true - '@storybook/builder-vite@10.3.6': - resolution: {integrity: sha512-gpvR/sE4BcrFtmQZ+Ker7zD23oQzoVeqD9nF6cK6yzY+Q0svJXyX2EPmFG4y+EwygD5/vNzDpP84gGMut8VRwg==} + '@storybook/builder-vite@10.5.7': + resolution: {integrity: sha512-fShF/aQaITqcJuMCLr42BGNUAbhDi4IboqvlbZqXAwgrrTslnZEUnY8GcEcvpZmjl11VwlmazhMJdH50fIgBPg==} peerDependencies: - storybook: ^10.3.6 + storybook: ^10.5.7 vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 '@storybook/channels@7.6.24': @@ -2660,30 +2435,12 @@ packages: '@storybook/core-events@7.6.24': resolution: {integrity: sha512-9mhV2grn+IYljRJSqoTec3XhoMs1Va0aYWe937siX3Fj77F6zuXmEugrJstgVYsPAgcqH9eBSCM7rwdmbo7LVg==} - '@storybook/csf-plugin@10.3.6': - resolution: {integrity: sha512-9kBf7VRdRqTSIYo+rPtVn5yjYYyK8kP2QhEYx3oiXvfwy4RexmbJnhk/tXa/lNiTqukA1TqaWQ2+5MqF4fu6YQ==} - peerDependencies: - esbuild: '>=0.25.0' - rollup: '>=4.59.0' - storybook: ^10.3.6 - vite: '*' - webpack: '*' - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true - - '@storybook/csf-plugin@10.5.3': - resolution: {integrity: sha512-mkPq6zru8fN5+46uC1cZEbKW2ws1hh9KvF4g4/Gu8pNbKnvqULPhk0/Bf0ZCtlr7zI7DvcFhyCy3dbvN+2n4Gw==} + '@storybook/csf-plugin@10.5.7': + resolution: {integrity: sha512-IaX8FlM0H36HNFhJ2+4L9bCldqfvHGqcLg841SJNyK/DhfMlM7JsvY/GDH2ZFuWrUf8FSOx96GRRnHq6XfRKag==} peerDependencies: esbuild: '>=0.25.0' rollup: '>=4.59.0' - storybook: ^10.5.3 + storybook: ^10.5.7 vite: '*' webpack: '*' peerDependenciesMeta: @@ -2714,12 +2471,6 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - '@storybook/icons@2.0.2': - resolution: {integrity: sha512-KZBCpXsshAIjczYNXR/rlxEtCUX/eAbpFNwKi8bcOomrLA4t/SyPz5RF+lVPO2oZBUE4sAkt43mfJUevQDSEEw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@storybook/icons@2.1.0': resolution: {integrity: sha512-Fxh9vYpX9bQqFeHRiY8h2ApeRGDzRSMLwJwNZ/AIRqnyOKHxRKL+yFe+ctEkVJmuptRE9u1Hrn8ZZNHyfDKKNg==} peerDependencies: @@ -2749,14 +2500,14 @@ packages: '@storybook/preview-api@7.6.24': resolution: {integrity: sha512-dBoHQeZk4ZdfeIZzc798Bl2wF0tjiY6fhl7QllBUIFqxvHTCM3YFa2vAIifr2bnxeTpvheKFhqNnOivJbSwTXQ==} - '@storybook/react-dom-shim@10.5.3': - resolution: {integrity: sha512-eUWBsRRax5R3MDJVFs/CrFDF1bYS58AMB9tX02lLRuiZe6xy1cKh3CRFS+2xH571l0fNaXQ+7j69TOJ0fk2tmA==} + '@storybook/react-dom-shim@10.5.7': + resolution: {integrity: sha512-lxOkyh+wu/MiBXvYQHjZfD+DRKOa4bHBzbuGuiHXnHXmdOcTRdcrQTsoeN2FPtfugmmOG66cZUEgDwNX+k5eRA==} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 '@types/react-dom': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.5.3 + storybook: ^10.5.7 peerDependenciesMeta: '@types/react': optional: true @@ -2770,26 +2521,26 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta storybook: ^8.6.18 - '@storybook/react-vite@10.5.3': - resolution: {integrity: sha512-9cXaeU3+Kos4M3+Ezur2u/eBn3JIkED6ckxi7lhVQ6r2lK9NAGh5tfHSTQ/206KNSjvaHxZMAhPpxJP3/e2vfQ==} + '@storybook/react-vite@10.5.7': + resolution: {integrity: sha512-eEo3eVa2pvqrzQukKxAzx7YvswDAA1s6k/y+tdMxmRvWyHX6QEOsb9Tda6wcVaa7c8BeJM7Ggq+289cRMTH6Iw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.5.3 + storybook: ^10.5.7 typescript: '>= 4.9.x' vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - '@storybook/react@10.5.3': - resolution: {integrity: sha512-d/CK78xgA7DDvqnxkqcYmiTjomE4ch2TWvk0O8/xHQWW6y0nMjKtsZbmUBfZ0QcdYdWq7dErzfbG7YAzxDi7Ig==} + '@storybook/react@10.5.7': + resolution: {integrity: sha512-uFvty2MMdFXzW5PcQe1JqDAZkz6cQq7q/9G/cbGVnBEvP6zsOVeL+bmrQ0/WBlFQN0Ko9+ZoCTvaQ9s65zBa5g==} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 '@types/react-dom': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.5.3 + storybook: ^10.5.7 typescript: '>= 4.9.x' peerDependenciesMeta: '@types/react': @@ -2825,15 +2576,15 @@ packages: '@storybook/types@7.6.24': resolution: {integrity: sha512-XOhLmXnQprLRIs4dT9kmWHgETEiGdOjbJ9ULQGoKR72wia47Buzrjwg5Ym3BTQEzrtLpo/8FD3NS+Migldp+XA==} - '@stripe/react-stripe-js@6.8.0': - resolution: {integrity: sha512-nRrPkos00CmUeqXHxtJkXmSbl9/6ybGI4jVebzsiA6QaE5A4iw9dn1C4hUx2tBmQQV2e6pm2aLkPYov4hdta2w==} + '@stripe/react-stripe-js@6.8.1': + resolution: {integrity: sha512-Wzy7KCF8lM819x8rVFSKUr2ofITdX1c/49ceJprJzGhPzHb3fhrcAoEmNQwV5UYRci7YY1joyG8oz3So3JAMRg==} peerDependencies: '@stripe/stripe-js': '>=9.5.0 <10.0.0' react: '>=16.8.0 <20.0.0' react-dom: '>=16.8.0 <20.0.0' - '@stripe/stripe-js@9.10.0': - resolution: {integrity: sha512-rxkKgWLAWtjvJhqEynPJ5zPXoKx5cK4eIUunnMGxwUJDRHKv3MlpA1mCCXdeiXzui5YZNWJKUJBTpe7m30jhOA==} + '@stripe/stripe-js@9.13.0': + resolution: {integrity: sha512-/0c72BUgzzVkVTlsw5uBn8x3waTdVJ/PZGfQ6jY1eu6K7olUPf4d9lgDPA9/0sIdsR8j7o3QIG8fOCO6ItcL7A==} engines: {node: '>=12.16'} '@tanstack/react-table@8.21.3': @@ -2888,25 +2639,25 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' - '@testing-library/user-event@14.6.1': - resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} + '@testing-library/user-event@14.6.3': + resolution: {integrity: sha512-6dBq67jT8lE+JTE8Exm02Kt6ze43hz1jdiSpSJwtTZiT1xQQ6b7nZYTTQ9njdArdU8XklOwaDp/AbT/eYSKF4g==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' - '@tmcp/adapter-valibot@0.1.5': - resolution: {integrity: sha512-9P2wrVYPngemNK0UvPb/opC722/jfd09QxXmme1TRp/wPsl98vpSk/MXt24BCMqBRv4Dvs0xxJH4KHDcjXW52Q==} + '@tmcp/adapter-valibot@0.1.6': + resolution: {integrity: sha512-drirZeNinhYLiRSMksN+m//u0ImFxtGRk1Vp425Xp/7CbBXFQdjAG+f7grssyHAukbVTGzmWsMMP6ejrGVErUA==} peerDependencies: tmcp: ^1.17.0 valibot: '>=1.3.0' - '@tmcp/session-manager@0.2.1': - resolution: {integrity: sha512-DOGy9LfufXCy1wfpGHZ6qPSDQtRnTVwOb71+41ffovTqzLMZlK3iLK/LIsekHxIiku+iIAUiqEKN+DHbqEm8IA==} + '@tmcp/session-manager@0.2.2': + resolution: {integrity: sha512-UrCRpTsxh5XnMbplspvftEYboiZWgAiXqqAUbyFTHoHMJ0LoNDy8bQd0+7qtxtT4S5Qsnv650gvs/Nbec5NTCQ==} peerDependencies: tmcp: ^1.16.3 - '@tmcp/transport-http@0.8.5': - resolution: {integrity: sha512-qQLqiCTtbxtTSswqOn/782df7O57RxI/yLUtCDQ++kHEhbmDUc8glmmtGJ3mrb7yPSPoM5VF2Pc2Q5cA6quzLA==} + '@tmcp/transport-http@0.8.6': + resolution: {integrity: sha512-iLcxu+tEMbkVHbhFfyXQhxfPDDTfm+F0kEw8Xg/a1rm29s4cBg1vwcpbtk02XTxsdDh8RJ1AZkQwF9WDGeb/IA==} peerDependencies: '@tmcp/auth': ^0.3.3 || ^0.4.0 tmcp: ^1.18.0 @@ -2918,8 +2669,8 @@ packages: resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} engines: {node: ^16.14.0 || >=18.0.0} - '@tufjs/models@4.0.0': - resolution: {integrity: sha512-h5x5ga/hh82COe+GoD4+gKUeV4T3iaYOxqLt41GRKApinPI7DMidhCmNVTjKfhCWFJIGXaFJee07XczdT4jdZQ==} + '@tufjs/models@4.1.0': + resolution: {integrity: sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==} engines: {node: ^20.17.0 || >=22.9.0} '@tybys/wasm-util@0.10.3': @@ -2937,8 +2688,8 @@ packages: '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} @@ -2946,8 +2697,8 @@ packages: '@types/babel__traverse@7.28.0': resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - '@types/body-parser@1.19.5': - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} '@types/braintree-web@3.96.17': resolution: {integrity: sha512-l+ujTICdA34gxov4AAsJLONNvYKbMyOYBnDU8syBhosCp/3IW2bJuZQEmUuOrliYeMmFm20ltQO9VHsRb8066g==} @@ -2958,8 +2709,8 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -2967,65 +2718,59 @@ packages: '@types/doctrine@0.0.9': resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - - '@types/express-serve-static-core@4.19.6': - resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@types/express@4.17.21': - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/express-serve-static-core@4.19.9': + resolution: {integrity: sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg==} - '@types/googlepay@0.7.10': - resolution: {integrity: sha512-ByXjDfxEp87zsjw5cVsNKEeA+AIJYcWwJvRqPu85jO0Lp/FeG67csnf4mqbPaIxmdI6+Khp3v5I0yyjq9MrGhw==} + '@types/express@4.17.25': + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} - '@types/googlepay@0.7.6': - resolution: {integrity: sha512-5003wG+qvf4Ktf1hC9IJuRakNzQov00+Xf09pAWGJLpdOjUrq0SSLCpXX7pwSeTG9r5hrdzq1iFyZcW7WVyr4g==} + '@types/gensync@1.0.5': + resolution: {integrity: sha512-MbsRCT7mTikHwKZ0X+LVUTLRrZZRLipTuXEO9qOYO+zmjMVk81axyClMROf6uoPD9MRVu46bx8zoR0Ad9q3NAg==} - '@types/http-errors@2.0.4': - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/googlepay@0.7.11': + resolution: {integrity: sha512-njLi4oCyqYx4nT1xoZWFDnLtKVbsbZkJTzLO45X5RW3yJTgDFSg2Wj6dnuXx+ZdZa89gBLkfMIbKNnMi5Y2wpw==} - '@types/iframe-resizer@4.0.0': - resolution: {integrity: sha512-RKrT4goNVtqZvf9WPkV0cUcphQWXzLVW1IE4yOIY21c1W+obJJbcHFD1lQu5ncNHm/6TeQSeedVf9bmkx2NaGQ==} + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} '@types/js-cookie@3.0.6': resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} + '@types/jsesc@2.5.1': + resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/minimist@1.2.5': - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@25.6.2': - resolution: {integrity: sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw==} - '@types/node@25.9.5': resolution: {integrity: sha512-OScDchr2fwuUmWdf4kZ9h7PcJiYDVInhJizG/biAq3cAvqwYktuy/TYGGdZNMtNTFUP7rnb0NU4TUdm82kt4Rg==} - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + '@types/node@26.2.0': + resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} '@types/paypal-checkout-components@4.0.8': resolution: {integrity: sha512-Z3IWbFPGdgL3O+Bg+TyVmMT8S3uGBsBjw3a8uRNR4OlYWa9m895djENErJMYU8itoki9rtcQMzoHOSFn8NFb1A==} - '@types/qs@6.9.18': - resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} + '@types/qs@6.15.1': + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + '@types/react-dom@19.2.4': + resolution: {integrity: sha512-Bsc+QHgp+P/F02XDzNCY9jnZNCUuLki36KT7VKrTXXLdHf+vHMNZnW1rVu5DNW/rCK+fya3DATySbLM4yhtKUw==} peerDependencies: '@types/react': ^19.2.0 @@ -3036,17 +2781,20 @@ packages: resolution: {integrity: sha512-E8hMDtImEpMk1SjswSvqoSmYvk7GEtyVaTa/GJV++FdDNuMVVEzpAClyJ0nqeKYBrMkGiyH6M1+rPLM0Nu1exQ==} deprecated: This is a stub types definition. react-window provides its own type definitions, so you do not need this installed. - '@types/react@19.2.17': - resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + '@types/react@19.2.18': + resolution: {integrity: sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==} '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} - '@types/send@0.17.4': - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + '@types/send@0.17.6': + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} - '@types/serve-static@1.15.7': - resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + '@types/serve-static@1.15.10': + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} '@types/set-cookie-parser@2.4.10': resolution: {integrity: sha512-GGmQVGpQWUe5qglJozEjZV/5dyxbOOZ0LHe/lqyWssB88Y4svNfst0uqBVscdDeIKl5Jy5+aPSvy7mI9tYRguw==} @@ -3060,13 +2808,13 @@ packages: '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - '@valibot/to-json-schema@1.6.0': - resolution: {integrity: sha512-d6rYyK5KVa2XdqamWgZ4/Nr+cXhxjy7lmpe6Iajw15J/jmU+gyxl2IEd1Otg1d7Rl3gOQL5reulnSypzBtYy1A==} + '@valibot/to-json-schema@1.7.1': + resolution: {integrity: sha512-3qkmU6KXWh8GIThEAW3kuRHPQBMjWkKy+Ppz3WkUucx53DTpOa6siMn4xDGSOhlVyMrDaJTCTMLYPZVAIk1P0A==} peerDependencies: - valibot: ^1.3.0 + valibot: ^1.4.0 - '@vitejs/plugin-react@6.0.3': - resolution: {integrity: sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg==} + '@vitejs/plugin-react@6.0.5': + resolution: {integrity: sha512-BOVzne/NL162sMdResB25mUv+vWMF5NoAjNf09TeGlE7ZpszZWSD3winycicLJw72yeVsoCn/2kOhEuCvEShMA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 @@ -3093,11 +2841,11 @@ packages: '@vitest/expect@3.2.4': resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/expect@4.1.5': - resolution: {integrity: sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==} + '@vitest/expect@4.1.10': + resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==} - '@vitest/mocker@4.1.5': - resolution: {integrity: sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==} + '@vitest/mocker@4.1.10': + resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3119,14 +2867,11 @@ packages: '@vitest/pretty-format@4.1.10': resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==} - '@vitest/pretty-format@4.1.5': - resolution: {integrity: sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==} + '@vitest/runner@4.1.10': + resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==} - '@vitest/runner@4.1.5': - resolution: {integrity: sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==} - - '@vitest/snapshot@4.1.5': - resolution: {integrity: sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==} + '@vitest/snapshot@4.1.10': + resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==} '@vitest/spy@2.0.5': resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} @@ -3134,8 +2879,8 @@ packages: '@vitest/spy@3.2.4': resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/spy@4.1.5': - resolution: {integrity: sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==} + '@vitest/spy@4.1.10': + resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==} '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} @@ -3149,152 +2894,151 @@ packages: '@vitest/utils@4.1.10': resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} - '@vitest/utils@4.1.5': - resolution: {integrity: sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==} - '@webcontainer/env@1.1.1': resolution: {integrity: sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng==} '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - '@yarnpkg/parsers@3.0.2': - resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} - engines: {node: '>=18.12.0'} + '@yuku-codegen/binding-android-arm64@0.8.4': + resolution: {integrity: sha512-rsYkGl2kOkDRsh1mxriYnk1qBS78vjlBJ3+T2XwtwKwqOliy2n+2Ae0EDxJ/uX1DZLm3KkBZarGO5isEnmHchA==} + cpu: [arm64] + os: [android] - '@yuku-codegen/binding-darwin-arm64@0.6.1': - resolution: {integrity: sha512-LDJtpOKtcv9f3V0eDUwFmmy47t2VC+DAuN+gq80R1IA+fa0d408i6sHsVtt6n+g5rf8f86ySoPSAe94lHt6Ixw==} + '@yuku-codegen/binding-darwin-arm64@0.8.4': + resolution: {integrity: sha512-tNLKzPF3FYmEcHSYvWp/LEpjHHAtDR13hwo6/gdCkYMi9x59CWn2obczKzWNe7kDor4/1AMZuJDEVRpFkTSefw==} cpu: [arm64] os: [darwin] - '@yuku-codegen/binding-darwin-x64@0.6.1': - resolution: {integrity: sha512-fBwpBOh33W7N87F94SVNExwm2KUV3ROhk51okr3Oy2ost1/JJuBWINVjcgwd2WPKZEFzUXgCzj/03UR/G+WIrQ==} + '@yuku-codegen/binding-darwin-x64@0.8.4': + resolution: {integrity: sha512-tK7LWzXNb5JbZpnoCNHB0nEhPFss/LwwehM6m/f0oYDan+iZgFZXzdoy80JdE7dVxjTZDIhUNPx8X8xbIdaoxA==} cpu: [x64] os: [darwin] - '@yuku-codegen/binding-freebsd-x64@0.6.1': - resolution: {integrity: sha512-UpMkskQV3a5oPnJV+GFFupIqnLwSBD4ZsZAVUZuNVkrqct433FHKqTwuG+P5JhHZbmhf+++3Ie/V2sgduyXrAQ==} + '@yuku-codegen/binding-freebsd-x64@0.8.4': + resolution: {integrity: sha512-5MUV4d7g2p5Hd8GiXW6ynTRgYjm4Dw4eM2gaWRZ4crkGetzNx+HlPxcEfGtVNPqH5Qaa4Z2REtzdsdgvaE6/Ng==} cpu: [x64] os: [freebsd] - '@yuku-codegen/binding-linux-arm-gnu@0.6.1': - resolution: {integrity: sha512-HICjDelfEDeD6TD8OEz/Dvt8KHxJiETR+paI/Fr7eVTQbjMfRrXJz8O1qV1qGH5SHZUGl2SAw2Rp+MLtXOjCrQ==} + '@yuku-codegen/binding-linux-arm-gnu@0.8.4': + resolution: {integrity: sha512-g6LnHrR0Rfqq5cXs7olwR2+LlVDc876pw7Hh7YXbukVSiBxQkaxqsEO/trO25z2g99zWzgXwoYvQZ1TnwA2wEw==} cpu: [arm] os: [linux] libc: [glibc] - '@yuku-codegen/binding-linux-arm-musl@0.6.1': - resolution: {integrity: sha512-pUswnwa+WOmtH2ZGOWL05kFLMNY7/TnEAryfIv1yVFzKQnmSy9TKYi3oIOxGZL3w+cdUKCZ6Q+jaD0oI10ztzA==} + '@yuku-codegen/binding-linux-arm-musl@0.8.4': + resolution: {integrity: sha512-7XAPHrROPEFuJWXEGZeLZQN4xR8ENQ65+HSCtCHjSzCwGgnX53GUjM9ExVcHopV0a5g4vu57v2wwtyWIM5iNOQ==} cpu: [arm] os: [linux] libc: [musl] - '@yuku-codegen/binding-linux-arm64-gnu@0.6.1': - resolution: {integrity: sha512-Zro0FOu9clLCmqCnUKzEWHAu30tss0iEfhs+KDXm9Dpm1FkIHAKu43tF6FQU2hsTA7a8xd93NGddzc2EOJFKUg==} + '@yuku-codegen/binding-linux-arm64-gnu@0.8.4': + resolution: {integrity: sha512-fnBm7NLuuwFXy7F1vRIuyOc+RW9ADUjuCKVGY87Dj8jtr9XgESNrwb+B9VLSFY7nZ0rCdK/Sm1fBqJpI7eLdKQ==} cpu: [arm64] os: [linux] libc: [glibc] - '@yuku-codegen/binding-linux-arm64-musl@0.6.1': - resolution: {integrity: sha512-NZaT+mp9toqWuFEA4MYW5HMRxgIa8DCqnTTnM5SrrojZgm4QoMI/mJfifVet1ZHgl/Dly5m6H6GPpq43uXVj8g==} + '@yuku-codegen/binding-linux-arm64-musl@0.8.4': + resolution: {integrity: sha512-6vTw4ZHO9nm4SUkw36uG+UE6/qifZ0E8HIef7Mx/U/c2Zxu3JLBfXtU7U/NN2GMkDmcJkgwjXfpQoYw4Ch5Y1w==} cpu: [arm64] os: [linux] libc: [musl] - '@yuku-codegen/binding-linux-x64-gnu@0.6.1': - resolution: {integrity: sha512-M5macseSCBPvJ4yfKNyQpMc7nBQBtj39MNfMt0r+8UkTnR5qJE00JJx06puHgPxT5hnGxMAuAWZ+3a9H2ngqAw==} + '@yuku-codegen/binding-linux-x64-gnu@0.8.4': + resolution: {integrity: sha512-+vuC3V3Lw+DB4oJgHV9pVDfQZlsZJnxmbdods7HzxgEALU3P5+czwdAcw3wfh7Ebabt0Ny8eLUb1k9RV5OB/+w==} cpu: [x64] os: [linux] libc: [glibc] - '@yuku-codegen/binding-linux-x64-musl@0.6.1': - resolution: {integrity: sha512-liAyBZI5AbazZGeeNfWj0jCD/TE2L84hgVYh4KkjJA/N9bNzFQCDf4BvWP76nEO89r2tIGEUjbXdM4mM26riHg==} + '@yuku-codegen/binding-linux-x64-musl@0.8.4': + resolution: {integrity: sha512-QH60PE4eZecmgNGa1/T1cKPhrfxt6ANtu4lrQ1FZ50F9b0GS9WjGmIjrfdSUeQa+f2Iqk3oEFSJdgVHBg1KPNg==} cpu: [x64] os: [linux] libc: [musl] - '@yuku-codegen/binding-win32-arm64@0.6.1': - resolution: {integrity: sha512-qItzfH3x6MYChPeGfvh22rHD92WLgXQRSuwvspRVSnLvpnubEfZd+9REPRQVT2l9fIuETDCEkDNRqkDROQTkgA==} + '@yuku-codegen/binding-win32-arm64@0.8.4': + resolution: {integrity: sha512-6r68c0nKZPIBRXZIBiD7zjlEukBR+xRxpTOVj4n1Fsjcdh4YbbJfjFfmIzdbo9jXR1xL+dPueDVdsRGOUH5MoQ==} cpu: [arm64] os: [win32] - '@yuku-codegen/binding-win32-x64@0.6.1': - resolution: {integrity: sha512-DFFkKROZ9ZAHmFMUFRtRTkosZds1KH8BOx5t3UpNULIjT3iuUmEx9V5pWR0xOi66sANY38Ap77nz1kOZraQxEg==} + '@yuku-codegen/binding-win32-x64@0.8.4': + resolution: {integrity: sha512-i+BW77LPjNqe7Apq50J3OeEaVfga3G+eT2bKjb6bj4yO99fil/jnKb4ZDH4JLvby/Q7hRa6VicL2EZ7iS+ifzA==} cpu: [x64] os: [win32] - '@yuku-parser/binding-darwin-arm64@0.6.1': - resolution: {integrity: sha512-jORysyRZg5zGDgVw15LGMsjZDh7jwjpUIJRBHgFt0ir15O5pEazfvuF2dnwvrJiTF0IT1EgHAVbTAYJWwQLCjg==} + '@yuku-parser/binding-android-arm64@0.8.4': + resolution: {integrity: sha512-+HIMmv08Zrh9ugIAEMnKBMMePOl7CDxrjc8Vui1+GG2TJHM1yI1+3wo1pnXB6Nj2IiHugDkQw8ycUI6SA2EUkQ==} + cpu: [arm64] + os: [android] + + '@yuku-parser/binding-darwin-arm64@0.8.4': + resolution: {integrity: sha512-Elf/B/2m3OsyvxoQnBk8Dtu+9csHkzBNs5Yv9GbHjT3x0kVKNWjFusyZgm41VwxcPDqdpRi8tWxNX7OqXkmf/A==} cpu: [arm64] os: [darwin] - '@yuku-parser/binding-darwin-x64@0.6.1': - resolution: {integrity: sha512-dTeYFkkFlbP/WCB2DtezXas3NApOPtFlXSdssB7wGtY9wpNp4HAkVo1KBwI5mcHK0e2joyUcqTSf44mFE+q7vg==} + '@yuku-parser/binding-darwin-x64@0.8.4': + resolution: {integrity: sha512-CjZuMoXnL5XUkVpDqh4WDPwpAw8CwmtHHnTerGkS45So/sNuwkXdyIAEqqIZfaLopi5W/V9NApAT2md9XizjsQ==} cpu: [x64] os: [darwin] - '@yuku-parser/binding-freebsd-x64@0.6.1': - resolution: {integrity: sha512-GExDp3rebo28mt3EAjvKQs0ZC3gkznAErV0I9TUNDa9muuhvD35kft61Mpsc6+NWeE+BG+kUyKbm6iO5B6ZMMA==} + '@yuku-parser/binding-freebsd-x64@0.8.4': + resolution: {integrity: sha512-ibLKORdz71iI4Vs+fyFgvwQ51P5XcxJIyQLa8cSEWqwptRdo+BTcZHIQEcZnFDPUuvmJ19RRH9CoiJdfhr7pZw==} cpu: [x64] os: [freebsd] - '@yuku-parser/binding-linux-arm-gnu@0.6.1': - resolution: {integrity: sha512-a9MjABj4J0VE3Z2oROGhmeddZZrhwwrnl4ZWZOuHUhD/smDtDiNtr0LpCbKB7rEYaQ29snopOPdZ/0T3YgLglQ==} + '@yuku-parser/binding-linux-arm-gnu@0.8.4': + resolution: {integrity: sha512-Fo3r5fYhGDcFnl+KN+L9PgtiQPS4AIE1n1mG1o5jZ11p7g5yZ/1EjLFmSHAUsoXreun8KjTsFjEL7P1Sb93PZQ==} cpu: [arm] os: [linux] libc: [glibc] - '@yuku-parser/binding-linux-arm-musl@0.6.1': - resolution: {integrity: sha512-ctuvXJgDRKKlmJfHxT4RsTvcAcHEFNJHTCsGbtt4rluQpVDc+ezk9JvQ534ehoIfZ9T0eIHSBgqYAZ4xCatNmQ==} + '@yuku-parser/binding-linux-arm-musl@0.8.4': + resolution: {integrity: sha512-BEB31vUEgXPWf7WkoMPSzzJhpC/wWCBXyysRCCPsw47BJ/OtbQsvJbxX9fFDuSRLy3kbyIV/WbdUTgbQ9COxiw==} cpu: [arm] os: [linux] libc: [musl] - '@yuku-parser/binding-linux-arm64-gnu@0.6.1': - resolution: {integrity: sha512-vRtyoTtT0Ltowuh9LWOl/ZNU9h79J89ilOz5SEGspcw0jfhoUt19i07VNitll4jjfg5p2EN00q+MqX0pAobrFw==} + '@yuku-parser/binding-linux-arm64-gnu@0.8.4': + resolution: {integrity: sha512-xGLCRcHn9xVz7JVNyyKtiNJSf503qtUmih9XVSsghgzOmiKUMnHObs69OMMwXN3788tg1jsl11fNjjQlB8idMA==} cpu: [arm64] os: [linux] libc: [glibc] - '@yuku-parser/binding-linux-arm64-musl@0.6.1': - resolution: {integrity: sha512-vCsc3GOe1ylmRyfo/WLjIhjiCmaTtJbWNF4ZtgjNegDjpsRsFuCcP9duXB41QcfnJK38repKVFqFh0LR3l48FA==} + '@yuku-parser/binding-linux-arm64-musl@0.8.4': + resolution: {integrity: sha512-3kNRi8NJT2q6FQRVCUFHIQ99+kXdi8cVJEEUi6+xtFqpMgNrZNnbgAj28ILsDC7zmclaU+v47eUCeJoKLSCbww==} cpu: [arm64] os: [linux] libc: [musl] - '@yuku-parser/binding-linux-x64-gnu@0.6.1': - resolution: {integrity: sha512-gw3d81RdUHSYwjDW2IG6gEtm4VDoPP4ZOqpuC6Nc8+UBfos+4gTWOgzmuxIOVhkSV2fJCcUDpSJIlPzEU0FLZw==} + '@yuku-parser/binding-linux-x64-gnu@0.8.4': + resolution: {integrity: sha512-isi62oMy94Z3OXwGs2l2rkqRiRyqLmfHeTRHpA/uWZbsNhnm7IdVvkF7e7wHNKAtd5jwGzOqYSroxKv2fOm7Cw==} cpu: [x64] os: [linux] libc: [glibc] - '@yuku-parser/binding-linux-x64-musl@0.6.1': - resolution: {integrity: sha512-nzU+Doq9UgZvYYvald36lZJ2Neeyheije6WE/YpoFt/oJiNmnjArRgr2CMtb/7gWBl80YSMwcHK4Ju0E+7wfWg==} + '@yuku-parser/binding-linux-x64-musl@0.8.4': + resolution: {integrity: sha512-9RsEw2xYHqU/pjSRBTOupWN3sF8uz9stjJdARfz6o0llvF+yfrj5QHmTiocGGBeAI80fvKmDtr2RIQClUzAPcA==} cpu: [x64] os: [linux] libc: [musl] - '@yuku-parser/binding-win32-arm64@0.6.1': - resolution: {integrity: sha512-r3tXFVDliWCPe7TL6DVxUkT4rkqnXyeFVSEDf+V9My6Gztq99/gIe3POQqFbshTRuSrpEYMGMbGxeFh+m+stxA==} + '@yuku-parser/binding-win32-arm64@0.8.4': + resolution: {integrity: sha512-VEZHo9rEGOBKR20sA3vCO00aQvwWND5aLu7YxeX+YupMZJh9hd1f17AbClJN37Q2iL1PCHht+wDTOKX6tZYqXg==} cpu: [arm64] os: [win32] - '@yuku-parser/binding-win32-x64@0.6.1': - resolution: {integrity: sha512-FqYMOqeCS2XTdn5yvaKlOhtSQ84mVO3aTXp6LGfMd9Zq8RsV4H8qLWv+sxJsgPCXfuBV64u8/f+CTr3uIwNLWA==} + '@yuku-parser/binding-win32-x64@0.8.4': + resolution: {integrity: sha512-PeH3VzN1feGjPtDpVEAqf000fPT+nxtw/696LKp/5Z9RJi/MaXpB636QC+5QtrAPSoEnIkyEe+c+mq2QLZPWBA==} cpu: [x64] os: [win32] - '@yuku-toolchain/types@0.5.43': - resolution: {integrity: sha512-kSpvPntnXw5+lYjO71ffBEnQ5ycQ74KGIYknh0TS4xeyCuBkOqxyJumxZkMhLBBUCLjDAbx2+Icnr3Zh4ftjpQ==} + '@yuku-toolchain/types@0.8.4': + resolution: {integrity: sha512-p7JE8flrj7ijZ/qLjHi4UwKqMarMD6zumbKXhrjp2I2iLJOuTYiQyci2U36VlXcUlNyzsY7E/mLnKCHotbzJVw==} '@zkochan/js-yaml@0.0.7': resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} hasBin: true - JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - abbrev@3.0.1: resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -3303,20 +3047,17 @@ packages: resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} engines: {node: ^20.17.0 || >=22.9.0} - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} engines: {node: '>=0.4.0'} hasBin: true - add-stream@1.0.0: - resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} - agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - agent-base@7.1.3: - resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} aggregate-error@3.1.0: @@ -3327,16 +3068,16 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - ansi-escapes@7.2.0: - resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} engines: {node: '>=18'} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} ansi-styles@4.3.0: @@ -3347,10 +3088,6 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - ansis@4.3.1: resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==} engines: {node: '>=14'} @@ -3358,32 +3095,27 @@ packages: any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + argue-cli@3.1.0: + resolution: {integrity: sha512-DhBpBfXL4SS2uC0N922MMajKR3CdrTG0u2or1PNYgXMsrSzViJrbtvT0nCLlLGUI0plam/ZZCs7aAauHtW9thw==} + engines: {node: '>=22'} + aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} - array-ify@1.0.0: - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -3392,21 +3124,21 @@ packages: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} - ast-v8-to-istanbul@1.0.0: - resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==} - - async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + ast-v8-to-istanbul@1.0.5: + resolution: {integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + auto-console-group@1.3.0: + resolution: {integrity: sha512-W/G5jy1ZPeVYPyqOVGND7EjbzrsLgRD3s+1QegXfJ7bYlphFxjqG60rviFXWw0d2YCj0Clc7hU5/nTqrBEhBIw==} + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.17.0: - resolution: {integrity: sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==} + axios@1.19.0: + resolution: {integrity: sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw==} babel-loader@10.1.1: resolution: {integrity: sha512-JwKSzk2kjIe7mgPK+/lyZ2QAaJcpahNAdM+hgR2HI8D0OJVkdj8Rl6J3kaLYki9pwF7P2iWnD8qVv80Lq1ABtg==} @@ -3421,20 +3153,11 @@ packages: webpack: optional: true - babel-plugin-polyfill-corejs2@0.4.17: - resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.14.2: - resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.8: - resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} + babel-plugin-polyfill-corejs3@1.0.0: + resolution: {integrity: sha512-yIkslVjbmml2Xjb6XhFW7lISXHsqk6cesxTdDsXoMom4Lnb99DbD3OQbSOoM5Z+ASh8YXYaLAsRQrU2Jeh3Qig==} + engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.4.0 || ^8.0.0 babel-plugin-react-compiler@1.0.0: resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==} @@ -3445,15 +3168,16 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - balanced-match@4.0.4: - resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} - engines: {node: 18 || 20 || >=22} + balanced-match@4.0.3: + resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} + engines: {node: 20 || >=22} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.9.9: - resolution: {integrity: sha512-V8fbOCSeOFvlDj7LLChUcqbZrdKD9RU/VR260piF1790vT0mfLSwGc/Qzxv3IqiTukOpNtItePa0HBpMAj7MDg==} + baseline-browser-mapping@2.11.13: + resolution: {integrity: sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==} + engines: {node: '>=6.0.0'} hasBin: true before-after-hook@2.2.3: @@ -3469,24 +3193,21 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + brace-expansion@1.1.18: + resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==} - brace-expansion@5.0.5: - resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} - engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.9: + resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} + engines: {node: 20 || >=22} - braintree-web@3.143.0: - resolution: {integrity: sha512-09jPd9s9gpLNjAUjUQ02E8TodR/kYcMpJGGZlgLn4EihR7YQh3xeedEPCDrpwRzFI4Q7a6i9LPWkYyVh1Kr8Ow==} + braintree-web@3.144.0: + resolution: {integrity: sha512-jYQAcqtH12XBN9laa347gkhJZel2q8Hrd3TUa3tc0IFSNwrMK/SN75m3GtRgfCf9AzHr628HcOb9O9vae+lujA==} - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + browserslist@4.28.8: + resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -3494,24 +3215,20 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - byte-size@8.1.1: - resolution: {integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==} - engines: {node: '>=12.17'} - cac@7.0.0: resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} engines: {node: '>=20.19.0'} - cacache@20.0.3: - resolution: {integrity: sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==} + cacache@20.0.4: + resolution: {integrity: sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==} engines: {node: ^20.17.0 || >=22.9.0} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} engines: {node: '>= 0.4'} call-bound@1.0.4: @@ -3522,16 +3239,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - caniuse-lite@1.0.30001760: - resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==} + caniuse-lite@1.0.30001809: + resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} card-validator@10.0.3: resolution: {integrity: sha512-xOEDsK3hojV0OIpmrR64eZGpngnOqRDEP20O+WSRtvjLSW6nyekW4i2N9SzYg679uFO3RyHcFHxb+mml5tXc4A==} @@ -3551,10 +3260,6 @@ packages: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} - chalk@4.1.0: - resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} - engines: {node: '>=10'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -3570,8 +3275,8 @@ packages: character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - chardet@2.1.1: - resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + chardet@2.2.0: + resolution: {integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==} check-error@2.1.3: resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} @@ -3581,8 +3286,9 @@ packages: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} - chromatic@16.10.0: - resolution: {integrity: sha512-nFsztmnu7rFiGafUJgXvLUNpqmRylz92eNvzBoJNTKKQj4EQUyxznwnfpf1dTs7hXtWD8JwcH92jADydaHA1sw==} + chromatic@18.1.0: + resolution: {integrity: sha512-I9av8lUc5CQRlYzwKpmOG9cwYvZ4AFmTvtHeNrzOMC1353F9xYw45CHpSNIsNKuOiqqmzci9esXQd5akl0fi6w==} + engines: {node: '>=22.0.0'} hasBin: true peerDependencies: '@chromatic-com/cypress': ^0.*.* || ^1.0.0 @@ -3596,10 +3302,6 @@ packages: '@chromatic-com/vitest': optional: true - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - ci-info@4.3.1: resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} engines: {node: '>=8'} @@ -3627,10 +3329,6 @@ packages: resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} engines: {node: '>=6'} - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - cli-table3@0.6.5: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} @@ -3665,10 +3363,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - columnify@1.6.0: resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} engines: {node: '>=8.0.0'} @@ -3684,49 +3378,39 @@ packages: common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - compare-func@2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - - console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - - conventional-changelog-angular@7.0.0: - resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} - engines: {node: '>=16'} + conventional-changelog-angular@9.2.1: + resolution: {integrity: sha512-oWSL6ZhnXbYraOFTK3PgRAQJ8fADDAEv5K6AdeyQPLvjFmhG8+ejL0jZZp/R7vTmGJaBvZEE+sE7dB4bCv7sAw==} + engines: {node: '>=22'} - conventional-changelog-core@5.0.1: - resolution: {integrity: sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==} - engines: {node: '>=14'} - deprecated: Deprecated and no longer maintained. Please use conventional-changelog instead. + conventional-changelog-preset-loader@6.0.1: + resolution: {integrity: sha512-GZ8E3RQzXQb3JFy0pKl8oeSf7ENIhvAMvJr+PlWkavZOesLHHdhkfNJ4SvW35eo1Fu2+EyVxWQ1tVvtzAG2iWg==} + engines: {node: '>=22'} - conventional-changelog-preset-loader@3.0.0: - resolution: {integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==} - engines: {node: '>=14'} + conventional-changelog-writer@9.2.1: + resolution: {integrity: sha512-StlYSmW3wLedRaqohJMpP3YuWiAqtgD0/cpsai9frdDkXv7rxj0hRbpJrubPYvJxJsjplONsOobEQnPuS9UgCg==} + engines: {node: '>=22'} + hasBin: true - conventional-changelog-writer@6.0.1: - resolution: {integrity: sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==} - engines: {node: '>=14'} + conventional-changelog@8.1.0: + resolution: {integrity: sha512-idt1JK+3+Nt7gqH/d/sEYWdDeR+5XPov/jssmFN6XxmYSRlonTWSDWhWUPkmm0zbwYjtVdt+4My5aiPkKyvocw==} + engines: {node: '>=22'} hasBin: true - conventional-commits-filter@3.0.0: - resolution: {integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==} - engines: {node: '>=14'} + conventional-commits-filter@6.0.1: + resolution: {integrity: sha512-cs+LadpH7Kpw0M3k8wurk+sOVVDAENA0iK4OBOrkL94j5lEVYRJ4j3zd2bhY9qgzyrPqthdcYT3axzRN7AliMg==} + engines: {node: '>=22'} - conventional-commits-parser@4.0.0: - resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} - engines: {node: '>=14'} + conventional-commits-parser@7.1.0: + resolution: {integrity: sha512-DPp6hkUjvwIivxbkrTiLXeRswNv1A/4GFA2X6scXma0AMa9632V3TwxmrlkUIEtUktiM3Ln+RrSH2xlP3/jUTw==} + engines: {node: '>=22'} hasBin: true - conventional-recommended-bump@7.0.1: - resolution: {integrity: sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==} - engines: {node: '>=14'} + conventional-recommended-bump@12.1.0: + resolution: {integrity: sha512-HTNG3kEZXOOfKwrEx54ljURU9bG4nVPQzXMyCSeUcA/PE8EpNpQNujSrbXNBI8QZyN35zM+pVw+FuQk4KqHSHg==} + engines: {node: '>=22'} hasBin: true convert-source-map@2.0.0: @@ -3736,11 +3420,9 @@ packages: resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} engines: {node: '>=18'} - core-js-compat@3.49.0: - resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + core-js-compat@3.50.0: + resolution: {integrity: sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==} + engines: {node: '>=6.4.0'} cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} @@ -3751,9 +3433,6 @@ packages: typescript: optional: true - credit-card-type@10.1.0: - resolution: {integrity: sha512-yd9ebGqWQ9zDvxrvCOkX80GiTvVJ28940uIMqRA58Cu3ReiPkOS4p45d9Y2cmJZtZgp90WdwLSiUtI8lHDgE2g==} - credit-card-type@10.2.0: resolution: {integrity: sha512-1bChi7rCJki1/EML5yYy6uVV6mE21/qFUJCTiDUfq4zl3kjXVqLTDd/wI1+Yqk4NlR4fNTJXj6tLEpECWrlY7w==} @@ -3776,17 +3455,10 @@ packages: csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} - data-urls@7.0.0: resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - dateformat@3.0.3: - resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -3796,19 +3468,11 @@ packages: supports-color: optional: true - decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - decode-named-character-reference@1.1.0: - resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} dedent@1.5.3: resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} @@ -3826,12 +3490,20 @@ packages: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + default-browser-id@5.0.1: resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} engines: {node: '>=18'} - default-browser@5.4.0: - resolution: {integrity: sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==} + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + + default-browser@5.5.0: + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} engines: {node: '>=18'} defaults@1.0.4: @@ -3841,10 +3513,6 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} @@ -3887,12 +3555,8 @@ packages: dom-accessibility-api@0.6.3: resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - - dotenv-expand@11.0.7: - resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + dotenv-expand@12.0.3: + resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} engines: {node: '>=12'} dotenv@16.4.7: @@ -3912,23 +3576,17 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} + ejs@5.0.1: + resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==} + engines: {node: '>=0.12.18'} hasBin: true - electron-to-chromium@1.5.267: - resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + electron-to-chromium@1.5.403: + resolution: {integrity: sha512-MQsYmdaLzvaCX5j+ZZBr5Fm6uCCnPQcRtlvmvRlWqrXy+BH2O4ffXIAScF+JQznQWB9brWp4lSD9Z4yNmaf2BA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - emojilib@2.4.0: resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} @@ -3939,8 +3597,8 @@ packages: encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} @@ -3970,8 +3628,8 @@ packages: err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} @@ -3984,19 +3642,23 @@ packages: es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - es-module-lexer@2.0.0: - resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + es-set-tostringtag@2.1.0: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} engines: {node: '>=18'} hasBin: true @@ -4037,12 +3699,12 @@ packages: resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==} engines: {node: '>=10'} - expect-type@1.3.0: - resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} engines: {node: '>=12.0.0'} - exponential-backoff@3.1.2: - resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -4053,8 +3715,11 @@ packages: fast-string-width@3.0.2: resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} - fast-wrap-ansi@0.2.0: - resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==} + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} + + fd-package-json@2.0.0: + resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} @@ -4075,13 +3740,6 @@ packages: file-system-cache@2.3.0: resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==} - filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - - find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -4111,12 +3769,12 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} engines: {node: '>= 6'} - framebus@6.0.3: - resolution: {integrity: sha512-G/N2p+kFZ1xPBge7tbtTq2KcTR1kSKs1rVbTqH//WdtvJSexS33fsTTOq3yfUWvUczqhujyaFc+omawC9YyRBg==} + framebus@6.1.0: + resolution: {integrity: sha512-duaN1OV9gU0yDeEqiJaHs/130e8KXatX2yxTzBheR8UK1pFgxMUknhFS2FEIJRGbsEiXPTHsXC6+gfvJHvie6w==} frames-react@1.2.4: resolution: {integrity: sha512-W3x2MJ+YLf1AIzGpBOkMQ+dtN+BQZfjkyZZElVu1+3M6lwYPeXgS467S07GJIagfiplGu0XEMT8zqw0qW0sjMQ==} @@ -4124,9 +3782,6 @@ packages: react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - front-matter@4.0.2: - resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} - fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -4134,8 +3789,8 @@ packages: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} - fs-extra@11.3.0: - resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + fs-extra@11.4.0: + resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==} engines: {node: '>=14.14'} fs-minipass@3.0.3: @@ -4170,11 +3825,6 @@ packages: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} - get-pkg-repo@4.2.1: - resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} - engines: {node: '>=6.9.0'} - hasBin: true - get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} @@ -4183,43 +3833,16 @@ packages: resolution: {integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==} engines: {node: '>=10'} - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - get-tsconfig@5.0.0-beta.5: resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} engines: {node: '>=20.20.0'} - git-raw-commits@3.0.0: - resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==} - engines: {node: '>=14'} - deprecated: Deprecated and no longer maintained. Use @conventional-changelog/git-client instead. - hasBin: true - - git-remote-origin-url@2.0.0: - resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==} - engines: {node: '>=4'} - - git-semver-tags@5.0.1: - resolution: {integrity: sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==} - engines: {node: '>=14'} - deprecated: Deprecated and no longer maintained. Use @conventional-changelog/git-client instead. - hasBin: true - git-up@7.0.0: resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} git-url-parse@14.0.0: resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} - gitconfiglocal@1.0.0: - resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - glob@11.1.0: resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} engines: {node: 20 || >=22} @@ -4240,8 +3863,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphql@16.14.0: - resolution: {integrity: sha512-BBvQ/406p+4CZbTpCbVPSxfzrZrbnuWSP1ELYgyS6B+hNeKzgrdB4JczCa5VZUBQrDa9hUngm0KnexY6pJRN5Q==} + graphql@16.14.2: + resolution: {integrity: sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} handlebars@4.7.9: @@ -4249,10 +3872,6 @@ packages: engines: {node: '>=0.4.7'} hasBin: true - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} @@ -4272,11 +3891,8 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} headers-polyfill@5.0.1: @@ -4288,19 +3904,12 @@ packages: hookable@6.1.1: resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - - hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} - hosted-git-info@8.1.0: resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==} engines: {node: ^18.17.0 || >=20.5.0} - hosted-git-info@9.0.2: - resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==} + hosted-git-info@9.0.3: + resolution: {integrity: sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==} engines: {node: ^20.17.0 || >=22.9.0} html-encoding-sniffer@6.0.0: @@ -4310,8 +3919,8 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} @@ -4338,17 +3947,13 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - iconv-lite@0.7.1: - resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==} + iconv-lite@0.7.3: + resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} engines: {node: '>=0.10.0'} ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - iframe-resizer@4.4.5: - resolution: {integrity: sha512-U8bCywf/Gh07O69RXo6dXAzTtODQrxaHGHRI7Nt4ipXsuq6EMxVsOP/jjaP43YtXz/ibESS0uSVDN3sOGCzSmw==} - engines: {node: '>=0.8.0'} - ignore-walk@8.0.0: resolution: {integrity: sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==} engines: {node: ^20.17.0 || >=22.9.0} @@ -4366,6 +3971,9 @@ packages: engines: {node: '>=8'} hasBin: true + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + import-without-cache@0.4.0: resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} engines: {node: ^22.18.0 || >=24.0.0} @@ -4412,8 +4020,8 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - ip-address@9.0.5: - resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + ip-address@10.5.0: + resolution: {integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==} engines: {node: '>= 12'} is-arguments@1.2.0: @@ -4439,40 +4047,23 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} is-date-object@1.1.0: resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -4493,14 +4084,6 @@ packages: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -4535,10 +4118,6 @@ packages: resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} - is-text-path@1.0.1: - resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} - engines: {node: '>=0.10.0'} - is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} @@ -4555,16 +4134,13 @@ packages: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -4572,9 +4148,13 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} + isexe@3.1.5: + resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} + engines: {node: '>=18'} + + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} @@ -4588,23 +4168,10 @@ packages: resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} - jackspeak@4.1.1: - resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + jackspeak@4.2.3: + resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} engines: {node: 20 || >=22} - jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} - engines: {node: '>=10'} - hasBin: true - - jest-diff@30.2.0: - resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jiti@2.7.0: - resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} - hasBin: true - js-cookie@3.0.8: resolution: {integrity: sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==} @@ -4614,22 +4181,15 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + js-yaml@4.3.1: + resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} hasBin: true - js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} - hasBin: true - - jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - - jsdom@29.1.1: - resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} + jsdom@30.0.1: + resolution: {integrity: sha512-52v7mUVUfNQVYYqE1lcdaymWL0njO7lTLUog6ZvW2U5KsbiLk/GnZlVJ+qx0xfNJZ6Gn+KSpPNE52vurbxZwrA==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} peerDependencies: - canvas: ^3.0.0 + canvas: ^3.2.3 peerDependenciesMeta: canvas: optional: true @@ -4639,9 +4199,6 @@ packages: engines: {node: '>=6'} hasBin: true - json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -4659,22 +4216,16 @@ packages: json-stringify-nice@1.1.4: resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==} - json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} @@ -4686,13 +4237,9 @@ packages: just-diff@6.0.2: resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==} - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - lerna@9.0.7: - resolution: {integrity: sha512-PMjbSWYfwL1yZ5c1D2PZuFyzmtYhLdn0f76uG8L25g6eYy34j+2jPb4Q6USx1UJvxVtxkdVEeAAWS/WxgJ8VZA==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + lerna@10.0.0: + resolution: {integrity: sha512-U1Rkz2lMZEGstg7h6vw2LfuGNTomXANZ+mX80+3pR0L2RWWcXI/gZJya9EDq4wTY+1AoUzhNNUnlAEWdFugisw==} + engines: {node: ^22.13.0 || ^24.0.0 || ^26.0.0} hasBin: true libnpmaccess@10.0.3: @@ -4703,78 +4250,78 @@ packages: resolution: {integrity: sha512-tNcU3cLH7toloAzhOOrBDhjzgbxpyuYvkf+BPPnnJCdc5EIcdJ8JcT+SglvCQKKyZ6m9dVXtCVlJcA6csxKdEA==} engines: {node: ^20.17.0 || >=22.9.0} - lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] - lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] - lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] - lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} lines-and-columns@1.2.4: @@ -4784,18 +4331,10 @@ packages: resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} - load-json-file@6.2.0: resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} engines: {node: '>=8'} - locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -4807,9 +4346,6 @@ packages: lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.ismatch@4.4.0: - resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} - lodash@4.18.1: resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} @@ -4830,21 +4366,13 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.3.2: - resolution: {integrity: sha512-wgWa6FWQ3QRRJbIjbsldRJZxdxYngT/dO0I5Ynmlnin8qy7tC6xYzbcJjtN4wHLXtkbVwHzk0C+OejVw1XM+DQ==} - engines: {node: 20 || >=22} - - lru-cache@11.3.6: - resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==} + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} engines: {node: 20 || >=22} lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -4852,8 +4380,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.5.2: - resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} + magicast@0.5.4: + resolution: {integrity: sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==} make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -4863,13 +4391,9 @@ packages: resolution: {integrity: sha512-sI1NY4lWlXBAfjmCtVWIIpBypbBdhHtcjnwnv+gtCnsaOffyFil3aidszGC8hgzJe+fT1qix05sWxmD/Bmf/oQ==} engines: {node: ^20.17.0 || >=22.9.0} - map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - - map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} + make-fetch-happen@15.0.6: + resolution: {integrity: sha512-Je0fLJ0F5atA7F+eIlLzk+Wkcl57JDf4kf+EW8xiP5E31xOQxkIxTbgf1Oi1Lw9tRI9UEMRdI5Vz2xTzoNU1Jw==} + engines: {node: ^20.17.0 || >=22.9.0} map-or-similar@1.5.0: resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==} @@ -4895,8 +4419,8 @@ packages: mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - mdast-util-from-markdown@2.0.2: - resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} @@ -4931,10 +4455,6 @@ packages: memoizerific@1.11.3: resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} - meow@8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} - merge-anything@5.1.7: resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} engines: {node: '>=12.13'} @@ -5046,13 +4566,13 @@ packages: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} + minimatch@10.2.6: + resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} + engines: {node: 18 || 20 || >=22} + minimatch@3.1.4: resolution: {integrity: sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==} - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -5064,8 +4584,12 @@ packages: resolution: {integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==} engines: {node: ^18.17.0 || >=20.5.0} - minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + minipass-fetch@5.0.2: + resolution: {integrity: sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + minipass-flush@1.0.7: + resolution: {integrity: sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==} engines: {node: '>= 8'} minipass-pipeline@1.2.4: @@ -5076,6 +4600,10 @@ packages: resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} engines: {node: '>=8'} + minipass-sized@2.0.0: + resolution: {integrity: sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==} + engines: {node: '>=8'} + minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -5088,10 +4616,6 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} - modify-values@1.0.1: - resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} - engines: {node: '>=0.10.0'} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -5116,8 +4640,8 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -5132,16 +4656,14 @@ packages: resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} engines: {node: '>=18'} - node-gyp@12.2.0: - resolution: {integrity: sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==} + node-gyp@12.4.0: + resolution: {integrity: sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==} engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-machine-id@1.1.12: - resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + node-releases@2.0.53: + resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + engines: {node: '>=18'} nopt@8.1.0: resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} @@ -5153,13 +4675,6 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} - npm-bundled@4.0.0: resolution: {integrity: sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -5212,12 +4727,12 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - nx@22.2.7: - resolution: {integrity: sha512-6eV1FojJTKIp7eE1WYnPNI3htvuJBHKtGMqhLoi0BOqi/nMhOH/vKK0ms3TCWxyI9pu0hMUJuWESmtAozNpmlA==} + nx@23.1.1: + resolution: {integrity: sha512-oDdW2JgVllgfyyN6OqlRzeABw0QrlXdxyl9rtOUMMXQzlkpYA1RTs8jinJCe6QSo7aEn0dZ+Ar7dd09hMudBsg==} hasBin: true peerDependencies: - '@swc-node/register': ^1.8.0 - '@swc/core': ^1.3.85 + '@swc-node/register': ^1.11.1 + '@swc/core': ^1.15.8 peerDependenciesMeta: '@swc-node/register': optional: true @@ -5255,16 +4770,16 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + open@10.2.0: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - - ora@5.3.0: - resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} outvariant@1.4.3: @@ -5281,10 +4796,6 @@ packages: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} - p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -5293,10 +4804,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -5305,46 +4812,26 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map-series@2.1.0: - resolution: {integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==} - engines: {node: '>=8'} - p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} - p-map@7.0.4: - resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} + p-map@7.0.6: + resolution: {integrity: sha512-I4Prw6ivkd6p8PiYR1tXASOAOBzIJwu0TB7fqaX0c/8c3QAehNYmX57EijyGGGBt3c/BIowGwV03RVBtXvHEVg==} engines: {node: '>=18'} - p-pipe@3.1.0: - resolution: {integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==} - engines: {node: '>=8'} - p-queue@6.6.2: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} engines: {node: '>=8'} - p-reduce@2.1.0: - resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} - engines: {node: '>=8'} - p-timeout@3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} - p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - p-waterfall@2.1.1: - resolution: {integrity: sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==} - engines: {node: '>=8'} - package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} @@ -5353,8 +4840,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - pacote@21.0.4: - resolution: {integrity: sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==} + pacote@21.5.1: + resolution: {integrity: sha512-KvcJ9iy3crysCsgqc4+PknH/w6jkrp8JN36mpZBPwNaDRwTfMZD37YzRazNstiZUOhuF5pno9f78n9mEJBavwg==} engines: {node: ^20.17.0 || >=22.9.0} hasBin: true @@ -5366,16 +4853,12 @@ packages: resolution: {integrity: sha512-37CN2VtcuvKgHUs8+0b1uJeEsbGn61GRHz469C94P5xiOoqpDYJYwjg4RY9Vmz39WyZAVkR5++nbJwLMIgOCnQ==} engines: {node: ^18.17.0 || >=20.5.0} - parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parse-path@7.0.1: - resolution: {integrity: sha512-6ReLMptznuuOEzLoGEa+I1oWRSj2Zna5jLWC+l6zlfAI4dbbSaIES29ThzuPkbhNahT65dWzfoZEO6cfJw2Ksg==} + parse-path@7.1.0: + resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==} parse-url@8.1.0: resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} @@ -5392,10 +4875,6 @@ packages: parse5@8.0.1: resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==} - path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -5414,10 +4893,6 @@ packages: path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -5435,26 +4910,18 @@ packages: picoquery@2.5.0: resolution: {integrity: sha512-j1kgOFxtaCyoFCkpoYG2Oj3OdGakadO7HZ7o5CqyRazlmBekKhbDoUnNnXASE07xSY4nDImWZkrZv7toSxMi/g==} - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - - pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - playwright-core@1.61.1: - resolution: {integrity: sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==} - engines: {node: '>=18'} + playwright-core@1.62.1: + resolution: {integrity: sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==} + engines: {node: '>=20'} hasBin: true - playwright@1.61.1: - resolution: {integrity: sha512-DWnY5o3YbLWK4GovuAVwpqL+1VwGNdUGrRr++8j8PtQQzvAVZUIMjKQ90fY689sEJZJBbZVw1rXaOKSTitkzPQ==} - engines: {node: '>=18'} + playwright@1.62.1: + resolution: {integrity: sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==} + engines: {node: '>=20'} hasBin: true polished@4.3.1: @@ -5465,12 +4932,12 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + postcss-selector-parser@7.1.5: + resolution: {integrity: sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==} engines: {node: '>=4'} - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} + postcss@8.5.26: + resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} engines: {node: ^10 || ^12 || >=14} preact@10.29.2: @@ -5480,10 +4947,6 @@ packages: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - pretty-format@30.2.0: - resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - proc-log@5.0.0: resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -5492,9 +4955,6 @@ packages: resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} engines: {node: ^20.17.0 || >=22.9.0} - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - proggy@3.0.0: resolution: {integrity: sha512-QE8RApCM3IaRRxVzxrjbgNMpQEX6Wu0p0KBeoSiSEw5/bsGwZHsshF4LCxH2jp/r6BU+bqA3LrMDEYNfJnpD8Q==} engines: {node: ^18.17.0 || >=20.5.0} @@ -5533,22 +4993,18 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.15.2: - resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} + qs@6.15.3: + resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} engines: {node: '>=0.6'} quansync@1.0.0: resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - ramda@0.29.0: resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} - rapid-form@4.0.4: - resolution: {integrity: sha512-w0FvI95jajaBo8nrWk99voDcUv8AIc4RVy0c8dvoJwV9fdwQTUrNo8gWttWKQQt8dMGzY3o4HLdFshtx1gXt6w==} + rapid-form@5.0.0: + resolution: {integrity: sha512-jb6wXx4yXCgh7pPbewbxogbYzJbi6mjR7Yu+yOIRtwcDIiPtmv3lL1Qj5iYJtBjrdQAac1/HFWRiRsaeNFlqVA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' @@ -5562,15 +5018,10 @@ packages: resolution: {integrity: sha512-aEZ9qP+/M+58x2qgfSFEWH1BxLyHe5+qkLNJOZQb5iGS017jpbRnoKhNRrXPeA6RfBrZO5wZrT9DMC1UqE1f1w==} engines: {node: ^20.9.0 || >=22} - react-dom@19.2.6: - resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + react-dom@19.2.8: + resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} peerDependencies: - react: ^19.2.6 - - react-dom@19.2.7: - resolution: {integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==} - peerDependencies: - react: ^19.2.7 + react: ^19.2.8 react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -5578,29 +5029,22 @@ packages: react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-is@19.2.8: + resolution: {integrity: sha512-s5un28nYxKJw5gvUHyW5PCC28CvBqLu9r3cWgzHT4Vo/5fqqkFcdRYsGcKf50WMPpjjFZS5d76fn3YCo2njKwQ==} - react-is@19.2.7: - resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} - - react-test-renderer@19.2.7: - resolution: {integrity: sha512-U4TyPDJ9MsC8rFimXuJum8w40aPc9kbOZYO8Pc2/4A884i8hwJsMNA/JNyuOc/f2/37wHvk7HjpVl1V4re7Dig==} + react-test-renderer@19.2.8: + resolution: {integrity: sha512-GHKPaDRaNYU24PHTLG8Bx8VMY9t+qNfxQbt/Yjp7aMWBkKU6766SR0n6TnYu7P5I1MfEuAMUadqiyDHyI4Yy9Q==} peerDependencies: - react: ^19.2.7 + react: ^19.2.8 - react-window@2.2.3: - resolution: {integrity: sha512-gTRqQYC8ojbiXyd9duYFiSn2TJw0ROXCgYjenOvNKITWzK0m0eCvkUsEUM08xvydkMh7ncp+LE0uS3DeNGZxnQ==} + react-window@2.3.0: + resolution: {integrity: sha512-FW6TIpaOH646k51X7yE+LSCWGkt5Pfsnc1fVyq/sCI9h0pTqmMiBXM04pzFKg3Bt7NGkeV6kqbU8d/QjmFS7Ug==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - react@19.2.6: - resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} - engines: {node: '>=0.10.0'} - - react@19.2.7: - resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} + react@19.2.8: + resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} engines: {node: '>=0.10.0'} read-cmd-shim@4.0.0: @@ -5611,35 +5055,16 @@ packages: resolution: {integrity: sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw==} engines: {node: ^18.17.0 || >=20.5.0} - read-pkg-up@3.0.0: - resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} - engines: {node: '>=4'} - - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - read@4.1.0: resolution: {integrity: sha512-uRfX6K+f+R8OOrYScaM3ixPY4erg69f8DN6pgTvMcA9iRc8iDhwrA4m3Yu8YYKsXJgVvum+m8PkRboZwwuLzYA==} engines: {node: ^18.17.0 || >=20.5.0} - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - recast@0.23.11: - resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} + recast@0.23.21: + resolution: {integrity: sha512-mFAyJq9vUbSTARLZUvAEf1z3YxlvAwswbmxMx2mPA/MSm4KmpwvwvhsH/NIrZhyOuwD60Lzyw2qh83uCbgTPYw==} engines: {node: '>= 4'} redent@3.0.0: @@ -5653,9 +5078,6 @@ packages: regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} @@ -5667,8 +5089,8 @@ packages: regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - regjsparser@0.13.0: - resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} + regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} hasBin: true remark-gfm@4.0.1: @@ -5707,8 +5129,8 @@ packages: resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} engines: {node: '>=10'} - resolve@1.22.11: - resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} engines: {node: '>= 0.4'} hasBin: true @@ -5726,39 +5148,33 @@ packages: rettime@0.11.11: resolution: {integrity: sha512-ILJRqVWBCTlg9r42fFgwVZx1gnFAcQF8mRoMkbgQfIrjEDf9nbBFDFx00oloOa+Q869FUtaYDXZvEfnecQSCoQ==} - rolldown-plugin-dts@0.27.9: - resolution: {integrity: sha512-d54yt65+ZF/Mk8H6P36As02PAMdaiWRSzVNtJRc1h7nCgUFjuRI4cN2DyTfJyfVpPH6pgy7/2D7YQH1/Rh75Yg==} + rolldown-plugin-dts@0.27.14: + resolution: {integrity: sha512-ZvuDDwoIpRK9RPxDXratCpklFO9QZZWndf/sd0VBFb4LEj0jj07UcHK9OCh7V4XiFz2Z89ziyBC2K6tJiDjrbw==} engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@ts-macro/tsc': ^0.3.6 '@typescript/native-preview': '*' + '@volar/typescript': ~2.4.0 rolldown: ^1.0.0 typescript: ^5.0.0 || ^6.0.0 || ~7.0.0 vue-tsc: ~3.2.0 || ~3.3.0 peerDependenciesMeta: - '@ts-macro/tsc': - optional: true '@typescript/native-preview': optional: true + '@volar/typescript': + optional: true typescript: optional: true vue-tsc: optional: true - rolldown@1.1.5: - resolution: {integrity: sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - - rolldown@1.2.0: - resolution: {integrity: sha512-u7tgm5l4Yw1iTqUL4EcYOAt7fFvCgQMLeidrnD4GALlC6aOznCjezYajgxeyKw27u0Q5N7fwgCzjVyPIWzwuBA==} + rolldown@1.2.3: + resolution: {integrity: sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.60.0: - resolution: {integrity: sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} run-applescript@7.1.0: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} @@ -5771,9 +5187,6 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -5791,10 +5204,6 @@ packages: scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -5804,13 +5213,18 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.4: + resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==} + engines: {node: '>=10'} + hasBin: true + semver@7.8.5: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true - set-cookie-parser@3.1.0: - resolution: {integrity: sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==} + set-cookie-parser@3.1.2: + resolution: {integrity: sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==} set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} @@ -5828,8 +5242,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} engines: {node: '>= 0.4'} side-channel-map@1.0.1: @@ -5840,8 +5254,8 @@ packages: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} engines: {node: '>= 0.4'} - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} siginfo@2.0.0: @@ -5854,28 +5268,28 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - sigstore@4.0.0: - resolution: {integrity: sha512-Gw/FgHtrLM9WP8P5lLcSGh9OQcrTruWCELAiS48ik1QbL0cH+dfjomiRTUE9zzz+D1N6rOLkwXUvVmXZAsNE0Q==} + sigstore@4.1.1: + resolution: {integrity: sha512-endqECJkfhozrXMK5ngu/UAA0xVcVEFdnHJCElGaExypjW+HK5i6zu3NteLoaX/iFbRUbC3+DjttQs0GARr+5w==} engines: {node: ^20.17.0 || >=22.9.0} skin-tone@2.0.0: resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} engines: {node: '>=8'} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + smol-toml@1.6.1: + resolution: {integrity: sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==} + engines: {node: '>= 18'} + socks-proxy-agent@8.0.5: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} - socks@2.8.4: - resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} + socks@2.8.9: + resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} source-map-js@1.2.1: @@ -5895,20 +5309,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - - split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} - - split@1.0.1: - resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} sqids@0.3.0: resolution: {integrity: sha512-lOQK1ucVg+W6n3FhRwwSeUijxe93b51Bfz5PMRMihVf1iVkl82ePQG7V5vwrhzB11v0NtsR25PSZRGiSomJaJw==} @@ -5917,8 +5319,8 @@ packages: resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} engines: {node: ^18.17.0 || >=20.5.0} - ssri@13.0.0: - resolution: {integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==} + ssri@13.0.1: + resolution: {integrity: sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==} engines: {node: ^20.17.0 || >=22.9.0} stackback@0.0.2: @@ -5928,8 +5330,8 @@ packages: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@4.0.0: - resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==} + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} @@ -5938,8 +5340,8 @@ packages: store2@2.14.4: resolution: {integrity: sha512-srTItn1GOvyvOycgxjAnPA63FZNwy0PTyUBFMHRM+hVFltAeoh0LmNBz9SZqUS9mMqGk8rfyWyXn3GH5ReJ8Zw==} - storybook@10.5.3: - resolution: {integrity: sha512-c8Wumu5qz0N2fnzWBxcPzUsY+8BpKBKChNyl4BEh9qhMV6KW587gL8il8emRB+4Hay+zMjDHA7cIeTkl4FKYuw==} + storybook@10.5.7: + resolution: {integrity: sha512-oiKvWIwIoOhFP1i6dASYyMXwPHKEtVZMshqSB7EvIVYjWRh0l9H7gHEt1z4Gh2rLGFMekWdsm4s94rvwpR7gkg==} hasBin: true peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -5960,13 +5362,6 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -5974,8 +5369,8 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} strip-bom@3.0.0: @@ -6010,16 +5405,16 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - swr@2.4.2: - resolution: {integrity: sha512-ej644Y2bvkIajfR32KGeSSdBXQW+ScjGjkybZgSE7kFpk9eGnV44XY9FJylXi+W75pavSX1PVNB57W5EbhGIYw==} + swr@2.5.1: + resolution: {integrity: sha512-BRw55e8r0B7SpDN20CAzoQAHl7y1yP7/Zt7oqUjMv0vSt2u2Xnkm88Ws+VypbV9BXHQVuSuyVq7zMjO16wSExw==} peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - synchronous-promise@2.0.17: - resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==} + synchronous-promise@2.0.18: + resolution: {integrity: sha512-4EEtGWYLkSoy/DjlKpHR6LT2AjmORt8HM+CUCSdKiKyuhL3PFBksgcTibSOj7JIoCvuqRVnZ7P9QFBMXR5kW6Q==} tagged-tag@1.0.0: resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} @@ -6029,17 +5424,13 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} - tar@7.5.11: - resolution: {integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==} + tar@7.5.22: + resolution: {integrity: sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==} engines: {node: '>=18'} telejson@7.2.0: resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} - text-extensions@1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -6047,9 +5438,6 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -6059,8 +5447,8 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@1.2.4: - resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} engines: {node: '>=18'} tinyglobby@0.2.12: @@ -6079,8 +5467,8 @@ packages: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} - tinyrainbow@3.1.0: - resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + tinyrainbow@3.1.1: + resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} engines: {node: '>=14.0.0'} tinyspy@3.0.2: @@ -6091,11 +5479,11 @@ packages: resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} - tldts-core@7.0.13: - resolution: {integrity: sha512-Td0LeWLgXJGsikI4mO82fRexgPCEyTcwWiXJERF/GBHX3Dm+HQq/wx4HnYowCbiwQ8d+ENLZc+ktbZw8H+0oEA==} + tldts-core@7.4.10: + resolution: {integrity: sha512-KnQjp53ZekKgm/r3l+u8kJGGzYgrWdP8+Mql7a4vijh2WE0IrZWspQj/TpTxDho/YxO+AnOZnIjQcCD+q6iJsw==} - tldts@7.0.13: - resolution: {integrity: sha512-z/SgnxiICGb7Gli0z7ci9BZdjy1tQORUbdmzEUA7NbIJKWhdONn78Ji8gV0PAGfHPyEd+I+W2rMzhLjWkv2Olg==} + tldts@7.4.10: + resolution: {integrity: sha512-GgouD1B+sWwvkaEq8vXC15DjQitxbvs12oIXELpconwm+Tg3zfcEv4jgzq3vtKverDXsg3VI8aRgNL2Nra0Iog==} hasBin: true tmcp@1.19.4: @@ -6105,8 +5493,8 @@ packages: resolution: {integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==} engines: {node: '>=14.14'} - tough-cookie@6.0.1: - resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==} + tough-cookie@6.0.2: + resolution: {integrity: sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==} engines: {node: '>=16'} tr46@6.0.0: @@ -6121,19 +5509,15 @@ packages: resolution: {integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + ts-dedent@2.3.0: + resolution: {integrity: sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==} engines: {node: '>=6.10'} - tsconfck@3.1.5: - resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==} + tsconfck@3.1.6: + resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} deprecated: unmaintained hasBin: true @@ -6147,14 +5531,14 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tsdown@0.22.12: - resolution: {integrity: sha512-IzGRfGwSsufXJWOcQ0tmECKMG/dbxhUwDOySTS7JE1AM8pkB9+bpcTPs8bTxxSNrSvGocSczrBlOh97tZObq9Q==} + tsdown@0.22.14: + resolution: {integrity: sha512-ule7Y+fsAN2iZbLDoo7C4KYljFJNJJ+fLshyn+9gozeTspVersWHxwdGB+Dm2hzA38s6muFnUTl0jK3vJm9ifQ==} engines: {node: ^22.18.0 || >=24.11.0} hasBin: true peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@tsdown/css': 0.22.12 - '@tsdown/exe': 0.22.12 + '@tsdown/css': 0.22.14 + '@tsdown/exe': 0.22.14 '@vitejs/devtools': '*' publint: ^0.3.8 tsx: '*' @@ -6184,22 +5568,14 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tuf-js@4.0.0: - resolution: {integrity: sha512-Lq7ieeGvXDXwpoSmOSgLWVdsGGV9J4a77oDTAPe/Ltrqnnm/ETaRlBAQTH5JatEh8KXuE6sddf9qAv1Q2282Hg==} + tuf-js@4.1.0: + resolution: {integrity: sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==} engines: {node: ^20.17.0 || >=22.9.0} - type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} @@ -6208,9 +5584,6 @@ packages: resolution: {integrity: sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==} engines: {node: '>=20'} - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} @@ -6221,11 +5594,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - typescript@6.0.3: resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} @@ -6239,15 +5607,19 @@ packages: unconfig-core@7.5.0: resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} - undici-types@7.19.2: - resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} - undici-types@7.24.6: resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} - undici@7.25.0: - resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} - engines: {node: '>=20.18.1'} + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + + undici@6.28.0: + resolution: {integrity: sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==} + engines: {node: '>=18.17'} + + undici@8.10.0: + resolution: {integrity: sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==} + engines: {node: '>=22.19.0'} unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} @@ -6265,21 +5637,13 @@ packages: resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unique-filename@5.0.0: - resolution: {integrity: sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==} - engines: {node: ^20.17.0 || >=22.9.0} - - unique-slug@6.0.0: - resolution: {integrity: sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==} - engines: {node: ^20.17.0 || >=22.9.0} - unist-util-is@6.0.1: resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} @@ -6289,8 +5653,8 @@ packages: unist-util-visit-parents@6.0.2: resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} @@ -6310,12 +5674,8 @@ packages: until-async@3.0.2: resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==} - upath@2.0.1: - resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} - engines: {node: '>=4'} - - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + update-browserslist-db@1.3.1: + resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -6331,12 +5691,12 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@14.0.0: - resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==} + uuid@14.0.1: + resolution: {integrity: sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==} hasBin: true - valibot@1.4.0: - resolution: {integrity: sha512-iC/x7fVcSyOwlm/VSt7RlHnzNGLGvR9GnxdifUeWoCJo0q4ZZvrVkIHC6faTlkxG47I2Y4UrFquPuVHCrOnrLg==} + valibot@1.4.2: + resolution: {integrity: sha512-gjdCvJ6d3RyHAneqxMYMW9QMCwYMb3jpOO0IyHZV1bnRHFBHrX3VkIILt5XYR0WhwHiH7Mty8ovuPZ/O3gamrg==} peerDependencies: typescript: '>=5' peerDependenciesMeta: @@ -6354,9 +5714,9 @@ packages: resolution: {integrity: sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==} engines: {node: ^18.17.0 || >=20.5.0} - verkit@0.1.0: - resolution: {integrity: sha512-hot+EjuRuW/QsivBRTVKlL5FUVPIGpnjJv0fzuyYyD9Bqaj3Kx2KoSw1WVIoCTOhFkmNJZ0fhl66JdsXjWXztw==} - engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} + verkit@0.3.2: + resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} + engines: {node: '>=18.12.0'} vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} @@ -6369,13 +5729,13 @@ packages: peerDependencies: vite: '*' - vite@8.1.5: - resolution: {integrity: sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==} + vite@8.2.1: + resolution: {integrity: sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.3.0 + '@vitejs/devtools': ^0.4.0 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -6412,20 +5772,20 @@ packages: yaml: optional: true - vitest@4.1.5: - resolution: {integrity: sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==} + vitest@4.1.10: + resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.5 - '@vitest/browser-preview': 4.1.5 - '@vitest/browser-webdriverio': 4.1.5 - '@vitest/coverage-istanbul': 4.1.5 - '@vitest/coverage-v8': 4.1.5 - '@vitest/ui': 4.1.5 + '@vitest/browser-playwright': 4.1.10 + '@vitest/browser-preview': 4.1.10 + '@vitest/browser-webdriverio': 4.1.10 + '@vitest/coverage-istanbul': 4.1.10 + '@vitest/coverage-v8': 4.1.10 + '@vitest/ui': 4.1.10 happy-dom: '*' jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -6479,6 +5839,10 @@ packages: resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + whatwg-url@17.1.0: + resolution: {integrity: sha512-3GeworPmc2ZfEEHP7lEbUfBX/L75wdEsi0rLNhXcXxnoN5jyq0SL5gCy06SGW2cyTIZdTvWIDQNQoza++vKeaw==} + engines: {node: ^22.14.0 || >=24.0.0} + which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} @@ -6487,8 +5851,8 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-typed-array@1.1.19: - resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} engines: {node: '>= 0.4'} which@2.0.2: @@ -6496,13 +5860,18 @@ packages: engines: {node: '>= 8'} hasBin: true + which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + which@5.0.0: resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true - which@6.0.0: - resolution: {integrity: sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==} + which@6.0.1: + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} engines: {node: ^20.17.0 || >=22.9.0} hasBin: true @@ -6511,9 +5880,6 @@ packages: engines: {node: '>=8'} hasBin: true - wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} @@ -6525,10 +5891,6 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -6540,8 +5902,8 @@ packages: resolution: {integrity: sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==} engines: {node: ^18.17.0 || >=20.5.0} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.21.3: + resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -6563,10 +5925,6 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -6581,11 +5939,6 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} - hasBin: true - yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} @@ -6599,14 +5952,18 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + yargs@16.2.2: + resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} engines: {node: '>=10'} yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} + engines: {node: '>=12'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -6615,31 +5972,31 @@ packages: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} - yuku-ast@0.1.7: - resolution: {integrity: sha512-2RiMEWv500TixY5rJy6OZd4fSy9WYZKWh6gGbIJ7y7vAGcuCugWOWwOLGaQcRZrXcPUfqtLtvpaJ3SdXtWlhKA==} + yuku-ast@0.8.4: + resolution: {integrity: sha512-s7EWfWIQkaGmsGnyr/BU0jli9YTN5TvrKIsSmALyRD9elumDQInuhv0BrVObENKVCxr9W3Ikmnx5u02KvfuUmw==} - yuku-codegen@0.6.1: - resolution: {integrity: sha512-6RJqqON2xYhMEp/sZv5oOSI3uOpWwRwzAi2fc/rMcRFjcqedAC5Fyp4AD9Vn2b8SB7hf9ESqVW+YwbDs/KvyKA==} + yuku-codegen@0.8.4: + resolution: {integrity: sha512-1Rw+NYcmB1xkHAWlsIpbwIv/Fr50idtEbLf7OjDA+90dny6PM4Krz7Fs0TT+w2PBdjaldZpN4ye5wR4Dhlm8vA==} - yuku-parser@0.6.1: - resolution: {integrity: sha512-dPE3/+H2VBw9LhjoIVeW/axKidYGd+XzNtrwGGseZ0325cQFl0Dpwyh0R74XWe/WqQn4M8CR5YApsv2KF2zN1A==} + yuku-parser@0.8.4: + resolution: {integrity: sha512-sw41wouvT5rUmLIp87hmvm5vtF+MRSI3x6yjq6xqpYmtkQj+Ht6N7xRQ8lMhLv8N7JAzughGj0Rfi0jQRSu9HQ==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@adobe/css-tools@4.4.4': {} + '@adobe/css-tools@4.5.0': {} - '@adyen/adyen-web@6.41.0': + '@adyen/adyen-web@6.42.0': dependencies: - '@paypal/paypal-js': 10.0.0 + '@paypal/paypal-js': 10.0.2 '@types/applepayjs': 14.0.9 - '@types/googlepay': 0.7.10 + '@types/googlepay': 0.7.11 classnames: 2.5.1 preact: 10.29.2 - '@andrewbranch/untar.js@1.0.3': {} + '@andrewbranch/untar.js@1.0.4': {} '@arethetypeswrong/cli@0.18.5': dependencies: @@ -6653,40 +6010,29 @@ snapshots: '@arethetypeswrong/core@0.18.5': dependencies: - '@andrewbranch/untar.js': 1.0.3 - '@loaderkit/resolve': 1.0.4 + '@andrewbranch/untar.js': 1.0.4 + '@loaderkit/resolve': 1.0.6 cjs-module-lexer: 1.4.3 fflate: 0.8.3 - lru-cache: 11.3.6 + lru-cache: 11.5.2 semver: 7.8.5 typescript: 5.6.1-rc validate-npm-package-name: 5.0.1 - '@asamuzakjp/css-color@5.1.11': + '@asamuzakjp/css-color@6.0.7': dependencies: - '@asamuzakjp/generational-cache': 1.0.1 - '@csstools/css-calc': 3.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/css-color-parser': 4.1.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-color-parser': 4.1.10(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 + lru-cache: 11.5.2 - '@asamuzakjp/dom-selector@7.1.1': + '@asamuzakjp/dom-selector@8.3.2': 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': {} - - '@asamuzakjp/nwsapi@2.3.9': {} - - '@babel/code-frame@7.29.0': - dependencies: - '@babel/helper-validator-identifier': 7.29.7 - js-tokens: 4.0.0 - picocolors: 1.1.1 + lru-cache: 11.5.2 '@babel/code-frame@7.29.7': dependencies: @@ -6694,21 +6040,26 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.3': {} + '@babel/code-frame@8.0.0': + dependencies: + '@babel/helper-validator-identifier': 8.0.4 + js-tokens: 10.0.0 '@babel/compat-data@7.29.7': {} + '@babel/compat-data@8.0.0': {} + '@babel/core@7.29.7(supports-color@7.2.0)': dependencies: '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 + '@babel/generator': 7.29.8 '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) '@babel/helpers': 7.29.7 - '@babel/parser': 7.29.7 + '@babel/parser': 7.29.8 '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@7.2.0) - '@babel/types': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@7.2.0) + '@babel/types': 7.29.8 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3(supports-color@7.2.0) @@ -6718,745 +6069,669 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.29.1': + '@babel/core@8.0.1': + dependencies: + '@babel/code-frame': 8.0.0 + '@babel/generator': 8.0.0 + '@babel/helper-compilation-targets': 8.0.0 + '@babel/helpers': 8.0.0 + '@babel/parser': 8.0.4 + '@babel/template': 8.0.0 + '@babel/traverse': 8.0.4 + '@babel/types': 8.0.4 + '@types/gensync': 1.0.5 + convert-source-map: 2.0.0 + empathic: 2.0.1 + gensync: 1.0.0-beta.2 + import-meta-resolve: 4.2.0 + json5: 2.2.3 + obug: 2.1.4 + semver: 7.8.5 + + '@babel/generator@7.29.8': dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/generator@7.29.7': + '@babel/generator@8.0.0': dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/parser': 8.0.4 + '@babel/types': 8.0.4 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 + '@types/jsesc': 2.5.1 jsesc: 3.1.0 - '@babel/helper-annotate-as-pure@7.27.3': - dependencies: - '@babel/types': 7.29.7 - - '@babel/helper-annotate-as-pure@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/helper-compilation-targets@7.28.6': + '@babel/helper-annotate-as-pure@8.0.0': dependencies: - '@babel/compat-data': 7.29.3 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/types': 8.0.4 '@babel/helper-compilation-targets@7.29.7': dependencies: '@babel/compat-data': 7.29.7 '@babel/helper-validator-option': 7.29.7 - browserslist: 4.28.1 + browserslist: 4.28.8 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/helper-compilation-targets@8.0.0': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@7.2.0) - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@7.2.0) - '@babel/traverse': 7.29.7(supports-color@7.2.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@babel/compat-data': 8.0.0 + '@babel/helper-validator-option': 8.0.0 + browserslist: 4.28.8 + lru-cache: 11.5.2 + semver: 7.8.5 - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/helper-create-class-features-plugin@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 + '@babel/core': 8.0.1 + '@babel/helper-annotate-as-pure': 8.0.0 + '@babel/helper-member-expression-to-functions': 8.0.0 + '@babel/helper-optimise-call-expression': 8.0.0 + '@babel/helper-replace-supers': 8.0.1(@babel/core@8.0.1) + '@babel/helper-skip-transparent-expression-wrappers': 8.0.0 + '@babel/traverse': 8.0.4 + semver: 7.8.5 - '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/helper-create-regexp-features-plugin@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-annotate-as-pure': 8.0.0 regexpu-core: 6.4.0 - semver: 6.3.1 + semver: 7.8.5 - '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/helper-define-polyfill-provider@1.0.0(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3(supports-color@7.2.0) + '@babel/core': 8.0.1 + '@babel/helper-compilation-targets': 8.0.0 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) lodash.debounce: 4.0.8 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color - - '@babel/helper-globals@7.28.0': {} '@babel/helper-globals@7.29.7': {} - '@babel/helper-member-expression-to-functions@7.29.7(supports-color@7.2.0)': - dependencies: - '@babel/traverse': 7.29.7(supports-color@7.2.0) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/helper-globals@8.0.0': {} - '@babel/helper-module-imports@7.28.6(supports-color@7.2.0)': + '@babel/helper-member-expression-to-functions@8.0.0': dependencies: - '@babel/traverse': 7.29.0(supports-color@7.2.0) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/traverse': 8.0.4 + '@babel/types': 8.0.4 '@babel/helper-module-imports@7.29.7(supports-color@7.2.0)': dependencies: - '@babel/traverse': 7.29.7(supports-color@7.2.0) - '@babel/types': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@7.2.0) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/helper-module-imports@8.0.0': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-module-imports': 7.28.6(supports-color@7.2.0) - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.0(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/traverse': 8.0.4 + '@babel/types': 8.0.4 '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': dependencies: '@babel/core': 7.29.7(supports-color@7.2.0) '@babel/helper-module-imports': 7.29.7(supports-color@7.2.0) '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@7.2.0) + '@babel/traverse': 7.29.8(supports-color@7.2.0) transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.29.7': + '@babel/helper-module-transforms@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/types': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-module-imports': 8.0.0 + '@babel/helper-validator-identifier': 8.0.4 + '@babel/traverse': 8.0.4 - '@babel/helper-plugin-utils@7.28.6': {} + '@babel/helper-optimise-call-expression@8.0.0': + dependencies: + '@babel/types': 8.0.4 - '@babel/helper-plugin-utils@7.29.7': {} + '@babel/helper-plugin-utils@8.0.1(@babel/core@8.0.1)': + dependencies: + '@babel/core': 8.0.1 - '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/helper-remap-async-to-generator@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-wrap-function': 7.29.7(supports-color@7.2.0) - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-annotate-as-pure': 8.0.0 + '@babel/helper-wrap-function': 8.0.0 + '@babel/traverse': 8.0.4 - '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/helper-replace-supers@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@7.2.0) - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-member-expression-to-functions': 8.0.0 + '@babel/helper-optimise-call-expression': 8.0.0 + '@babel/traverse': 8.0.4 - '@babel/helper-skip-transparent-expression-wrappers@7.29.7(supports-color@7.2.0)': + '@babel/helper-skip-transparent-expression-wrappers@8.0.0': dependencies: - '@babel/traverse': 7.29.7(supports-color@7.2.0) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/traverse': 8.0.4 + '@babel/types': 8.0.4 '@babel/helper-string-parser@7.29.7': {} + '@babel/helper-string-parser@8.0.0': {} + '@babel/helper-validator-identifier@7.29.7': {} - '@babel/helper-validator-option@7.27.1': {} + '@babel/helper-validator-identifier@8.0.4': {} '@babel/helper-validator-option@7.29.7': {} - '@babel/helper-wrap-function@7.29.7(supports-color@7.2.0)': + '@babel/helper-validator-option@8.0.0': {} + + '@babel/helper-wrap-function@8.0.0': dependencies: - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@7.2.0) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/template': 8.0.0 + '@babel/traverse': 8.0.4 + '@babel/types': 8.0.4 '@babel/helpers@7.29.7': dependencies: '@babel/template': 7.29.7 - '@babel/types': 7.29.7 - - '@babel/parser@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@7.2.0) - '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@7.2.0))': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) + '@babel/types': 7.29.8 - '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/helpers@8.0.0': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/template': 8.0.0 + '@babel/types': 8.0.4 - '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/parser@7.29.8': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/types': 7.29.8 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/parser@8.0.4': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 8.0.4 - '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-module-imports': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-skip-transparent-expression-wrappers': 8.0.0 - '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-skip-transparent-expression-wrappers': 8.0.0 + '@babel/plugin-transform-optional-chaining': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-arrow-functions@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-async-generator-functions@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-globals': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-remap-async-to-generator': 8.0.1(@babel/core@8.0.1) + '@babel/traverse': 8.0.4 - '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-async-to-generator@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/template': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-module-imports': 8.0.0 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-remap-async-to-generator': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-block-scoped-functions@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-block-scoping@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-class-properties@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-create-class-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-class-static-block@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-create-class-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-classes@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-annotate-as-pure': 8.0.0 + '@babel/helper-compilation-targets': 8.0.0 + '@babel/helper-globals': 8.0.0 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-replace-supers': 8.0.1(@babel/core@8.0.1) + '@babel/traverse': 8.0.4 - '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-computed-properties@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-destructuring@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-dotall-regex@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-create-regexp-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-duplicate-keys@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-create-regexp-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-dynamic-import@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-explicit-resource-management@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-destructuring': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-exponentiation-operator@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-export-namespace-from@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-for-of@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-skip-transparent-expression-wrappers': 8.0.0 - '@babel/plugin-transform-modules-systemjs@7.29.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-function-name@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.0(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-compilation-targets': 8.0.0 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-json-strings@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-literals@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-logical-assignment-operators@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-member-expression-literals@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-modules-amd@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-module-transforms': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-modules-commonjs@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/traverse': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-module-transforms': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-modules-systemjs@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-module-transforms': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-validator-identifier': 8.0.4 - '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-modules-umd@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-module-transforms': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-named-capturing-groups-regex@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-create-regexp-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-new-target@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-nullish-coalescing-operator@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-numeric-separator@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-object-rest-spread@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-compilation-targets': 8.0.0 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-destructuring': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-parameters': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-object-super@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-replace-supers': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-optional-catch-binding@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-optional-chaining@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-skip-transparent-expression-wrappers': 8.0.0 - '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-parameters@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-private-methods@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-create-class-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-private-property-in-object@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-annotate-as-pure': 8.0.0 + '@babel/helper-create-class-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-property-literals@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-regenerator@8.0.2(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-regexp-modifiers@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-create-regexp-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-reserved-words@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-shorthand-properties@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) - '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/plugin-transform-spread@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-skip-transparent-expression-wrappers': 8.0.0 - '@babel/preset-env@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)': + '@babel/plugin-transform-sticky-regex@8.0.1(@babel/core@8.0.1)': dependencies: - '@babel/compat-data': 7.29.7 - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-regenerator': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0)) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@7.2.0)) - babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - core-js-compat: 3.49.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + + '@babel/plugin-transform-template-literals@8.0.1(@babel/core@8.0.1)': + dependencies: + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + + '@babel/plugin-transform-typeof-symbol@8.0.1(@babel/core@8.0.1)': + dependencies: + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + + '@babel/plugin-transform-unicode-escapes@8.0.1(@babel/core@8.0.1)': + dependencies: + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + + '@babel/plugin-transform-unicode-property-regex@8.0.1(@babel/core@8.0.1)': + dependencies: + '@babel/core': 8.0.1 + '@babel/helper-create-regexp-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + + '@babel/plugin-transform-unicode-regex@8.0.1(@babel/core@8.0.1)': + dependencies: + '@babel/core': 8.0.1 + '@babel/helper-create-regexp-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + + '@babel/plugin-transform-unicode-sets-regex@8.0.1(@babel/core@8.0.1)': + dependencies: + '@babel/core': 8.0.1 + '@babel/helper-create-regexp-features-plugin': 8.0.1(@babel/core@8.0.1) + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + + '@babel/preset-env@8.0.2(@babel/core@8.0.1)': + dependencies: + '@babel/compat-data': 8.0.0 + '@babel/core': 8.0.1 + '@babel/helper-compilation-targets': 8.0.0 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/helper-validator-option': 8.0.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-arrow-functions': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-async-generator-functions': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-async-to-generator': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-block-scoped-functions': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-block-scoping': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-class-properties': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-class-static-block': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-classes': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-computed-properties': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-destructuring': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-dotall-regex': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-duplicate-keys': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-dynamic-import': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-explicit-resource-management': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-exponentiation-operator': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-export-namespace-from': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-for-of': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-function-name': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-json-strings': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-literals': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-logical-assignment-operators': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-member-expression-literals': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-modules-amd': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-modules-commonjs': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-modules-systemjs': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-modules-umd': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-named-capturing-groups-regex': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-new-target': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-nullish-coalescing-operator': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-numeric-separator': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-object-rest-spread': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-object-super': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-optional-catch-binding': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-optional-chaining': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-parameters': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-private-methods': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-private-property-in-object': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-property-literals': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-regenerator': 8.0.2(@babel/core@8.0.1) + '@babel/plugin-transform-regexp-modifiers': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-reserved-words': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-shorthand-properties': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-spread': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-sticky-regex': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-template-literals': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-typeof-symbol': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-unicode-escapes': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-unicode-property-regex': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-unicode-regex': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-unicode-sets-regex': 8.0.1(@babel/core@8.0.1) + '@babel/preset-modules': 0.2.0(@babel/core@8.0.1) + babel-plugin-polyfill-corejs3: 1.0.0(@babel/core@8.0.1) + core-js-compat: 3.50.0 + semver: 7.8.5 - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@7.2.0))': + '@babel/preset-modules@0.2.0(@babel/core@8.0.1)': dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/types': 7.29.7 + '@babel/core': 8.0.1 + '@babel/helper-plugin-utils': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-dotall-regex': 8.0.1(@babel/core@8.0.1) + '@babel/plugin-transform-unicode-property-regex': 8.0.1(@babel/core@8.0.1) + '@babel/types': 8.0.4 esutils: 2.0.3 - '@babel/runtime@7.26.10': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.28.6': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/runtime@7.29.7': {} '@babel/template@7.29.7': dependencies: '@babel/code-frame': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 - '@babel/traverse@7.29.0(supports-color@7.2.0)': + '@babel/template@8.0.0': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.7 - '@babel/template': 7.28.6 - '@babel/types': 7.29.7 - debug: 4.4.3(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/code-frame': 8.0.0 + '@babel/parser': 8.0.4 + '@babel/types': 8.0.4 - '@babel/traverse@7.29.7(supports-color@7.2.0)': + '@babel/traverse@7.29.8(supports-color@7.2.0)': dependencies: '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 + '@babel/generator': 7.29.8 '@babel/helper-globals': 7.29.7 - '@babel/parser': 7.29.7 + '@babel/parser': 7.29.8 '@babel/template': 7.29.7 - '@babel/types': 7.29.7 + '@babel/types': 7.29.8 debug: 4.4.3(supports-color@7.2.0) transitivePeerDependencies: - supports-color - '@babel/types@7.29.7': + '@babel/traverse@8.0.4': + dependencies: + '@babel/code-frame': 8.0.0 + '@babel/generator': 8.0.0 + '@babel/helper-globals': 8.0.0 + '@babel/parser': 8.0.4 + '@babel/template': 8.0.0 + '@babel/types': 8.0.4 + obug: 2.1.4 + + '@babel/types@7.29.8': dependencies: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 + '@babel/types@8.0.4': + dependencies: + '@babel/helper-string-parser': 8.0.0 + '@babel/helper-validator-identifier': 8.0.4 + '@bcoe/v8-coverage@1.0.2': {} - '@biomejs/biome@2.5.4': + '@biomejs/biome@2.5.8': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.5.4 - '@biomejs/cli-darwin-x64': 2.5.4 - '@biomejs/cli-linux-arm64': 2.5.4 - '@biomejs/cli-linux-arm64-musl': 2.5.4 - '@biomejs/cli-linux-x64': 2.5.4 - '@biomejs/cli-linux-x64-musl': 2.5.4 - '@biomejs/cli-win32-arm64': 2.5.4 - '@biomejs/cli-win32-x64': 2.5.4 + '@biomejs/cli-darwin-arm64': 2.5.8 + '@biomejs/cli-darwin-x64': 2.5.8 + '@biomejs/cli-linux-arm64': 2.5.8 + '@biomejs/cli-linux-arm64-musl': 2.5.8 + '@biomejs/cli-linux-x64': 2.5.8 + '@biomejs/cli-linux-x64-musl': 2.5.8 + '@biomejs/cli-win32-arm64': 2.5.8 + '@biomejs/cli-win32-x64': 2.5.8 - '@biomejs/cli-darwin-arm64@2.5.4': + '@biomejs/cli-darwin-arm64@2.5.8': optional: true - '@biomejs/cli-darwin-x64@2.5.4': + '@biomejs/cli-darwin-x64@2.5.8': optional: true - '@biomejs/cli-linux-arm64-musl@2.5.4': + '@biomejs/cli-linux-arm64-musl@2.5.8': optional: true - '@biomejs/cli-linux-arm64@2.5.4': + '@biomejs/cli-linux-arm64@2.5.8': optional: true - '@biomejs/cli-linux-x64-musl@2.5.4': + '@biomejs/cli-linux-x64-musl@2.5.8': optional: true - '@biomejs/cli-linux-x64@2.5.4': + '@biomejs/cli-linux-x64@2.5.8': optional: true - '@biomejs/cli-win32-arm64@2.5.4': + '@biomejs/cli-win32-arm64@2.5.8': optional: true - '@biomejs/cli-win32-x64@2.5.4': + '@biomejs/cli-win32-x64@2.5.8': optional: true '@braidai/lang@1.1.2': {} @@ -7479,8 +6754,6 @@ snapshots: '@braintree/sanitize-url@7.0.4': {} - '@braintree/uuid@1.0.1': {} - '@braintree/uuid@2.0.0': {} '@braintree/wrap-promise@2.1.0': {} @@ -7489,13 +6762,13 @@ snapshots: dependencies: css-tree: 3.2.1 - '@chromatic-com/storybook@5.2.1(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@chromatic-com/storybook@5.3.0(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@neoconfetti/react': 1.0.0 - chromatic: 16.10.0 - jsonfile: 6.1.0 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - strip-ansi: 7.1.0 + chromatic: 18.1.0 + jsonfile: 6.2.1 + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + strip-ansi: 7.2.0 transitivePeerDependencies: - '@chromatic-com/cypress' - '@chromatic-com/playwright' @@ -7506,6 +6779,8 @@ snapshots: '@commercelayer/js-auth@7.4.2': {} + '@commercelayer/js-auth@8.0.0': {} + '@commercelayer/organization-config@2.8.4': dependencies: '@commercelayer/js-auth': 7.4.2 @@ -7513,17 +6788,28 @@ snapshots: '@commercelayer/sdk@8.0.0-beta.11': {} - '@csstools/color-helpers@6.0.2': {} + '@conventional-changelog/git-client@3.1.2(conventional-commits-filter@6.0.1)(conventional-commits-parser@7.1.0)': + dependencies: + '@simple-libs/child-process-utils': 2.0.0 + '@simple-libs/stream-utils': 2.0.0 + semver: 7.8.5 + optionalDependencies: + conventional-commits-filter: 6.0.1 + conventional-commits-parser: 7.1.0 + + '@conventional-changelog/template@1.3.0': {} - '@csstools/css-calc@3.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + '@csstools/color-helpers@6.1.0': {} + + '@csstools/css-calc@3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-color-parser@4.1.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + '@csstools/css-color-parser@4.1.10(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/color-helpers': 6.0.2 - '@csstools/css-calc': 3.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/color-helpers': 6.1.0 + '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 @@ -7531,27 +6817,20 @@ snapshots: dependencies: '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.1.3(css-tree@3.2.1)': + '@csstools/css-syntax-patches-for-csstree@1.1.7(css-tree@3.2.1)': optionalDependencies: css-tree: 3.2.1 '@csstools/css-tokenizer@4.0.0': {} - '@emnapi/core@1.11.1': - dependencies: - '@emnapi/wasi-threads': 1.2.2 - tslib: 2.8.1 - optional: true - '@emnapi/core@1.11.2': dependencies: '@emnapi/wasi-threads': 1.2.2 tslib: 2.8.1 - optional: true - '@emnapi/core@1.3.1': + '@emnapi/core@1.4.5': dependencies: - '@emnapi/wasi-threads': 1.0.1 + '@emnapi/wasi-threads': 1.0.4 tslib: 2.8.1 '@emnapi/core@1.9.2': @@ -7560,17 +6839,11 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.11.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.11.2': dependencies: tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.3.1': + '@emnapi/runtime@1.4.5': dependencies: tslib: 2.8.1 @@ -7579,7 +6852,7 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.0.1': + '@emnapi/wasi-threads@1.0.4': dependencies: tslib: 2.8.1 @@ -7591,256 +6864,257 @@ snapshots: '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 - optional: true - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.7)': + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.8)': dependencies: - react: 19.2.7 + react: 19.2.8 - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.28.2': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.28.2': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.28.2': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.28.2': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.28.2': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.28.2': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.28.2': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.28.2': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.28.2': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.28.2': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.28.2': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.28.2': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.28.2': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.28.2': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.28.2': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.28.2': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.28.2': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.28.2': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.28.2': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.28.2': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-x64@0.28.2': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openharmony-arm64@0.28.2': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.28.2': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.28.2': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.28.2': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.28.2': optional: true - '@exodus/bytes@1.15.0': {} + '@exodus/bytes@1.15.1': {} '@faker-js/faker@10.5.0': {} - '@hutson/parse-repository-url@3.0.2': {} + '@gar/promise-retry@1.0.3': {} + + '@iframe-resizer/core@5.5.9': + dependencies: + auto-console-group: 1.3.0 + + '@iframe-resizer/parent@5.5.9': + dependencies: + '@iframe-resizer/core': 5.5.9 + auto-console-group: 1.3.0 '@inquirer/ansi@1.0.2': {} - '@inquirer/ansi@2.0.5': {} + '@inquirer/ansi@2.0.7': {} - '@inquirer/checkbox@4.3.2(@types/node@25.9.5)': + '@inquirer/checkbox@4.3.2(@types/node@26.2.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/type': 3.0.10(@types/node@26.2.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/confirm@5.1.21(@types/node@25.9.5)': + '@inquirer/confirm@5.1.21(@types/node@26.2.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.5) - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) + '@inquirer/type': 3.0.10(@types/node@26.2.0) optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/confirm@6.0.12(@types/node@25.9.5)': + '@inquirer/confirm@6.1.1(@types/node@26.2.0)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.5) - '@inquirer/type': 4.0.5(@types/node@25.9.5) + '@inquirer/core': 11.2.1(@types/node@26.2.0) + '@inquirer/type': 4.0.7(@types/node@26.2.0) optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/core@10.3.2(@types/node@25.9.5)': + '@inquirer/core@10.3.2(@types/node@26.2.0)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/type': 3.0.10(@types/node@26.2.0) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/core@11.1.9(@types/node@25.9.5)': + '@inquirer/core@11.2.1(@types/node@26.2.0)': dependencies: - '@inquirer/ansi': 2.0.5 - '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.5) + '@inquirer/ansi': 2.0.7 + '@inquirer/figures': 2.0.7 + '@inquirer/type': 4.0.7(@types/node@26.2.0) cli-width: 4.1.0 - fast-wrap-ansi: 0.2.0 + fast-wrap-ansi: 0.2.2 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/editor@4.2.23(@types/node@25.9.5)': + '@inquirer/editor@4.2.23(@types/node@26.2.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.5) - '@inquirer/external-editor': 1.0.3(@types/node@25.9.5) - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) + '@inquirer/external-editor': 1.0.3(@types/node@26.2.0) + '@inquirer/type': 3.0.10(@types/node@26.2.0) optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/expand@4.0.23(@types/node@25.9.5)': + '@inquirer/expand@4.0.23(@types/node@26.2.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.5) - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) + '@inquirer/type': 3.0.10(@types/node@26.2.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/external-editor@1.0.3(@types/node@25.9.5)': + '@inquirer/external-editor@1.0.3(@types/node@26.2.0)': dependencies: - chardet: 2.1.1 - iconv-lite: 0.7.1 + chardet: 2.2.0 + iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 '@inquirer/figures@1.0.15': {} - '@inquirer/figures@2.0.5': {} + '@inquirer/figures@2.0.7': {} - '@inquirer/input@4.3.1(@types/node@25.9.5)': + '@inquirer/input@4.3.1(@types/node@26.2.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.5) - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) + '@inquirer/type': 3.0.10(@types/node@26.2.0) optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/number@3.0.23(@types/node@25.9.5)': + '@inquirer/number@3.0.23(@types/node@26.2.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.5) - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) + '@inquirer/type': 3.0.10(@types/node@26.2.0) optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/password@4.0.23(@types/node@25.9.5)': + '@inquirer/password@4.0.23(@types/node@26.2.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.5) - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) + '@inquirer/type': 3.0.10(@types/node@26.2.0) optionalDependencies: - '@types/node': 25.9.5 - - '@inquirer/prompts@7.10.1(@types/node@25.9.5)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@25.9.5) - '@inquirer/confirm': 5.1.21(@types/node@25.9.5) - '@inquirer/editor': 4.2.23(@types/node@25.9.5) - '@inquirer/expand': 4.0.23(@types/node@25.9.5) - '@inquirer/input': 4.3.1(@types/node@25.9.5) - '@inquirer/number': 3.0.23(@types/node@25.9.5) - '@inquirer/password': 4.0.23(@types/node@25.9.5) - '@inquirer/rawlist': 4.1.11(@types/node@25.9.5) - '@inquirer/search': 3.2.2(@types/node@25.9.5) - '@inquirer/select': 4.4.2(@types/node@25.9.5) + '@types/node': 26.2.0 + + '@inquirer/prompts@7.10.1(@types/node@26.2.0)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@26.2.0) + '@inquirer/confirm': 5.1.21(@types/node@26.2.0) + '@inquirer/editor': 4.2.23(@types/node@26.2.0) + '@inquirer/expand': 4.0.23(@types/node@26.2.0) + '@inquirer/input': 4.3.1(@types/node@26.2.0) + '@inquirer/number': 3.0.23(@types/node@26.2.0) + '@inquirer/password': 4.0.23(@types/node@26.2.0) + '@inquirer/rawlist': 4.1.11(@types/node@26.2.0) + '@inquirer/search': 3.2.2(@types/node@26.2.0) + '@inquirer/select': 4.4.2(@types/node@26.2.0) optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/rawlist@4.1.11(@types/node@25.9.5)': + '@inquirer/rawlist@4.1.11(@types/node@26.2.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.5) - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) + '@inquirer/type': 3.0.10(@types/node@26.2.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/search@3.2.2(@types/node@25.9.5)': + '@inquirer/search@3.2.2(@types/node@26.2.0)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/type': 3.0.10(@types/node@26.2.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/select@4.4.2(@types/node@25.9.5)': + '@inquirer/select@4.4.2(@types/node@26.2.0)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/type': 3.0.10(@types/node@26.2.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/type@3.0.10(@types/node@25.9.5)': + '@inquirer/type@3.0.10(@types/node@26.2.0)': optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@inquirer/type@4.0.5(@types/node@25.9.5)': + '@inquirer/type@4.0.7(@types/node@26.2.0)': optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/cliui@9.0.0': {} '@isaacs/fs-minipass@4.0.1': dependencies: @@ -7850,17 +7124,11 @@ snapshots: '@jest/diff-sequences@30.0.1': {} - '@jest/get-type@30.1.0': {} - - '@jest/schemas@30.0.5': - dependencies: - '@sinclair/typebox': 0.34.41 - - '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0))': dependencies: glob: 13.0.6 react-docgen-typescript: 2.4.0(typescript@6.0.3) - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) optionalDependencies: typescript: 6.0.3 @@ -7883,23 +7151,17 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@loaderkit/resolve@1.0.4': + '@loaderkit/resolve@1.0.6': dependencies: '@braidai/lang': 1.1.2 - '@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.6)': + '@mdx-js/react@3.1.1(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.2.17 - react: 19.2.6 + '@types/mdx': 2.0.14 + '@types/react': 19.2.18 + react: 19.2.8 - '@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.2.17 - react: 19.2.7 - - '@mswjs/interceptors@0.41.8': + '@mswjs/interceptors@0.41.9': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -7910,25 +7172,18 @@ snapshots: '@napi-rs/wasm-runtime@0.2.4': dependencies: - '@emnapi/core': 1.3.1 - '@emnapi/runtime': 1.3.1 + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 '@tybys/wasm-util': 0.9.0 - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': - dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 - '@tybys/wasm-util': 0.10.3 - optional: true - - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': + '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: '@emnapi/core': 1.11.2 '@emnapi/runtime': 1.11.2 '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 @@ -7937,12 +7192,12 @@ snapshots: '@neoconfetti/react@1.0.0': {} - '@npmcli/agent@4.0.0(supports-color@7.2.0)': + '@npmcli/agent@4.0.2(supports-color@7.2.0)': dependencies: - agent-base: 7.1.3 + agent-base: 7.1.4 http-proxy-agent: 7.0.2(supports-color@7.2.0) https-proxy-agent: 7.0.6(supports-color@7.2.0) - lru-cache: 11.3.2 + lru-cache: 11.5.2 socks-proxy-agent: 8.0.5(supports-color@7.2.0) transitivePeerDependencies: - supports-color @@ -7959,20 +7214,20 @@ snapshots: '@npmcli/package-json': 7.0.2 '@npmcli/query': 4.0.1 '@npmcli/redact': 3.2.2 - '@npmcli/run-script': 10.0.3(supports-color@7.2.0) + '@npmcli/run-script': 10.0.3 bin-links: 5.0.0 - cacache: 20.0.3 + cacache: 20.0.4 common-ancestor-path: 1.0.1 - hosted-git-info: 9.0.2 + hosted-git-info: 9.0.3 json-stringify-nice: 1.1.4 - lru-cache: 11.3.2 - minimatch: 10.2.5 + lru-cache: 11.5.2 + minimatch: 10.2.6 nopt: 8.1.0 npm-install-checks: 7.1.2 npm-package-arg: 13.0.1 npm-pick-manifest: 11.0.3 npm-registry-fetch: 19.1.0(supports-color@7.2.0) - pacote: 21.0.4(supports-color@7.2.0) + pacote: 21.5.1(supports-color@7.2.0) parse-conflict-json: 4.0.0 proc-log: 5.0.0 proggy: 3.0.0 @@ -8004,16 +7259,16 @@ snapshots: semver: 7.8.5 which: 5.0.0 - '@npmcli/git@7.0.1': + '@npmcli/git@7.0.2': dependencies: + '@gar/promise-retry': 1.0.3 '@npmcli/promise-spawn': 9.0.1 ini: 6.0.0 - lru-cache: 11.3.2 + lru-cache: 11.5.2 npm-pick-manifest: 11.0.3 proc-log: 6.1.0 - promise-retry: 2.0.1 semver: 7.8.5 - which: 6.0.0 + which: 6.0.1 '@npmcli/installed-package-contents@3.0.0': dependencies: @@ -8030,13 +7285,13 @@ snapshots: '@npmcli/name-from-folder': 4.0.0 '@npmcli/package-json': 7.0.2 glob: 13.0.6 - minimatch: 10.2.5 + minimatch: 10.2.6 '@npmcli/metavuln-calculator@9.0.3(supports-color@7.2.0)': dependencies: - cacache: 20.0.3 + cacache: 20.0.4 json-parse-even-better-errors: 5.0.0 - pacote: 21.0.4(supports-color@7.2.0) + pacote: 21.5.1(supports-color@7.2.0) proc-log: 6.1.0 semver: 7.8.5 transitivePeerDependencies: @@ -8052,9 +7307,9 @@ snapshots: '@npmcli/package-json@7.0.2': dependencies: - '@npmcli/git': 7.0.1 + '@npmcli/git': 7.0.2 glob: 11.1.0 - hosted-git-info: 9.0.2 + hosted-git-info: 9.0.3 json-parse-even-better-errors: 5.0.0 proc-log: 6.1.0 semver: 7.8.5 @@ -8066,110 +7321,109 @@ snapshots: '@npmcli/promise-spawn@9.0.1': dependencies: - which: 6.0.0 + which: 6.0.1 '@npmcli/query@4.0.1': dependencies: - postcss-selector-parser: 7.1.1 + postcss-selector-parser: 7.1.5 '@npmcli/redact@3.2.2': {} - '@npmcli/run-script@10.0.3(supports-color@7.2.0)': + '@npmcli/redact@4.0.0': {} + + '@npmcli/run-script@10.0.3': dependencies: '@npmcli/node-gyp': 5.0.0 '@npmcli/package-json': 7.0.2 '@npmcli/promise-spawn': 9.0.1 - node-gyp: 12.2.0(supports-color@7.2.0) + node-gyp: 12.4.0 proc-log: 6.1.0 - which: 6.0.0 - transitivePeerDependencies: - - supports-color + which: 6.0.1 - '@nx/devkit@22.2.7(nx@22.2.7(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0))': + '@nx/devkit@23.1.1(nx@23.1.1)': dependencies: - '@zkochan/js-yaml': 0.0.7 - ejs: 3.1.10 + ejs: 5.0.1 enquirer: 2.3.6 minimatch: 10.2.5 - nx: 22.2.7(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0) + nx: 23.1.1 semver: 7.8.5 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/nx-darwin-arm64@22.2.7': + '@nx/nx-darwin-arm64@23.1.1': optional: true - '@nx/nx-darwin-x64@22.2.7': + '@nx/nx-darwin-x64@23.1.1': optional: true - '@nx/nx-freebsd-x64@22.2.7': + '@nx/nx-freebsd-x64@23.1.1': optional: true - '@nx/nx-linux-arm-gnueabihf@22.2.7': + '@nx/nx-linux-arm-gnueabihf@23.1.1': optional: true - '@nx/nx-linux-arm64-gnu@22.2.7': + '@nx/nx-linux-arm64-gnu@23.1.1': optional: true - '@nx/nx-linux-arm64-musl@22.2.7': + '@nx/nx-linux-arm64-musl@23.1.1': optional: true - '@nx/nx-linux-x64-gnu@22.2.7': + '@nx/nx-linux-x64-gnu@23.1.1': optional: true - '@nx/nx-linux-x64-musl@22.2.7': + '@nx/nx-linux-x64-musl@23.1.1': optional: true - '@nx/nx-win32-arm64-msvc@22.2.7': + '@nx/nx-win32-arm64-msvc@23.1.1': optional: true - '@nx/nx-win32-x64-msvc@22.2.7': + '@nx/nx-win32-x64-msvc@23.1.1': optional: true '@octokit/auth-token@4.0.0': {} - '@octokit/core@5.2.0': + '@octokit/core@5.2.2': dependencies: '@octokit/auth-token': 4.0.0 '@octokit/graphql': 7.1.1 '@octokit/request': 8.4.1 '@octokit/request-error': 5.1.1 - '@octokit/types': 13.8.0 + '@octokit/types': 13.10.0 before-after-hook: 2.2.3 universal-user-agent: 6.0.1 '@octokit/endpoint@9.0.6': dependencies: - '@octokit/types': 13.8.0 + '@octokit/types': 13.10.0 universal-user-agent: 6.0.1 '@octokit/graphql@7.1.1': dependencies: '@octokit/request': 8.4.1 - '@octokit/types': 13.8.0 + '@octokit/types': 13.10.0 universal-user-agent: 6.0.1 - '@octokit/openapi-types@23.0.1': {} + '@octokit/openapi-types@24.2.0': {} '@octokit/plugin-enterprise-rest@6.0.1': {} - '@octokit/plugin-paginate-rest@11.4.4-cjs.2(@octokit/core@5.2.0)': + '@octokit/plugin-paginate-rest@11.4.4-cjs.2(@octokit/core@5.2.2)': dependencies: - '@octokit/core': 5.2.0 - '@octokit/types': 13.8.0 + '@octokit/core': 5.2.2 + '@octokit/types': 13.10.0 - '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.0)': + '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.2)': dependencies: - '@octokit/core': 5.2.0 + '@octokit/core': 5.2.2 - '@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1(@octokit/core@5.2.0)': + '@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1(@octokit/core@5.2.2)': dependencies: - '@octokit/core': 5.2.0 - '@octokit/types': 13.8.0 + '@octokit/core': 5.2.2 + '@octokit/types': 13.10.0 '@octokit/request-error@5.1.1': dependencies: - '@octokit/types': 13.8.0 + '@octokit/types': 13.10.0 deprecation: 2.3.1 once: 1.4.0 @@ -8177,19 +7431,19 @@ snapshots: dependencies: '@octokit/endpoint': 9.0.6 '@octokit/request-error': 5.1.1 - '@octokit/types': 13.8.0 + '@octokit/types': 13.10.0 universal-user-agent: 6.0.1 '@octokit/rest@20.1.2': dependencies: - '@octokit/core': 5.2.0 - '@octokit/plugin-paginate-rest': 11.4.4-cjs.2(@octokit/core@5.2.0) - '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.0) - '@octokit/plugin-rest-endpoint-methods': 13.3.2-cjs.1(@octokit/core@5.2.0) + '@octokit/core': 5.2.2 + '@octokit/plugin-paginate-rest': 11.4.4-cjs.2(@octokit/core@5.2.2) + '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.2) + '@octokit/plugin-rest-endpoint-methods': 13.3.2-cjs.1(@octokit/core@5.2.2) - '@octokit/types@13.8.0': + '@octokit/types@13.10.0': dependencies: - '@octokit/openapi-types': 23.0.1 + '@octokit/openapi-types': 24.2.0 '@open-draft/deferred-promise@2.2.0': {} @@ -8202,9 +7456,6 @@ snapshots: '@open-draft/until@2.1.0': {} - '@opentelemetry/api@1.9.1': - optional: true - '@oxc-parser/binding-android-arm-eabi@0.127.0': optional: true @@ -8257,7 +7508,7 @@ snapshots: dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) optional: true '@oxc-parser/binding-win32-arm64-msvc@0.127.0': @@ -8271,9 +7522,7 @@ snapshots: '@oxc-project/types@0.127.0': {} - '@oxc-project/types@0.139.0': {} - - '@oxc-project/types@0.140.0': {} + '@oxc-project/types@0.143.0': {} '@oxc-resolver/binding-android-arm-eabi@11.24.2': optional: true @@ -8299,329 +7548,208 @@ snapshots: '@oxc-resolver/binding-linux-arm64-gnu@11.24.2': optional: true - '@oxc-resolver/binding-linux-arm64-musl@11.24.2': - optional: true - - '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2': - optional: true - - '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2': - optional: true - - '@oxc-resolver/binding-linux-riscv64-musl@11.24.2': - optional: true - - '@oxc-resolver/binding-linux-s390x-gnu@11.24.2': - optional: true - - '@oxc-resolver/binding-linux-x64-gnu@11.24.2': - optional: true - - '@oxc-resolver/binding-linux-x64-musl@11.24.2': - optional: true - - '@oxc-resolver/binding-openharmony-arm64@11.24.2': - optional: true - - '@oxc-resolver/binding-wasm32-wasi@11.24.2': - dependencies: - '@emnapi/core': 1.11.2 - '@emnapi/runtime': 1.11.2 - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) - optional: true - - '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': - optional: true - - '@oxc-resolver/binding-win32-x64-msvc@11.24.2': - optional: true - - '@paypal/fastlane-sdk-loader@1.2.1': - dependencies: - '@braintree/asset-loader': 2.0.0 - envify: 4.1.0 - typescript: 4.9.5 - - '@paypal/paypal-js@10.0.0': - dependencies: - promise-polyfill: 8.3.0 - - '@playwright/test@1.61.1': - dependencies: - playwright: 1.61.1 - - '@quansync/fs@1.0.0': - dependencies: - quansync: 1.0.0 - - '@rolldown/binding-android-arm64@1.1.5': - optional: true - - '@rolldown/binding-android-arm64@1.2.0': - optional: true - - '@rolldown/binding-darwin-arm64@1.1.5': - optional: true - - '@rolldown/binding-darwin-arm64@1.2.0': - optional: true - - '@rolldown/binding-darwin-x64@1.1.5': - optional: true - - '@rolldown/binding-darwin-x64@1.2.0': - optional: true - - '@rolldown/binding-freebsd-x64@1.1.5': - optional: true - - '@rolldown/binding-freebsd-x64@1.2.0': - optional: true - - '@rolldown/binding-linux-arm-gnueabihf@1.1.5': - optional: true - - '@rolldown/binding-linux-arm-gnueabihf@1.2.0': - optional: true - - '@rolldown/binding-linux-arm64-gnu@1.1.5': - optional: true - - '@rolldown/binding-linux-arm64-gnu@1.2.0': - optional: true - - '@rolldown/binding-linux-arm64-musl@1.1.5': - optional: true - - '@rolldown/binding-linux-arm64-musl@1.2.0': - optional: true - - '@rolldown/binding-linux-ppc64-gnu@1.1.5': - optional: true - - '@rolldown/binding-linux-ppc64-gnu@1.2.0': - optional: true - - '@rolldown/binding-linux-s390x-gnu@1.1.5': - optional: true - - '@rolldown/binding-linux-s390x-gnu@1.2.0': - optional: true - - '@rolldown/binding-linux-x64-gnu@1.1.5': - optional: true - - '@rolldown/binding-linux-x64-gnu@1.2.0': - optional: true - - '@rolldown/binding-linux-x64-musl@1.1.5': - optional: true - - '@rolldown/binding-linux-x64-musl@1.2.0': - optional: true - - '@rolldown/binding-openharmony-arm64@1.1.5': - optional: true - - '@rolldown/binding-openharmony-arm64@1.2.0': - optional: true - - '@rolldown/binding-wasm32-wasi@1.1.5': - dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) - optional: true - - '@rolldown/binding-wasm32-wasi@1.2.0': - dependencies: - '@emnapi/core': 1.11.2 - '@emnapi/runtime': 1.11.2 - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) - optional: true - - '@rolldown/binding-win32-arm64-msvc@1.1.5': - optional: true - - '@rolldown/binding-win32-arm64-msvc@1.2.0': - optional: true - - '@rolldown/binding-win32-x64-msvc@1.1.5': - optional: true - - '@rolldown/binding-win32-x64-msvc@1.2.0': - optional: true - - '@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - picomatch: 4.0.5 - rolldown: 1.2.0 - optionalDependencies: - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) - - '@rolldown/pluginutils@1.0.1': {} - - '@rollup/pluginutils@5.3.0(rollup@4.60.0)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.5 - optionalDependencies: - rollup: 4.60.0 - - '@rollup/rollup-android-arm-eabi@4.60.0': + '@oxc-resolver/binding-linux-arm64-musl@11.24.2': optional: true - '@rollup/rollup-android-arm64@4.60.0': + '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.0': + '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2': optional: true - '@rollup/rollup-darwin-x64@4.60.0': + '@oxc-resolver/binding-linux-riscv64-musl@11.24.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.0': + '@oxc-resolver/binding-linux-s390x-gnu@11.24.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.0': + '@oxc-resolver/binding-linux-x64-gnu@11.24.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.0': + '@oxc-resolver/binding-linux-x64-musl@11.24.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.0': + '@oxc-resolver/binding-openharmony-arm64@11.24.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.0': + '@oxc-resolver/binding-wasm32-wasi@11.24.2': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optional: true - '@rollup/rollup-linux-arm64-musl@4.60.0': + '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.0': + '@oxc-resolver/binding-win32-x64-msvc@11.24.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.0': + '@paypal/fastlane-sdk-loader@1.2.1': + dependencies: + '@braintree/asset-loader': 2.0.0 + envify: 4.1.0 + typescript: 4.9.5 + + '@paypal/paypal-js@10.0.2': + dependencies: + promise-polyfill: 8.3.0 + + '@playwright/test@1.62.1': + dependencies: + playwright: 1.62.1 + + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + + '@rolldown/binding-android-arm64@1.2.3': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.0': + '@rolldown/binding-darwin-arm64@1.2.3': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.0': + '@rolldown/binding-darwin-x64@1.2.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.0': + '@rolldown/binding-freebsd-x64@1.2.3': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.0': + '@rolldown/binding-linux-arm-gnueabihf@1.2.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.0': + '@rolldown/binding-linux-arm64-gnu@1.2.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.0': + '@rolldown/binding-linux-arm64-musl@1.2.3': optional: true - '@rollup/rollup-linux-x64-musl@4.60.0': + '@rolldown/binding-linux-ppc64-gnu@1.2.3': optional: true - '@rollup/rollup-openbsd-x64@4.60.0': + '@rolldown/binding-linux-s390x-gnu@1.2.3': optional: true - '@rollup/rollup-openharmony-arm64@4.60.0': + '@rolldown/binding-linux-x64-gnu@1.2.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.0': + '@rolldown/binding-linux-x64-musl@1.2.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.0': + '@rolldown/binding-openharmony-arm64@1.2.3': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.0': + '@rolldown/binding-win32-arm64-msvc@1.2.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.0': + '@rolldown/binding-win32-x64-msvc@1.2.3': optional: true + '@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0))': + dependencies: + '@babel/core': 8.0.1 + picomatch: 4.0.5 + rolldown: 1.2.3 + optionalDependencies: + '@babel/runtime': 7.29.7 + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) + + '@rolldown/pluginutils@1.0.1': {} + + '@rollup/pluginutils@5.4.0': + dependencies: + '@types/estree': 1.0.9 + estree-walker: 2.0.2 + picomatch: 4.0.5 + '@sigstore/bundle@4.0.0': dependencies: - '@sigstore/protobuf-specs': 0.5.0 + '@sigstore/protobuf-specs': 0.5.1 - '@sigstore/core@3.0.0': {} + '@sigstore/core@3.2.1': {} - '@sigstore/protobuf-specs@0.5.0': {} + '@sigstore/protobuf-specs@0.5.1': {} - '@sigstore/sign@4.0.1(supports-color@7.2.0)': + '@sigstore/sign@4.1.1(supports-color@7.2.0)': dependencies: + '@gar/promise-retry': 1.0.3 '@sigstore/bundle': 4.0.0 - '@sigstore/core': 3.0.0 - '@sigstore/protobuf-specs': 0.5.0 - make-fetch-happen: 15.0.2(supports-color@7.2.0) - proc-log: 5.0.0 - promise-retry: 2.0.1 + '@sigstore/core': 3.2.1 + '@sigstore/protobuf-specs': 0.5.1 + make-fetch-happen: 15.0.6(supports-color@7.2.0) + proc-log: 6.1.0 transitivePeerDependencies: - supports-color - '@sigstore/tuf@4.0.0(supports-color@7.2.0)': + '@sigstore/tuf@4.0.2(supports-color@7.2.0)': dependencies: - '@sigstore/protobuf-specs': 0.5.0 - tuf-js: 4.0.0(supports-color@7.2.0) + '@sigstore/protobuf-specs': 0.5.1 + tuf-js: 4.1.0(supports-color@7.2.0) transitivePeerDependencies: - supports-color - '@sigstore/verify@3.0.0': + '@sigstore/verify@3.1.1': dependencies: '@sigstore/bundle': 4.0.0 - '@sigstore/core': 3.0.0 - '@sigstore/protobuf-specs': 0.5.0 + '@sigstore/core': 3.2.1 + '@sigstore/protobuf-specs': 0.5.1 + + '@simple-libs/child-process-utils@2.0.0': + dependencies: + '@simple-libs/stream-utils': 2.0.0 + + '@simple-libs/hosted-git-info@2.0.0': {} + + '@simple-libs/normalize-package-data@1.0.0': + dependencies: + '@simple-libs/hosted-git-info': 2.0.0 + semver: 7.8.5 - '@sinclair/typebox@0.34.41': {} + '@simple-libs/stream-utils@2.0.0': {} '@sindresorhus/is@4.6.0': {} '@standard-schema/spec@1.1.0': {} - '@storybook/addon-actions@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-actions@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - uuid: 14.0.0 + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + uuid: 14.0.1 '@storybook/addon-actions@9.0.8': {} - '@storybook/addon-backgrounds@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-backgrounds@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 '@storybook/addon-backgrounds@9.0.8': {} - '@storybook/addon-controls@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-controls@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 - - '@storybook/addon-docs@10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': - dependencies: - '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.6) - '@storybook/csf-plugin': 10.5.3(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) - '@storybook/icons': 2.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@storybook/react-dom-shim': 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 + + '@storybook/addon-docs@10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0))': + dependencies: + '@mdx-js/react': 3.1.1(@types/react@19.2.18)(react@19.2.8) + '@storybook/csf-plugin': 10.5.7(esbuild@0.28.2)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) + '@storybook/icons': 2.1.0(react@19.2.8) + '@storybook/react-dom-shim': 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 optionalDependencies: - '@types/react': 19.2.17 + '@types/react': 19.2.18 transitivePeerDependencies: - '@types/react-dom' - esbuild @@ -8629,139 +7757,139 @@ snapshots: - vite - webpack - '@storybook/addon-docs@8.6.18(@types/react@19.2.17)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-docs@8.6.18(@types/react@19.2.18)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.7) - '@storybook/blocks': 8.6.18(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/csf-plugin': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/react-dom-shim': 8.6.18(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 + '@mdx-js/react': 3.1.1(@types/react@19.2.18)(react@19.2.8) + '@storybook/blocks': 8.6.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/csf-plugin': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/react-dom-shim': 8.6.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@8.6.18(@types/react@19.2.17)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': - dependencies: - '@storybook/addon-actions': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/addon-backgrounds': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/addon-controls': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/addon-docs': 8.6.18(@types/react@19.2.17)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/addon-highlight': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/addon-measure': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/addon-outline': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/addon-toolbars': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/addon-viewport': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 + '@storybook/addon-essentials@8.6.18(@types/react@19.2.18)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': + dependencies: + '@storybook/addon-actions': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/addon-backgrounds': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/addon-controls': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/addon-docs': 8.6.18(@types/react@19.2.18)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/addon-highlight': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/addon-measure': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/addon-outline': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/addon-toolbars': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/addon-viewport': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-highlight@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-highlight@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) - '@storybook/addon-interactions@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-interactions@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - '@storybook/test': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + '@storybook/instrumenter': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + '@storybook/test': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) polished: 4.3.1 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 - '@storybook/addon-links@10.5.3(@types/react@19.2.17)(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-links@10.5.7(@types/react@19.2.18)(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) optionalDependencies: - '@types/react': 19.2.17 - react: 19.2.7 + '@types/react': 19.2.18 + react: 19.2.8 - '@storybook/addon-mcp@0.7.0(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3)': + '@storybook/addon-mcp@0.7.0(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(typescript@6.0.3)': dependencies: '@storybook/mcp': 0.8.0(typescript@6.0.3) - '@tmcp/adapter-valibot': 0.1.5(tmcp@1.19.4(typescript@6.0.3))(valibot@1.4.0(typescript@6.0.3)) - '@tmcp/transport-http': 0.8.5(tmcp@1.19.4(typescript@6.0.3)) + '@tmcp/adapter-valibot': 0.1.6(tmcp@1.19.4(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3)) + '@tmcp/transport-http': 0.8.6(tmcp@1.19.4(typescript@6.0.3)) picoquery: 2.5.0 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) tmcp: 1.19.4(typescript@6.0.3) - valibot: 1.4.0(typescript@6.0.3) + valibot: 1.4.2(typescript@6.0.3) transitivePeerDependencies: - '@tmcp/auth' - typescript - '@storybook/addon-mdx-gfm@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0)': + '@storybook/addon-mdx-gfm@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0)': dependencies: remark-gfm: 4.0.1(supports-color@7.2.0) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 transitivePeerDependencies: - supports-color - '@storybook/addon-measure@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-measure@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) tiny-invariant: 1.3.3 '@storybook/addon-measure@9.0.8': {} - '@storybook/addon-onboarding@10.5.3(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-onboarding@10.5.7(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) - '@storybook/addon-outline@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-outline@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 '@storybook/addon-outline@9.0.8': {} - '@storybook/addon-toolbars@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-toolbars@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) - '@storybook/addon-viewport@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/addon-viewport@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: memoizerific: 1.11.3 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) - '@storybook/addons@7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@storybook/addons@7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@storybook/manager-api': 7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@storybook/manager-api': 7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@storybook/preview-api': 7.6.24 '@storybook/types': 7.6.24 transitivePeerDependencies: - react - react-dom - '@storybook/api@7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@storybook/api@7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@storybook/client-logger': 7.6.24 - '@storybook/manager-api': 7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@storybook/manager-api': 7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8) transitivePeerDependencies: - react - react-dom - '@storybook/blocks@8.6.18(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/blocks@8.6.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - '@storybook/icons': 1.6.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 + '@storybook/icons': 1.6.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 optionalDependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - '@storybook/builder-vite@10.3.6(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': + '@storybook/builder-vite@10.5.7(esbuild@0.28.2)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0))': dependencies: - '@storybook/csf-plugin': 10.3.6(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-dedent: 2.2.0 - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + '@storybook/csf-plugin': 10.5.7(esbuild@0.28.2)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) + ts-dedent: 2.3.0 + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) transitivePeerDependencies: - esbuild - rollup @@ -8772,7 +7900,7 @@ snapshots: '@storybook/client-logger': 7.6.24 '@storybook/core-events': 7.6.24 '@storybook/global': 5.0.0 - qs: 6.15.2 + qs: 6.15.3 telejson: 7.2.0 tiny-invariant: 1.3.3 @@ -8785,35 +7913,25 @@ snapshots: dependencies: '@storybook/global': 5.0.0 - '@storybook/client-logger@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/client-logger@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) '@storybook/core-events@7.6.24': dependencies: - ts-dedent: 2.2.0 - - '@storybook/csf-plugin@10.3.6(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': - dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - unplugin: 2.3.11 - optionalDependencies: - esbuild: 0.27.2 - rollup: 4.60.0 - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + ts-dedent: 2.3.0 - '@storybook/csf-plugin@10.5.3(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': + '@storybook/csf-plugin@10.5.7(esbuild@0.28.2)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0))': dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) unplugin: 2.3.11 optionalDependencies: - esbuild: 0.27.2 - rollup: 4.60.0 - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + esbuild: 0.28.2 + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) - '@storybook/csf-plugin@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/csf-plugin@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) unplugin: 1.16.1 '@storybook/csf@0.1.13': @@ -8822,32 +7940,22 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.6.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@storybook/icons@2.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@storybook/icons@2.0.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@storybook/icons@1.6.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - '@storybook/icons@2.1.0(react@19.2.7)': + '@storybook/icons@2.1.0(react@19.2.8)': dependencies: - react: 19.2.7 + react: 19.2.8 - '@storybook/instrumenter@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/instrumenter@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.9 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) - '@storybook/manager-api@7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@storybook/manager-api@7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@storybook/channels': 7.6.24 '@storybook/client-logger': 7.6.24 @@ -8855,35 +7963,35 @@ snapshots: '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 '@storybook/router': 7.6.24 - '@storybook/theming': 7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@storybook/theming': 7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@storybook/types': 7.6.24 dequal: 2.0.3 lodash: 4.18.1 memoizerific: 1.11.3 store2: 2.14.4 telejson: 7.2.0 - ts-dedent: 2.2.0 + ts-dedent: 2.3.0 transitivePeerDependencies: - react - react-dom - '@storybook/manager-api@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/manager-api@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) '@storybook/mcp@0.8.0(typescript@6.0.3)': dependencies: - '@tmcp/adapter-valibot': 0.1.5(tmcp@1.19.4(typescript@6.0.3))(valibot@1.4.0(typescript@6.0.3)) - '@tmcp/transport-http': 0.8.5(tmcp@1.19.4(typescript@6.0.3)) + '@tmcp/adapter-valibot': 0.1.6(tmcp@1.19.4(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3)) + '@tmcp/transport-http': 0.8.6(tmcp@1.19.4(typescript@6.0.3)) tmcp: 1.19.4(typescript@6.0.3) - valibot: 1.4.0(typescript@6.0.3) + valibot: 1.4.2(typescript@6.0.3) transitivePeerDependencies: - '@tmcp/auth' - typescript - '@storybook/node-logger@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/node-logger@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) '@storybook/preview-api@7.6.24': dependencies: @@ -8893,54 +8001,45 @@ snapshots: '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 '@storybook/types': 7.6.24 - '@types/qs': 6.9.18 + '@types/qs': 6.15.1 dequal: 2.0.3 lodash: 4.18.1 memoizerific: 1.11.3 - qs: 6.15.2 - synchronous-promise: 2.0.17 - ts-dedent: 2.2.0 + qs: 6.15.3 + synchronous-promise: 2.0.18 + ts-dedent: 2.3.0 util-deprecate: 1.0.2 - '@storybook/react-dom-shim@10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': - dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) - - '@storybook/react-dom-shim@10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/react-dom-shim@10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.18 + '@types/react-dom': 19.2.4(@types/react@19.2.18) - '@storybook/react-dom-shim@8.6.18(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/react-dom-shim@8.6.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) - '@storybook/react-vite@10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(esbuild@0.27.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': + '@storybook/react-vite@10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) - '@rollup/pluginutils': 5.3.0(rollup@4.60.0) - '@storybook/builder-vite': 10.3.6(esbuild@0.27.2)(rollup@4.60.0)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) - '@storybook/react': 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0)(typescript@6.0.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) + '@rollup/pluginutils': 5.4.0 + '@storybook/builder-vite': 10.5.7(esbuild@0.28.2)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) + '@storybook/react': 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0)(typescript@6.0.3) empathic: 2.0.1 magic-string: 0.30.21 - react: 19.2.7 + react: 19.2.8 react-docgen: 8.0.3(supports-color@7.2.0) - react-dom: 19.2.7(react@19.2.7) - resolve: 1.22.11 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react-dom: 19.2.8(react@19.2.8) + resolve: 1.22.12 + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) tsconfig-paths: 4.2.0 - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) optionalDependencies: typescript: 6.0.3 transitivePeerDependencies: @@ -8951,18 +8050,18 @@ snapshots: - supports-color - webpack - '@storybook/react@10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(supports-color@7.2.0)(typescript@6.0.3)': + '@storybook/react@10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 10.5.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) - react: 19.2.7 + '@storybook/react-dom-shim': 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) + react: 19.2.8 react-docgen: 8.0.3(supports-color@7.2.0) react-docgen-typescript: 2.4.0(typescript@6.0.3) - react-dom: 19.2.7(react@19.2.7) - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react-dom: 19.2.8(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.18 + '@types/react-dom': 19.2.4(@types/react@19.2.18) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -8971,66 +8070,66 @@ snapshots: dependencies: '@storybook/client-logger': 7.6.24 memoizerific: 1.11.3 - qs: 6.15.2 + qs: 6.15.3 - '@storybook/test@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/test@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) + '@storybook/instrumenter': 8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8)) '@testing-library/dom': 10.4.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) '@storybook/testing-library@0.2.2': dependencies: '@testing-library/dom': 9.3.4 - '@testing-library/user-event': 14.6.1(@testing-library/dom@9.3.4) - ts-dedent: 2.2.0 + '@testing-library/user-event': 14.6.3(@testing-library/dom@9.3.4) + ts-dedent: 2.3.0 - '@storybook/theming@7.6.24(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@storybook/theming@7.6.24(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.7) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.8) '@storybook/client-logger': 7.6.24 '@storybook/global': 5.0.0 memoizerific: 1.11.3 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - '@storybook/theming@8.6.18(storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': + '@storybook/theming@8.6.18(storybook@10.5.7(@types/react@19.2.18)(react@19.2.8))': dependencies: - storybook: 10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + storybook: 10.5.7(@types/react@19.2.18)(react@19.2.8) '@storybook/types@7.6.24': dependencies: '@storybook/channels': 7.6.24 '@types/babel__core': 7.20.5 - '@types/express': 4.17.21 + '@types/express': 4.17.25 file-system-cache: 2.3.0 - '@stripe/react-stripe-js@6.8.0(@stripe/stripe-js@9.10.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@stripe/react-stripe-js@6.8.1(@stripe/stripe-js@9.13.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@stripe/stripe-js': 9.10.0 + '@stripe/stripe-js': 9.13.0 prop-types: 15.8.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - '@stripe/stripe-js@9.10.0': {} + '@stripe/stripe-js@9.13.0': {} - '@tanstack/react-table@8.21.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@tanstack/react-table@8.21.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@tanstack/table-core': 8.21.3 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) '@tanstack/table-core@8.21.3': {} '@testing-library/dom@10.4.0': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/runtime': 7.26.10 + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -9041,7 +8140,7 @@ snapshots: '@testing-library/dom@10.4.1': dependencies: '@babel/code-frame': 7.29.7 - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.29.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 dom-accessibility-api: 0.5.16 @@ -9051,8 +8150,8 @@ snapshots: '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/runtime': 7.26.10 + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -9062,8 +8161,8 @@ snapshots: '@testing-library/jest-dom@6.5.0': dependencies: - '@adobe/css-tools': 4.4.4 - aria-query: 5.3.0 + '@adobe/css-tools': 4.5.0 + aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 @@ -9072,58 +8171,58 @@ snapshots: '@testing-library/jest-dom@6.9.1': dependencies: - '@adobe/css-tools': 4.4.4 - aria-query: 5.3.0 + '@adobe/css-tools': 4.5.0 + aria-query: 5.3.2 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.29.7 '@testing-library/dom': 10.4.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.18 + '@types/react-dom': 19.2.4(@types/react@19.2.18) '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': dependencies: '@testing-library/dom': 10.4.0 - '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': + '@testing-library/user-event@14.6.3(@testing-library/dom@10.4.1)': dependencies: '@testing-library/dom': 10.4.1 - '@testing-library/user-event@14.6.1(@testing-library/dom@9.3.4)': + '@testing-library/user-event@14.6.3(@testing-library/dom@9.3.4)': dependencies: '@testing-library/dom': 9.3.4 - '@tmcp/adapter-valibot@0.1.5(tmcp@1.19.4(typescript@6.0.3))(valibot@1.4.0(typescript@6.0.3))': + '@tmcp/adapter-valibot@0.1.6(tmcp@1.19.4(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3))': dependencies: '@standard-schema/spec': 1.1.0 - '@valibot/to-json-schema': 1.6.0(valibot@1.4.0(typescript@6.0.3)) + '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(typescript@6.0.3)) tmcp: 1.19.4(typescript@6.0.3) - valibot: 1.4.0(typescript@6.0.3) + valibot: 1.4.2(typescript@6.0.3) - '@tmcp/session-manager@0.2.1(tmcp@1.19.4(typescript@6.0.3))': + '@tmcp/session-manager@0.2.2(tmcp@1.19.4(typescript@6.0.3))': dependencies: tmcp: 1.19.4(typescript@6.0.3) - '@tmcp/transport-http@0.8.5(tmcp@1.19.4(typescript@6.0.3))': + '@tmcp/transport-http@0.8.6(tmcp@1.19.4(typescript@6.0.3))': dependencies: - '@tmcp/session-manager': 0.2.1(tmcp@1.19.4(typescript@6.0.3)) + '@tmcp/session-manager': 0.2.2(tmcp@1.19.4(typescript@6.0.3)) esm-env: 1.2.2 tmcp: 1.19.4(typescript@6.0.3) '@tufjs/canonical-json@2.0.0': {} - '@tufjs/models@4.0.0': + '@tufjs/models@4.1.0': dependencies: '@tufjs/canonical-json': 2.0.0 - minimatch: 10.2.5 + minimatch: 10.2.6 '@tybys/wasm-util@0.10.3': dependencies: @@ -9140,33 +8239,33 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - '@types/babel__generator': 7.6.8 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 - '@types/babel__generator@7.6.8': + '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.29.7 + '@babel/types': 7.29.8 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.29.7 + '@babel/types': 7.29.8 - '@types/body-parser@1.19.5': + '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 25.6.2 + '@types/node': 25.9.5 '@types/braintree-web@3.96.17': dependencies: - '@types/googlepay': 0.7.6 + '@types/googlepay': 0.7.11 '@types/paypal-checkout-components': 4.0.8 '@types/chai@5.2.3': @@ -9176,9 +8275,9 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.9.5 - '@types/debug@4.1.12': + '@types/debug@4.1.13': dependencies: '@types/ms': 2.1.0 @@ -9186,95 +8285,95 @@ snapshots: '@types/doctrine@0.0.9': {} - '@types/estree@1.0.8': {} + '@types/estree@1.0.9': {} - '@types/express-serve-static-core@4.19.6': + '@types/express-serve-static-core@4.19.9': dependencies: - '@types/node': 25.6.2 - '@types/qs': 6.9.18 + '@types/node': 25.9.5 + '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 + '@types/send': 1.2.1 - '@types/express@4.17.21': + '@types/express@4.17.25': dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.9.18 - '@types/serve-static': 1.15.7 + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.9 + '@types/qs': 6.15.1 + '@types/serve-static': 1.15.10 - '@types/googlepay@0.7.10': {} + '@types/gensync@1.0.5': {} - '@types/googlepay@0.7.6': {} + '@types/googlepay@0.7.11': {} - '@types/http-errors@2.0.4': {} - - '@types/iframe-resizer@4.0.0': {} + '@types/http-errors@2.0.5': {} '@types/js-cookie@3.0.6': {} + '@types/jsesc@2.5.1': {} + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 - '@types/mdx@2.0.13': {} + '@types/mdx@2.0.14': {} '@types/mime@1.3.5': {} - '@types/minimist@1.2.5': {} - '@types/ms@2.1.0': {} - '@types/node@25.6.2': - dependencies: - undici-types: 7.19.2 - '@types/node@25.9.5': dependencies: undici-types: 7.24.6 - '@types/normalize-package-data@2.4.4': {} + '@types/node@26.2.0': + dependencies: + undici-types: 8.3.0 '@types/paypal-checkout-components@4.0.8': {} - '@types/qs@6.9.18': {} + '@types/qs@6.15.1': {} '@types/range-parser@1.2.7': {} - '@types/react-dom@19.2.3(@types/react@19.2.17)': + '@types/react-dom@19.2.4(@types/react@19.2.18)': dependencies: - '@types/react': 19.2.17 + '@types/react': 19.2.18 '@types/react-test-renderer@19.1.0': dependencies: - '@types/react': 19.2.17 + '@types/react': 19.2.18 - '@types/react-window@2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + '@types/react-window@2.0.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - react-window: 2.2.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react-window: 2.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) transitivePeerDependencies: - react - react-dom - '@types/react@19.2.17': + '@types/react@19.2.18': dependencies: csstype: 3.2.3 '@types/resolve@1.20.6': {} - '@types/send@0.17.4': + '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 25.6.2 + '@types/node': 25.9.5 + + '@types/send@1.2.1': + dependencies: + '@types/node': 25.9.5 - '@types/serve-static@1.15.7': + '@types/serve-static@1.15.10': dependencies: - '@types/http-errors': 2.0.4 - '@types/node': 25.6.2 - '@types/send': 0.17.4 + '@types/http-errors': 2.0.5 + '@types/node': 25.9.5 + '@types/send': 0.17.6 '@types/set-cookie-parser@2.4.10': dependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 '@types/statuses@2.0.6': {} @@ -9282,31 +8381,31 @@ snapshots: '@types/uuid@9.0.8': {} - '@valibot/to-json-schema@1.6.0(valibot@1.4.0(typescript@6.0.3))': + '@valibot/to-json-schema@1.7.1(valibot@1.4.2(typescript@6.0.3))': dependencies: - valibot: 1.4.0(typescript@6.0.3) + valibot: 1.4.2(typescript@6.0.3) - '@vitejs/plugin-react@6.0.3(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': + '@vitejs/plugin-react@6.0.5(@rolldown/plugin-babel@0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) optionalDependencies: - '@rolldown/plugin-babel': 0.2.3(@babel/core@7.29.7(supports-color@7.2.0))(rolldown@1.2.0)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + '@rolldown/plugin-babel': 0.2.3(@babel/core@8.0.1)(@babel/runtime@7.29.7)(rolldown@1.2.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) babel-plugin-react-compiler: 1.0.0 - '@vitest/coverage-v8@4.1.10(vitest@4.1.5)': + '@vitest/coverage-v8@4.1.10(vitest@4.1.10)': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 4.1.10 - ast-v8-to-istanbul: 1.0.0 + ast-v8-to-istanbul: 1.0.5 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-reports: 3.2.0 - magicast: 0.5.2 + magicast: 0.5.4 obug: 2.1.4 - std-env: 4.0.0 - tinyrainbow: 3.1.0 - vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@25.9.5)(@vitest/coverage-v8@4.1.10)(jsdom@29.1.1)(msw@2.15.0(@types/node@25.9.5)(typescript@6.0.3))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) + std-env: 4.2.0 + tinyrainbow: 3.1.1 + vitest: 4.1.10(@types/node@26.2.0)(@vitest/coverage-v8@4.1.10)(jsdom@30.0.1)(msw@2.15.0(@types/node@26.2.0)(typescript@6.0.3))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) '@vitest/expect@2.0.5': dependencies: @@ -9323,23 +8422,23 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/expect@4.1.5': + '@vitest/expect@4.1.10': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.1.5 - '@vitest/utils': 4.1.5 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 chai: 6.2.2 - tinyrainbow: 3.1.0 + tinyrainbow: 3.1.1 - '@vitest/mocker@4.1.5(msw@2.15.0(@types/node@25.9.5)(typescript@6.0.3))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0))': + '@vitest/mocker@4.1.10(msw@2.15.0(@types/node@26.2.0)(typescript@6.0.3))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.5 + '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - msw: 2.15.0(@types/node@25.9.5)(typescript@6.0.3) - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + msw: 2.15.0(@types/node@26.2.0)(typescript@6.0.3) + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) '@vitest/pretty-format@2.0.5': dependencies: @@ -9355,21 +8454,17 @@ snapshots: '@vitest/pretty-format@4.1.10': dependencies: - tinyrainbow: 3.1.0 - - '@vitest/pretty-format@4.1.5': - dependencies: - tinyrainbow: 3.1.0 + tinyrainbow: 3.1.1 - '@vitest/runner@4.1.5': + '@vitest/runner@4.1.10': dependencies: - '@vitest/utils': 4.1.5 + '@vitest/utils': 4.1.10 pathe: 2.0.3 - '@vitest/snapshot@4.1.5': + '@vitest/snapshot@4.1.10': dependencies: - '@vitest/pretty-format': 4.1.5 - '@vitest/utils': 4.1.5 + '@vitest/pretty-format': 4.1.10 + '@vitest/utils': 4.1.10 magic-string: 0.30.21 pathe: 2.0.3 @@ -9381,7 +8476,7 @@ snapshots: dependencies: tinyspy: 4.0.4 - '@vitest/spy@4.1.5': {} + '@vitest/spy@4.1.10': {} '@vitest/utils@2.0.5': dependencies: @@ -9406,107 +8501,95 @@ snapshots: dependencies: '@vitest/pretty-format': 4.1.10 convert-source-map: 2.0.0 - tinyrainbow: 3.1.0 - - '@vitest/utils@4.1.5': - dependencies: - '@vitest/pretty-format': 4.1.5 - convert-source-map: 2.0.0 - tinyrainbow: 3.1.0 + tinyrainbow: 3.1.1 '@webcontainer/env@1.1.1': {} '@yarnpkg/lockfile@1.1.0': {} - '@yarnpkg/parsers@3.0.2': - dependencies: - js-yaml: 3.14.2 - tslib: 2.8.1 + '@yuku-codegen/binding-android-arm64@0.8.4': + optional: true - '@yuku-codegen/binding-darwin-arm64@0.6.1': + '@yuku-codegen/binding-darwin-arm64@0.8.4': optional: true - '@yuku-codegen/binding-darwin-x64@0.6.1': + '@yuku-codegen/binding-darwin-x64@0.8.4': optional: true - '@yuku-codegen/binding-freebsd-x64@0.6.1': + '@yuku-codegen/binding-freebsd-x64@0.8.4': optional: true - '@yuku-codegen/binding-linux-arm-gnu@0.6.1': + '@yuku-codegen/binding-linux-arm-gnu@0.8.4': optional: true - '@yuku-codegen/binding-linux-arm-musl@0.6.1': + '@yuku-codegen/binding-linux-arm-musl@0.8.4': optional: true - '@yuku-codegen/binding-linux-arm64-gnu@0.6.1': + '@yuku-codegen/binding-linux-arm64-gnu@0.8.4': optional: true - '@yuku-codegen/binding-linux-arm64-musl@0.6.1': + '@yuku-codegen/binding-linux-arm64-musl@0.8.4': optional: true - '@yuku-codegen/binding-linux-x64-gnu@0.6.1': + '@yuku-codegen/binding-linux-x64-gnu@0.8.4': optional: true - '@yuku-codegen/binding-linux-x64-musl@0.6.1': + '@yuku-codegen/binding-linux-x64-musl@0.8.4': optional: true - '@yuku-codegen/binding-win32-arm64@0.6.1': + '@yuku-codegen/binding-win32-arm64@0.8.4': optional: true - '@yuku-codegen/binding-win32-x64@0.6.1': + '@yuku-codegen/binding-win32-x64@0.8.4': optional: true - '@yuku-parser/binding-darwin-arm64@0.6.1': + '@yuku-parser/binding-android-arm64@0.8.4': optional: true - '@yuku-parser/binding-darwin-x64@0.6.1': + '@yuku-parser/binding-darwin-arm64@0.8.4': optional: true - '@yuku-parser/binding-freebsd-x64@0.6.1': + '@yuku-parser/binding-darwin-x64@0.8.4': optional: true - '@yuku-parser/binding-linux-arm-gnu@0.6.1': + '@yuku-parser/binding-freebsd-x64@0.8.4': optional: true - '@yuku-parser/binding-linux-arm-musl@0.6.1': + '@yuku-parser/binding-linux-arm-gnu@0.8.4': optional: true - '@yuku-parser/binding-linux-arm64-gnu@0.6.1': + '@yuku-parser/binding-linux-arm-musl@0.8.4': optional: true - '@yuku-parser/binding-linux-arm64-musl@0.6.1': + '@yuku-parser/binding-linux-arm64-gnu@0.8.4': optional: true - '@yuku-parser/binding-linux-x64-gnu@0.6.1': + '@yuku-parser/binding-linux-arm64-musl@0.8.4': optional: true - '@yuku-parser/binding-linux-x64-musl@0.6.1': + '@yuku-parser/binding-linux-x64-gnu@0.8.4': optional: true - '@yuku-parser/binding-win32-arm64@0.6.1': + '@yuku-parser/binding-linux-x64-musl@0.8.4': optional: true - '@yuku-parser/binding-win32-x64@0.6.1': + '@yuku-parser/binding-win32-arm64@0.8.4': optional: true - '@yuku-toolchain/types@0.5.43': {} + '@yuku-parser/binding-win32-x64@0.8.4': + optional: true + + '@yuku-toolchain/types@0.8.4': {} '@zkochan/js-yaml@0.0.7': dependencies: argparse: 2.0.1 - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - abbrev@3.0.1: {} abbrev@4.0.0: {} - acorn@8.16.0: {} - - add-stream@1.0.0: {} + acorn@8.18.0: {} agent-base@6.0.2(supports-color@7.2.0): dependencies: @@ -9514,7 +8597,7 @@ snapshots: transitivePeerDependencies: - supports-color - agent-base@7.1.3: {} + agent-base@7.1.4: {} aggregate-error@3.1.0: dependencies: @@ -9523,13 +8606,13 @@ snapshots: ansi-colors@4.1.3: {} - ansi-escapes@7.2.0: + ansi-escapes@7.3.0: dependencies: environment: 1.1.0 ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.2.2: {} ansi-styles@4.3.0: dependencies: @@ -9537,20 +8620,14 @@ snapshots: ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} - ansis@4.3.1: {} any-promise@1.3.0: {} - aproba@2.0.0: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - argparse@2.0.1: {} + argue-cli@3.1.0: {} + aria-query@5.1.3: dependencies: deep-equal: 2.2.3 @@ -9559,87 +8636,67 @@ snapshots: dependencies: dequal: 2.0.3 + aria-query@5.3.2: {} + array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 is-array-buffer: 3.0.5 - array-ify@1.0.0: {} - - arrify@1.0.1: {} - assertion-error@2.0.1: {} ast-types@0.16.1: dependencies: tslib: 2.8.1 - ast-v8-to-istanbul@1.0.0: + ast-v8-to-istanbul@1.0.5: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 js-tokens: 10.0.0 - async@3.2.6: {} - asynckit@0.4.0: {} + auto-console-group@1.3.0: {} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - axios@1.17.0(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0): + axios@1.19.0(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0): dependencies: follow-redirects: 1.16.0(debug@4.4.3(supports-color@7.2.0)) - form-data: 4.0.5 + form-data: 4.0.6 https-proxy-agent: 5.0.1(supports-color@7.2.0) proxy-from-env: 2.1.0 transitivePeerDependencies: - debug - supports-color - babel-loader@10.1.1(@babel/core@7.29.7(supports-color@7.2.0)): + babel-loader@10.1.1(@babel/core@8.0.1): dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) + '@babel/core': 8.0.1 find-up: 5.0.0 - babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0): - dependencies: - '@babel/compat-data': 7.29.3 - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0): - dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0): + babel-plugin-polyfill-corejs3@1.0.0(@babel/core@8.0.1): dependencies: - '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color + '@babel/core': 8.0.1 + '@babel/helper-define-polyfill-provider': 1.0.0(@babel/core@8.0.1) + core-js-compat: 3.50.0 babel-plugin-react-compiler@1.0.0: dependencies: - '@babel/types': 7.29.7 + '@babel/types': 7.29.8 bail@2.0.2: {} balanced-match@1.0.2: {} - balanced-match@4.0.4: {} + balanced-match@4.0.3: {} base64-js@1.5.1: {} - baseline-browser-mapping@2.9.9: {} + baseline-browser-mapping@2.11.13: {} before-after-hook@2.2.3: {} @@ -9661,16 +8718,16 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - brace-expansion@1.1.12: + brace-expansion@1.1.18: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@5.0.5: + brace-expansion@5.0.9: dependencies: - balanced-match: 4.0.4 + balanced-match: 4.0.3 - braintree-web@3.143.0: + braintree-web@3.144.0: dependencies: '@braintree/asset-loader': 2.0.3 '@braintree/browser-detection': 2.1.0 @@ -9683,20 +8740,18 @@ snapshots: '@paypal/fastlane-sdk-loader': 1.2.1 card-validator: 10.0.3 credit-card-type: 10.2.0 - framebus: 6.0.3 + framebus: 6.1.0 inject-stylesheet: 7.0.0 promise-polyfill: 8.2.3 restricted-input: 4.0.3 - browserslist@4.28.1: + browserslist@4.28.8: dependencies: - baseline-browser-mapping: 2.9.9 - caniuse-lite: 1.0.30001760 - electron-to-chromium: 1.5.267 - node-releases: 2.0.27 - update-browserslist-db: 1.2.3(browserslist@4.28.1) - - buffer-from@1.1.2: {} + baseline-browser-mapping: 2.11.13 + caniuse-lite: 1.0.30001809 + electron-to-chromium: 1.5.403 + node-releases: 2.0.53 + update-browserslist-db: 1.3.1(browserslist@4.28.8) buffer@5.7.1: dependencies: @@ -9707,30 +8762,27 @@ snapshots: dependencies: run-applescript: 7.1.0 - byte-size@8.1.1: {} - cac@7.0.0: {} - cacache@20.0.3: + cacache@20.0.4: dependencies: '@npmcli/fs': 5.0.0 fs-minipass: 3.0.3 glob: 13.0.6 - lru-cache: 11.3.2 + lru-cache: 11.5.2 minipass: 7.1.3 minipass-collect: 2.0.1 - minipass-flush: 1.0.5 + minipass-flush: 1.0.7 minipass-pipeline: 1.2.4 - p-map: 7.0.4 - ssri: 13.0.0 - unique-filename: 5.0.0 + p-map: 7.0.6 + ssri: 13.0.1 call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.8: + call-bind@1.0.9: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 @@ -9744,19 +8796,11 @@ snapshots: callsites@3.1.0: {} - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - - camelcase@5.3.1: {} - - caniuse-lite@1.0.30001760: {} + caniuse-lite@1.0.30001809: {} card-validator@10.0.3: dependencies: - credit-card-type: 10.1.0 + credit-card-type: 10.2.0 ccount@2.0.1: {} @@ -9775,11 +8819,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@4.1.0: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -9791,18 +8830,16 @@ snapshots: character-entities@2.0.2: {} - chardet@2.1.1: {} + chardet@2.2.0: {} check-error@2.1.3: {} chownr@3.0.0: {} - chromatic@16.10.0: + chromatic@18.1.0: dependencies: semver: 7.8.5 - ci-info@3.9.0: {} - ci-info@4.3.1: {} cjs-module-lexer@1.4.3: {} @@ -9822,12 +8859,10 @@ snapshots: mz: 2.7.0 parse5: 5.1.1 parse5-htmlparser2-tree-adapter: 6.0.1 - yargs: 16.2.0 + yargs: 16.2.2 cli-spinners@2.6.1: {} - cli-spinners@2.9.2: {} - cli-table3@0.6.5: dependencies: string-width: 4.2.3 @@ -9860,8 +8895,6 @@ snapshots: color-name@1.1.4: {} - color-support@1.1.3: {} - columnify@1.6.0: dependencies: strip-ansi: 6.0.1 @@ -9875,94 +8908,66 @@ snapshots: common-ancestor-path@1.0.1: {} - compare-func@2.0.0: - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - concat-map@0.0.1: {} - concat-stream@2.0.0: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - - console-control-strings@1.1.0: {} - - conventional-changelog-angular@7.0.0: + conventional-changelog-angular@9.2.1: dependencies: - compare-func: 2.0.0 + '@conventional-changelog/template': 1.3.0 - conventional-changelog-core@5.0.1: - dependencies: - add-stream: 1.0.0 - conventional-changelog-writer: 6.0.1 - conventional-commits-parser: 4.0.0 - dateformat: 3.0.3 - get-pkg-repo: 4.2.1 - git-raw-commits: 3.0.0 - git-remote-origin-url: 2.0.0 - git-semver-tags: 5.0.1 - normalize-package-data: 3.0.3 - read-pkg: 3.0.0 - read-pkg-up: 3.0.0 - - conventional-changelog-preset-loader@3.0.0: {} + conventional-changelog-preset-loader@6.0.1: {} - conventional-changelog-writer@6.0.1: + conventional-changelog-writer@9.2.1: dependencies: - conventional-commits-filter: 3.0.0 - dateformat: 3.0.3 - handlebars: 4.7.9 - json-stringify-safe: 5.0.1 - meow: 8.1.2 + '@conventional-changelog/template': 1.3.0 + '@simple-libs/stream-utils': 2.0.0 + argue-cli: 3.1.0 + conventional-commits-filter: 6.0.1 semver: 7.8.5 - split: 1.0.1 - conventional-commits-filter@3.0.0: + conventional-changelog@8.1.0(conventional-commits-filter@6.0.1): dependencies: - lodash.ismatch: 4.4.0 - modify-values: 1.0.1 + '@conventional-changelog/git-client': 3.1.2(conventional-commits-filter@6.0.1)(conventional-commits-parser@7.1.0) + '@simple-libs/hosted-git-info': 2.0.0 + '@simple-libs/normalize-package-data': 1.0.0 + argue-cli: 3.1.0 + conventional-changelog-preset-loader: 6.0.1 + conventional-changelog-writer: 9.2.1 + conventional-commits-parser: 7.1.0 + fd-package-json: 2.0.0 + transitivePeerDependencies: + - conventional-commits-filter - conventional-commits-parser@4.0.0: + conventional-commits-filter@6.0.1: {} + + conventional-commits-parser@7.1.0: dependencies: - JSONStream: 1.3.5 - is-text-path: 1.0.1 - meow: 8.1.2 - split2: 3.2.2 + '@simple-libs/stream-utils': 2.0.0 + argue-cli: 3.1.0 - conventional-recommended-bump@7.0.1: + conventional-recommended-bump@12.1.0: dependencies: - concat-stream: 2.0.0 - conventional-changelog-preset-loader: 3.0.0 - conventional-commits-filter: 3.0.0 - conventional-commits-parser: 4.0.0 - git-raw-commits: 3.0.0 - git-semver-tags: 5.0.1 - meow: 8.1.2 + '@conventional-changelog/git-client': 3.1.2(conventional-commits-filter@6.0.1)(conventional-commits-parser@7.1.0) + argue-cli: 3.1.0 + conventional-changelog-preset-loader: 6.0.1 + conventional-commits-filter: 6.0.1 + conventional-commits-parser: 7.1.0 convert-source-map@2.0.0: {} cookie@1.1.1: {} - core-js-compat@3.49.0: + core-js-compat@3.50.0: dependencies: - browserslist: 4.28.1 - - core-util-is@1.0.3: {} + browserslist: 4.28.8 - cosmiconfig@9.0.0(typescript@5.9.3): + cosmiconfig@9.0.0(typescript@6.0.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 - js-yaml: 4.1.1 + js-yaml: 4.3.1 parse-json: 5.2.0 optionalDependencies: - typescript: 5.9.3 - - credit-card-type@10.1.0: {} + typescript: 6.0.3 credit-card-type@10.2.0: {} @@ -9983,8 +8988,6 @@ snapshots: csstype@3.2.3: {} - dargs@7.0.0: {} - data-urls@7.0.0: dependencies: whatwg-mimetype: 5.0.0 @@ -9992,24 +8995,15 @@ snapshots: transitivePeerDependencies: - '@noble/hashes' - dateformat@3.0.3: {} - debug@4.4.3(supports-color@7.2.0): dependencies: ms: 2.1.3 optionalDependencies: supports-color: 7.2.0 - decamelize-keys@1.1.1: - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - - decamelize@1.2.0: {} - decimal.js@10.6.0: {} - decode-named-character-reference@1.1.0: + decode-named-character-reference@1.3.0: dependencies: character-entities: 2.0.2 @@ -10020,7 +9014,7 @@ snapshots: deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 + call-bind: 1.0.9 es-get-iterator: 1.1.3 get-intrinsic: 1.3.0 is-arguments: 1.2.0 @@ -10033,14 +9027,21 @@ snapshots: object-keys: 1.1.1 object.assign: 4.1.7 regexp.prototype.flags: 1.5.4 - side-channel: 1.1.0 + side-channel: 1.1.1 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 + + default-browser-id@5.0.0: {} default-browser-id@5.0.1: {} - default-browser@5.4.0: + default-browser@5.2.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + + default-browser@5.5.0: dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.1 @@ -10055,8 +9056,6 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - define-lazy-prop@2.0.0: {} - define-lazy-prop@3.0.0: {} define-properties@1.2.1: @@ -10089,11 +9088,7 @@ snapshots: dom-accessibility-api@0.6.3: {} - dot-prop@5.3.0: - dependencies: - is-obj: 2.0.0 - - dotenv-expand@11.0.7: + dotenv-expand@12.0.3: dependencies: dotenv: 16.4.7 @@ -10109,18 +9104,12 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - eastasianwidth@0.2.0: {} - - ejs@3.1.10: - dependencies: - jake: 10.9.2 + ejs@5.0.1: {} - electron-to-chromium@1.5.267: {} + electron-to-chromium@1.5.403: {} emoji-regex@8.0.0: {} - emoji-regex@9.2.2: {} - emojilib@2.4.0: {} empathic@2.0.1: {} @@ -10130,7 +9119,7 @@ snapshots: iconv-lite: 0.6.3 optional: true - end-of-stream@1.4.4: + end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -10153,7 +9142,7 @@ snapshots: err-code@2.0.3: {} - error-ex@1.3.2: + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -10163,7 +9152,7 @@ snapshots: es-get-iterator@1.1.3: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 get-intrinsic: 1.3.0 has-symbols: 1.1.0 is-arguments: 1.2.0 @@ -10173,47 +9162,51 @@ snapshots: isarray: 2.0.5 stop-iteration-iterator: 1.1.0 - es-module-lexer@2.0.0: {} + es-module-lexer@2.3.1: {} es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + es-set-tostringtag@2.1.0: dependencies: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.4 - esbuild@0.27.2: + esbuild@0.28.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + '@esbuild/aix-ppc64': 0.28.2 + '@esbuild/android-arm': 0.28.2 + '@esbuild/android-arm64': 0.28.2 + '@esbuild/android-x64': 0.28.2 + '@esbuild/darwin-arm64': 0.28.2 + '@esbuild/darwin-x64': 0.28.2 + '@esbuild/freebsd-arm64': 0.28.2 + '@esbuild/freebsd-x64': 0.28.2 + '@esbuild/linux-arm': 0.28.2 + '@esbuild/linux-arm64': 0.28.2 + '@esbuild/linux-ia32': 0.28.2 + '@esbuild/linux-loong64': 0.28.2 + '@esbuild/linux-mips64el': 0.28.2 + '@esbuild/linux-ppc64': 0.28.2 + '@esbuild/linux-riscv64': 0.28.2 + '@esbuild/linux-s390x': 0.28.2 + '@esbuild/linux-x64': 0.28.2 + '@esbuild/netbsd-arm64': 0.28.2 + '@esbuild/netbsd-x64': 0.28.2 + '@esbuild/openbsd-arm64': 0.28.2 + '@esbuild/openbsd-x64': 0.28.2 + '@esbuild/openharmony-arm64': 0.28.2 + '@esbuild/sunos-x64': 0.28.2 + '@esbuild/win32-arm64': 0.28.2 + '@esbuild/win32-ia32': 0.28.2 + '@esbuild/win32-x64': 0.28.2 escalade@3.2.0: {} @@ -10229,7 +9222,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esutils@2.0.3: {} @@ -10238,7 +9231,7 @@ snapshots: execa@5.0.0: dependencies: cross-spawn: 7.0.6 - get-stream: 6.0.1 + get-stream: 6.0.0 human-signals: 2.1.0 is-stream: 2.0.1 merge-stream: 2.0.0 @@ -10247,9 +9240,9 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - expect-type@1.3.0: {} + expect-type@1.4.0: {} - exponential-backoff@3.1.2: {} + exponential-backoff@3.1.3: {} extend@3.0.2: {} @@ -10259,10 +9252,14 @@ snapshots: dependencies: fast-string-truncated-width: 3.0.3 - fast-wrap-ansi@0.2.0: + fast-wrap-ansi@0.2.2: dependencies: fast-string-width: 3.0.2 + fd-package-json@2.0.0: + dependencies: + walk-up-path: 4.0.0 + fdir@6.5.0(picomatch@4.0.5): optionalDependencies: picomatch: 4.0.5 @@ -10278,14 +9275,6 @@ snapshots: fs-extra: 11.1.1 ramda: 0.29.0 - filelist@1.0.4: - dependencies: - minimatch: 10.2.5 - - find-up@2.1.0: - dependencies: - locate-path: 2.0.0 - find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -10311,41 +9300,37 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.5: + form-data@4.0.6: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.2 + hasown: 2.0.4 mime-types: 2.1.35 - framebus@6.0.3: + framebus@6.1.0: dependencies: - '@braintree/uuid': 1.0.1 + '@braintree/uuid': 2.0.0 - frames-react@1.2.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + frames-react@1.2.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: classnames: 2.5.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) tslib: 2.8.1 - front-matter@4.0.2: - dependencies: - js-yaml: 3.14.2 - fs-constants@1.0.0: {} fs-extra@11.1.1: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.1 universalify: 2.0.1 - fs-extra@11.3.0: + fs-extra@11.4.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.1 universalify: 2.0.1 fs-minipass@3.0.3: @@ -10371,50 +9356,25 @@ snapshots: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.4 math-intrinsics: 1.1.0 - get-pkg-repo@4.2.1: - dependencies: - '@hutson/parse-repository-url': 3.0.2 - hosted-git-info: 4.1.0 - through2: 2.0.5 - yargs: 16.2.0 - get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-stream@6.0.0: {} - get-stream@6.0.1: {} - get-tsconfig@5.0.0-beta.5: dependencies: resolve-pkg-maps: 1.0.0 - git-raw-commits@3.0.0: - dependencies: - dargs: 7.0.0 - meow: 8.1.2 - split2: 3.2.2 - - git-remote-origin-url@2.0.0: - dependencies: - gitconfiglocal: 1.0.0 - pify: 2.3.0 - - git-semver-tags@5.0.1: - dependencies: - meow: 8.1.2 - semver: 7.8.5 - git-up@7.0.0: dependencies: is-ssh: 1.4.1 @@ -10424,26 +9384,18 @@ snapshots: dependencies: git-up: 7.0.0 - gitconfiglocal@1.0.0: - dependencies: - ini: 1.3.8 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - glob@11.1.0: dependencies: foreground-child: 3.3.1 - jackspeak: 4.1.1 - minimatch: 10.2.5 + jackspeak: 4.2.3 + minimatch: 10.2.6 minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 2.0.2 glob@13.0.6: dependencies: - minimatch: 10.2.5 + minimatch: 10.2.6 minipass: 7.1.3 path-scurry: 2.0.2 @@ -10453,7 +9405,7 @@ snapshots: graceful-fs@4.2.11: {} - graphql@16.14.0: {} + graphql@16.14.2: {} handlebars@4.7.9: dependencies: @@ -10464,8 +9416,6 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 - hard-rejection@2.1.0: {} - has-bigints@1.1.0: {} has-flag@4.0.0: {} @@ -10480,48 +9430,40 @@ snapshots: dependencies: has-symbols: 1.1.0 - has-unicode@2.0.1: {} - - hasown@2.0.2: + hasown@2.0.4: dependencies: function-bind: 1.1.2 headers-polyfill@5.0.1: dependencies: '@types/set-cookie-parser': 2.4.10 - set-cookie-parser: 3.1.0 + set-cookie-parser: 3.1.2 highlight.js@10.7.3: {} hookable@6.1.1: {} - hosted-git-info@2.8.9: {} - - hosted-git-info@4.1.0: - dependencies: - lru-cache: 6.0.0 - hosted-git-info@8.1.0: dependencies: lru-cache: 10.4.3 - hosted-git-info@9.0.2: + hosted-git-info@9.0.3: dependencies: - lru-cache: 11.3.2 + lru-cache: 11.5.2 html-encoding-sniffer@6.0.0: dependencies: - '@exodus/bytes': 1.15.0 + '@exodus/bytes': 1.15.1 transitivePeerDependencies: - '@noble/hashes' html-escaper@2.0.2: {} - http-cache-semantics@4.1.1: {} + http-cache-semantics@4.2.0: {} http-proxy-agent@7.0.2(supports-color@7.2.0): dependencies: - agent-base: 7.1.3 + agent-base: 7.1.4 debug: 4.4.3(supports-color@7.2.0) transitivePeerDependencies: - supports-color @@ -10535,7 +9477,7 @@ snapshots: https-proxy-agent@7.0.6(supports-color@7.2.0): dependencies: - agent-base: 7.1.3 + agent-base: 7.1.4 debug: 4.4.3(supports-color@7.2.0) transitivePeerDependencies: - supports-color @@ -10549,17 +9491,15 @@ snapshots: safer-buffer: 2.1.2 optional: true - iconv-lite@0.7.1: + iconv-lite@0.7.3: dependencies: safer-buffer: 2.1.2 ieee754@1.2.1: {} - iframe-resizer@4.4.5: {} - ignore-walk@8.0.0: dependencies: - minimatch: 10.2.5 + minimatch: 10.2.6 ignore@7.0.5: {} @@ -10573,6 +9513,8 @@ snapshots: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + import-meta-resolve@4.2.0: {} + import-without-cache@0.4.0: {} imurmurhash@0.1.4: {} @@ -10599,28 +9541,25 @@ snapshots: inject-stylesheet@7.0.0: {} - inquirer@12.9.6(@types/node@25.9.5): + inquirer@12.9.6(@types/node@26.2.0): dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.5) - '@inquirer/prompts': 7.10.1(@types/node@25.9.5) - '@inquirer/type': 3.0.10(@types/node@25.9.5) + '@inquirer/core': 10.3.2(@types/node@26.2.0) + '@inquirer/prompts': 7.10.1(@types/node@26.2.0) + '@inquirer/type': 3.0.10(@types/node@26.2.0) mute-stream: 2.0.0 run-async: 4.0.6 rxjs: 7.8.2 optionalDependencies: - '@types/node': 25.9.5 + '@types/node': 26.2.0 internal-slot@1.1.0: dependencies: es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 + hasown: 2.0.4 + side-channel: 1.1.1 - ip-address@9.0.5: - dependencies: - jsbn: 1.1.0 - sprintf-js: 1.1.3 + ip-address@10.5.0: {} is-arguments@1.2.0: dependencies: @@ -10629,7 +9568,7 @@ snapshots: is-array-buffer@3.0.5: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 get-intrinsic: 1.3.0 @@ -10646,31 +9585,19 @@ snapshots: is-callable@1.2.7: {} - is-ci@3.0.1: + is-core-module@2.16.2: dependencies: - ci-info: 3.9.0 - - is-core-module@2.16.1: - dependencies: - hasown: 2.0.2 + hasown: 2.0.4 is-date-object@1.1.0: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-docker@2.2.1: {} - is-docker@3.0.0: {} - is-extglob@2.1.1: {} - is-fullwidth-code-point@3.0.0: {} - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 @@ -10686,10 +9613,6 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-obj@2.0.0: {} - - is-plain-obj@1.1.0: {} - is-plain-obj@4.1.0: {} is-potential-custom-element-name@1.0.1: {} @@ -10699,7 +9622,7 @@ snapshots: call-bound: 1.0.4 gopd: 1.2.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.4 is-set@2.0.3: {} @@ -10724,10 +9647,6 @@ snapshots: has-symbols: 1.1.0 safe-regex-test: 1.1.0 - is-text-path@1.0.1: - dependencies: - text-extensions: 1.9.0 - is-unicode-supported@0.1.0: {} is-weakmap@2.0.2: {} @@ -10739,21 +9658,21 @@ snapshots: is-what@4.1.16: {} - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 - isarray@1.0.0: {} + is-wsl@3.1.1: + dependencies: + is-inside-container: 1.0.0 isarray@2.0.5: {} isexe@2.0.0: {} - isexe@3.1.1: {} + isexe@3.1.5: {} + + isexe@4.0.0: {} istanbul-lib-coverage@3.2.2: {} @@ -10768,26 +9687,9 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@4.1.1: - dependencies: - '@isaacs/cliui': 8.0.2 - - jake@10.9.2: - dependencies: - async: 3.2.6 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 10.2.5 - - jest-diff@30.2.0: + jackspeak@4.2.3: dependencies: - '@jest/diff-sequences': 30.0.1 - '@jest/get-type': 30.1.0 - chalk: 4.1.2 - pretty-format: 30.2.0 - - jiti@2.7.0: - optional: true + '@isaacs/cliui': 9.0.0 js-cookie@3.0.8: {} @@ -10795,47 +9697,38 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@3.14.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - js-yaml@4.1.1: + js-yaml@4.3.1: dependencies: argparse: 2.0.1 - jsbn@1.1.0: {} - - jsdom@29.1.1: + jsdom@30.0.1: dependencies: - '@asamuzakjp/css-color': 5.1.11 - '@asamuzakjp/dom-selector': 7.1.1 + '@asamuzakjp/css-color': 6.0.7 + '@asamuzakjp/dom-selector': 8.3.2 '@bramus/specificity': 2.4.2 - '@csstools/css-syntax-patches-for-csstree': 1.1.3(css-tree@3.2.1) - '@exodus/bytes': 1.15.0 + '@csstools/css-syntax-patches-for-csstree': 1.1.7(css-tree@3.2.1) + '@exodus/bytes': 1.15.1 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 - lru-cache: 11.3.6 + lru-cache: 11.5.2 parse5: 8.0.1 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 6.0.1 - undici: 7.25.0 + tough-cookie: 6.0.2 + undici: 8.10.0 w3c-xmlserializer: 5.0.0 webidl-conversions: 8.0.1 whatwg-mimetype: 5.0.0 - whatwg-url: 16.0.1 + whatwg-url: 17.1.0 xml-name-validator: 5.0.0 transitivePeerDependencies: - '@noble/hashes' jsesc@3.1.0: {} - json-parse-better-errors@1.0.2: {} - json-parse-even-better-errors@2.3.1: {} json-parse-even-better-errors@4.0.0: {} @@ -10846,15 +9739,11 @@ snapshots: json-stringify-nice@1.1.4: {} - json-stringify-safe@5.0.1: {} - json5@2.2.3: {} - jsonc-parser@3.2.0: {} - jsonc-parser@3.3.1: {} - jsonfile@6.1.0: + jsonfile@6.2.1: dependencies: universalify: 2.0.1 optionalDependencies: @@ -10866,43 +9755,34 @@ snapshots: just-diff@6.0.2: {} - kind-of@6.0.3: {} - - lerna@9.0.7(@types/node@25.9.5)(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0): + lerna@10.0.0(@types/node@26.2.0)(supports-color@7.2.0)(typescript@6.0.3): dependencies: '@npmcli/arborist': 9.1.6(supports-color@7.2.0) '@npmcli/package-json': 7.0.2 - '@npmcli/run-script': 10.0.3(supports-color@7.2.0) - '@nx/devkit': 22.2.7(nx@22.2.7(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0)) + '@npmcli/run-script': 10.0.3 + '@nx/devkit': 23.1.1(nx@23.1.1) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 20.1.2 - aproba: 2.0.0 - byte-size: 8.1.1 - chalk: 4.1.0 ci-info: 4.3.1 cmd-shim: 6.0.3 - color-support: 1.1.3 columnify: 1.6.0 - console-control-strings: 1.1.0 - conventional-changelog-angular: 7.0.0 - conventional-changelog-core: 5.0.1 - conventional-recommended-bump: 7.0.1 - cosmiconfig: 9.0.0(typescript@5.9.3) + conventional-changelog: 8.1.0(conventional-commits-filter@6.0.1) + conventional-changelog-angular: 9.2.1 + conventional-commits-filter: 6.0.1 + conventional-commits-parser: 7.1.0 + conventional-recommended-bump: 12.1.0 + cosmiconfig: 9.0.0(typescript@6.0.3) dedent: 1.5.3 envinfo: 7.13.0 execa: 5.0.0 - fs-extra: 11.3.0 - get-stream: 6.0.0 + fs-extra: 11.4.0 git-url-parse: 14.0.0 - glob-parent: 6.0.2 - has-unicode: 2.0.1 + handlebars: 4.7.9 import-local: 3.1.0 ini: 1.3.8 init-package-json: 8.2.2 - inquirer: 12.9.6(@types/node@25.9.5) - is-ci: 3.0.1 - jest-diff: 30.2.0 - js-yaml: 4.1.1 + inquirer: 12.9.6(@types/node@26.2.0) + js-yaml: 4.3.1 libnpmaccess: 10.0.3(supports-color@7.2.0) libnpmpublish: 11.1.2(supports-color@7.2.0) load-json-file: 6.2.0 @@ -10911,38 +9791,28 @@ snapshots: npm-package-arg: 13.0.1 npm-packlist: 10.0.3 npm-registry-fetch: 19.1.0(supports-color@7.2.0) - nx: 22.2.7(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0) + nx: 23.1.1 p-map: 4.0.0 - p-map-series: 2.1.0 - p-pipe: 3.1.0 p-queue: 6.6.2 - p-reduce: 2.1.0 - p-waterfall: 2.1.1 pacote: 21.0.1(supports-color@7.2.0) read-cmd-shim: 4.0.0 semver: 7.7.2 signal-exit: 3.0.7 - slash: 3.0.0 ssri: 12.0.0 string-width: 4.2.3 - tar: 7.5.11 - through: 2.3.8 + tar: 7.5.22 tinyglobby: 0.2.12 - typescript: 5.9.3 - upath: 2.0.1 validate-npm-package-license: 3.0.4 validate-npm-package-name: 6.0.2 - wide-align: 1.1.5 write-file-atomic: 5.0.1 yargs: 17.7.2 - yargs-parser: 21.1.1 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - '@types/node' - babel-plugin-macros - - debug - supports-color + - typescript libnpmaccess@10.0.3(supports-color@7.2.0): dependencies: @@ -10959,71 +9829,64 @@ snapshots: npm-registry-fetch: 19.1.0(supports-color@7.2.0) proc-log: 5.0.0 semver: 7.8.5 - sigstore: 4.0.0(supports-color@7.2.0) + sigstore: 4.1.1(supports-color@7.2.0) ssri: 12.0.0 transitivePeerDependencies: - supports-color - lightningcss-android-arm64@1.32.0: + lightningcss-android-arm64@1.33.0: optional: true - lightningcss-darwin-arm64@1.32.0: + lightningcss-darwin-arm64@1.33.0: optional: true - lightningcss-darwin-x64@1.32.0: + lightningcss-darwin-x64@1.33.0: optional: true - lightningcss-freebsd-x64@1.32.0: + lightningcss-freebsd-x64@1.33.0: optional: true - lightningcss-linux-arm-gnueabihf@1.32.0: + lightningcss-linux-arm-gnueabihf@1.33.0: optional: true - lightningcss-linux-arm64-gnu@1.32.0: + lightningcss-linux-arm64-gnu@1.33.0: optional: true - lightningcss-linux-arm64-musl@1.32.0: + lightningcss-linux-arm64-musl@1.33.0: optional: true - lightningcss-linux-x64-gnu@1.32.0: + lightningcss-linux-x64-gnu@1.33.0: optional: true - lightningcss-linux-x64-musl@1.32.0: + lightningcss-linux-x64-musl@1.33.0: optional: true - lightningcss-win32-arm64-msvc@1.32.0: + lightningcss-win32-arm64-msvc@1.33.0: optional: true - lightningcss-win32-x64-msvc@1.32.0: + lightningcss-win32-x64-msvc@1.33.0: optional: true - lightningcss@1.32.0: + lightningcss@1.33.0: dependencies: detect-libc: 2.1.2 optionalDependencies: - lightningcss-android-arm64: 1.32.0 - lightningcss-darwin-arm64: 1.32.0 - lightningcss-darwin-x64: 1.32.0 - lightningcss-freebsd-x64: 1.32.0 - lightningcss-linux-arm-gnueabihf: 1.32.0 - lightningcss-linux-arm64-gnu: 1.32.0 - lightningcss-linux-arm64-musl: 1.32.0 - lightningcss-linux-x64-gnu: 1.32.0 - lightningcss-linux-x64-musl: 1.32.0 - lightningcss-win32-arm64-msvc: 1.32.0 - lightningcss-win32-x64-msvc: 1.32.0 + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 lines-and-columns@1.2.4: {} lines-and-columns@2.0.3: {} - load-json-file@4.0.0: - dependencies: - graceful-fs: 4.2.11 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 - load-json-file@6.2.0: dependencies: graceful-fs: 4.2.11 @@ -11031,11 +9894,6 @@ snapshots: strip-bom: 4.0.0 type-fest: 0.6.0 - locate-path@2.0.0: - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 - locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -11046,8 +9904,6 @@ snapshots: lodash.debounce@4.0.8: {} - lodash.ismatch@4.4.0: {} - lodash@4.18.1: {} log-symbols@4.1.0: @@ -11065,28 +9921,22 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.3.2: {} - - lru-cache@11.3.6: {} + lru-cache@11.5.2: {} lru-cache@5.1.1: dependencies: yallist: 3.1.1 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - lz-string@1.5.0: {} magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.5.2: + magicast@0.5.4: dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 source-map-js: 1.2.1 make-dir@4.0.0: @@ -11095,12 +9945,12 @@ snapshots: make-fetch-happen@15.0.2(supports-color@7.2.0): dependencies: - '@npmcli/agent': 4.0.0(supports-color@7.2.0) - cacache: 20.0.3 - http-cache-semantics: 4.1.1 + '@npmcli/agent': 4.0.2(supports-color@7.2.0) + cacache: 20.0.4 + http-cache-semantics: 4.2.0 minipass: 7.1.3 minipass-fetch: 4.0.1 - minipass-flush: 1.0.5 + minipass-flush: 1.0.7 minipass-pipeline: 1.2.4 negotiator: 1.0.0 proc-log: 5.0.0 @@ -11109,9 +9959,22 @@ snapshots: transitivePeerDependencies: - supports-color - map-obj@1.0.1: {} - - map-obj@4.3.0: {} + make-fetch-happen@15.0.6(supports-color@7.2.0): + dependencies: + '@gar/promise-retry': 1.0.3 + '@npmcli/agent': 4.0.2(supports-color@7.2.0) + '@npmcli/redact': 4.0.0 + cacache: 20.0.4 + http-cache-semantics: 4.2.0 + minipass: 7.1.3 + minipass-fetch: 5.0.2 + minipass-flush: 1.0.7 + minipass-pipeline: 1.2.4 + negotiator: 1.0.0 + proc-log: 6.1.0 + ssri: 13.0.1 + transitivePeerDependencies: + - supports-color map-or-similar@1.5.0: {} @@ -11119,8 +9982,8 @@ snapshots: marked-terminal@7.3.0(marked@9.1.6): dependencies: - ansi-escapes: 7.2.0 - ansi-regex: 6.1.0 + ansi-escapes: 7.3.0 + ansi-regex: 6.2.2 chalk: 5.6.2 cli-highlight: 2.1.11 cli-table3: 0.6.5 @@ -11139,11 +10002,11 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - mdast-util-from-markdown@2.0.2(supports-color@7.2.0): + mdast-util-from-markdown@2.0.3(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 micromark: 4.0.2(supports-color@7.2.0) @@ -11168,7 +10031,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: @@ -11177,7 +10040,7 @@ snapshots: mdast-util-gfm-strikethrough@2.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -11187,7 +10050,7 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -11196,14 +10059,14 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color mdast-util-gfm@3.1.0(supports-color@7.2.0): dependencies: - mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.1.0(supports-color@7.2.0) mdast-util-gfm-strikethrough: 2.0.0(supports-color@7.2.0) @@ -11227,7 +10090,7 @@ snapshots: mdast-util-to-string: 4.0.0 micromark-util-classify-character: 2.0.1 micromark-util-decode-string: 2.0.1 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 zwitch: 2.0.4 mdast-util-to-string@4.0.0: @@ -11240,20 +10103,6 @@ snapshots: dependencies: map-or-similar: 1.5.0 - meow@8.1.2: - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - merge-anything@5.1.7: dependencies: is-what: 4.1.16 @@ -11262,7 +10111,7 @@ snapshots: micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -11395,7 +10244,7 @@ snapshots: micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.3.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -11431,9 +10280,9 @@ snapshots: micromark@4.0.2(supports-color@7.2.0): dependencies: - '@types/debug': 4.1.12 + '@types/debug': 4.1.13 debug: 4.4.3(supports-color@7.2.0) - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 @@ -11463,17 +10312,15 @@ snapshots: minimatch@10.2.5: dependencies: - brace-expansion: 5.0.5 + brace-expansion: 5.0.9 - minimatch@3.1.4: + minimatch@10.2.6: dependencies: - brace-expansion: 1.1.12 + brace-expansion: 5.0.9 - minimist-options@4.1.0: + minimatch@3.1.4: dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 + brace-expansion: 1.1.18 minimist@1.2.8: {} @@ -11489,7 +10336,15 @@ snapshots: optionalDependencies: encoding: 0.1.13 - minipass-flush@1.0.5: + minipass-fetch@5.0.2: + dependencies: + minipass: 7.1.3 + minipass-sized: 2.0.0 + minizlib: 3.1.0 + optionalDependencies: + iconv-lite: 0.7.3 + + minipass-flush@1.0.7: dependencies: minipass: 3.3.6 @@ -11501,6 +10356,10 @@ snapshots: dependencies: minipass: 3.3.6 + minipass-sized@2.0.0: + dependencies: + minipass: 7.1.3 + minipass@3.3.6: dependencies: yallist: 4.0.0 @@ -11511,18 +10370,16 @@ snapshots: dependencies: minipass: 7.1.3 - modify-values@1.0.1: {} - ms@2.1.3: {} - msw@2.15.0(@types/node@25.9.5)(typescript@6.0.3): + msw@2.15.0(@types/node@26.2.0)(typescript@6.0.3): dependencies: - '@inquirer/confirm': 6.0.12(@types/node@25.9.5) - '@mswjs/interceptors': 0.41.8 + '@inquirer/confirm': 6.1.1(@types/node@26.2.0) + '@mswjs/interceptors': 0.41.9 '@open-draft/deferred-promise': 3.0.0 '@types/statuses': 2.0.6 cookie: 1.1.1 - graphql: 16.14.0 + graphql: 16.14.2 headers-polyfill: 5.0.1 is-node-process: 1.2.0 outvariant: 1.4.3 @@ -11531,10 +10388,10 @@ snapshots: rettime: 0.11.11 statuses: 2.0.2 strict-event-emitter: 0.5.1 - tough-cookie: 6.0.1 + tough-cookie: 6.0.2 type-fest: 5.8.0 until-async: 3.0.2 - yargs: 17.7.2 + yargs: 17.7.3 optionalDependencies: typescript: 6.0.3 transitivePeerDependencies: @@ -11550,7 +10407,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.11: {} + nanoid@3.3.18: {} negotiator@1.0.0: {} @@ -11563,24 +10420,20 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 - node-gyp@12.2.0(supports-color@7.2.0): + node-gyp@12.4.0: dependencies: env-paths: 2.2.1 - exponential-backoff: 3.1.2 + exponential-backoff: 3.1.3 graceful-fs: 4.2.11 - make-fetch-happen: 15.0.2(supports-color@7.2.0) nopt: 9.0.0 proc-log: 6.1.0 semver: 7.8.5 - tar: 7.5.11 + tar: 7.5.22 tinyglobby: 0.2.17 - which: 6.0.0 - transitivePeerDependencies: - - supports-color + undici: 6.28.0 + which: 6.0.1 - node-machine-id@1.1.12: {} - - node-releases@2.0.27: {} + node-releases@2.0.53: {} nopt@8.1.0: dependencies: @@ -11590,20 +10443,6 @@ snapshots: dependencies: abbrev: 4.0.0 - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.11 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - - normalize-package-data@3.0.3: - dependencies: - hosted-git-info: 4.1.0 - is-core-module: 2.16.1 - semver: 7.8.5 - validate-npm-package-license: 3.0.4 - npm-bundled@4.0.0: dependencies: npm-normalize-package-bin: 4.0.0 @@ -11633,7 +10472,7 @@ snapshots: npm-package-arg@13.0.1: dependencies: - hosted-git-info: 9.0.2 + hosted-git-info: 9.0.3 proc-log: 5.0.0 semver: 7.8.5 validate-npm-package-name: 6.0.2 @@ -11661,7 +10500,7 @@ snapshots: dependencies: '@npmcli/redact': 3.2.2 jsonparse: 1.3.1 - make-fetch-happen: 15.0.2(supports-color@7.2.0) + make-fetch-happen: 15.0.6(supports-color@7.2.0) minipass: 7.1.3 minipass-fetch: 4.0.1 minizlib: 3.1.0 @@ -11674,57 +10513,139 @@ snapshots: dependencies: path-key: 3.1.1 - nx@22.2.7(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0): + nx@23.1.1: dependencies: + '@emnapi/core': 1.4.5 + '@emnapi/runtime': 1.4.5 + '@emnapi/wasi-threads': 1.0.4 + '@jest/diff-sequences': 30.0.1 '@napi-rs/wasm-runtime': 0.2.4 + '@tybys/wasm-util': 0.9.0 '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 - axios: 1.17.0(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0) + agent-base: 6.0.2(supports-color@7.2.0) + ansi-colors: 4.1.3 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + argparse: 2.0.1 + asynckit: 0.4.0 + axios: 1.19.0(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0) + balanced-match: 4.0.3 + base64-js: 1.5.1 + bl: 4.1.0 + brace-expansion: 5.0.9 + buffer: 5.7.1 + bundle-name: 4.1.0 + call-bind-apply-helpers: 1.0.2 chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 cliui: 8.0.1 + clone: 1.0.4 + color-convert: 2.0.1 + color-name: 1.1.4 + combined-stream: 1.0.8 + debug: 4.4.3(supports-color@7.2.0) + default-browser: 5.2.1 + default-browser-id: 5.0.0 + defaults: 1.0.4 + define-lazy-prop: 3.0.0 + delayed-stream: 1.0.0 dotenv: 16.4.7 - dotenv-expand: 11.0.7 + dotenv-expand: 12.0.3 + dunder-proto: 1.0.1 + ejs: 5.0.1 + emoji-regex: 8.0.0 + end-of-stream: 1.4.5 enquirer: 2.3.6 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + escalade: 3.2.0 + escape-string-regexp: 1.0.5 figures: 3.2.0 flat: 5.0.2 - front-matter: 4.0.2 + follow-redirects: 1.16.0(debug@4.4.3(supports-color@7.2.0)) + form-data: 4.0.6 + fs-constants: 1.0.0 + function-bind: 1.1.2 + get-caller-file: 2.0.5 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + has-flag: 4.0.0 + has-symbols: 1.1.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + https-proxy-agent: 5.0.1(supports-color@7.2.0) + ieee754: 1.2.1 ignore: 7.0.5 - jest-diff: 30.2.0 - jsonc-parser: 3.2.0 + inherits: 2.0.4 + is-docker: 3.0.0 + is-fullwidth-code-point: 3.0.0 + is-inside-container: 1.0.0 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + is-wsl: 3.1.0 + isexe: 2.0.0 + json5: 2.2.3 + jsonc-parser: 3.3.1 lines-and-columns: 2.0.3 + log-symbols: 4.1.0 + math-intrinsics: 1.1.0 + mime-db: 1.52.0 + mime-types: 2.1.35 + mimic-fn: 2.1.0 minimatch: 10.2.5 - node-machine-id: 1.1.12 + minimist: 1.2.8 + ms: 2.1.3 npm-run-path: 4.0.1 - open: 8.4.2 - ora: 5.3.0 + once: 1.4.0 + onetime: 5.1.2 + open: 10.1.0 + ora: 5.4.1 + path-key: 3.1.1 + picocolors: 1.1.1 + proxy-from-env: 2.1.0 + readable-stream: 3.6.2 + require-directory: 2.1.1 resolve.exports: 2.0.3 - semver: 7.8.5 + restore-cursor: 3.1.0 + run-applescript: 7.0.0 + safe-buffer: 5.2.1 + semver: 7.8.4 + signal-exit: 3.0.7 + smol-toml: 1.6.1 string-width: 4.2.3 + string_decoder: 1.3.0 + strip-ansi: 6.0.1 + strip-bom: 3.0.0 + supports-color: 7.2.0 tar-stream: 2.2.0 tmp: 0.2.7 - tree-kill: 1.2.2 tsconfig-paths: 4.2.0 tslib: 2.8.1 - yaml: 2.7.0 + util-deprecate: 1.0.2 + wcwidth: 1.0.1 + which: 3.0.1 + wrap-ansi: 7.0.0 + wrappy: 1.0.2 + y18n: 5.0.8 + yaml: 2.9.0 yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 22.2.7 - '@nx/nx-darwin-x64': 22.2.7 - '@nx/nx-freebsd-x64': 22.2.7 - '@nx/nx-linux-arm-gnueabihf': 22.2.7 - '@nx/nx-linux-arm64-gnu': 22.2.7 - '@nx/nx-linux-arm64-musl': 22.2.7 - '@nx/nx-linux-x64-gnu': 22.2.7 - '@nx/nx-linux-x64-musl': 22.2.7 - '@nx/nx-win32-arm64-msvc': 22.2.7 - '@nx/nx-win32-x64-msvc': 22.2.7 - transitivePeerDependencies: - - debug - - supports-color + '@nx/nx-darwin-arm64': 23.1.1 + '@nx/nx-darwin-x64': 23.1.1 + '@nx/nx-freebsd-x64': 23.1.1 + '@nx/nx-linux-arm-gnueabihf': 23.1.1 + '@nx/nx-linux-arm64-gnu': 23.1.1 + '@nx/nx-linux-arm64-musl': 23.1.1 + '@nx/nx-linux-x64-gnu': 23.1.1 + '@nx/nx-linux-x64-musl': 23.1.1 + '@nx/nx-win32-arm64-msvc': 23.1.1 + '@nx/nx-win32-x64-msvc': 23.1.1 object-assign@4.1.1: {} @@ -11732,17 +10653,17 @@ snapshots: object-is@1.1.6: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 object-keys@1.1.1: {} object.assign@4.1.7: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -11756,26 +10677,28 @@ snapshots: dependencies: mimic-fn: 2.1.0 - open@10.2.0: + open@10.1.0: dependencies: - default-browser: 5.4.0 + default-browser: 5.5.0 define-lazy-prop: 3.0.0 is-inside-container: 1.0.0 - wsl-utils: 0.1.0 + is-wsl: 3.1.1 - open@8.4.2: + open@10.2.0: dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 - ora@5.3.0: + ora@5.4.1: dependencies: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.2 + cli-spinners: 2.6.1 is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 @@ -11831,10 +10754,6 @@ snapshots: p-finally@1.0.0: {} - p-limit@1.3.0: - dependencies: - p-try: 1.0.0 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -11843,10 +10762,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-locate@2.0.0: - dependencies: - p-limit: 1.3.0 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -11855,35 +10770,23 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map-series@2.1.0: {} - p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - p-map@7.0.4: {} - - p-pipe@3.1.0: {} + p-map@7.0.6: {} p-queue@6.6.2: dependencies: eventemitter3: 4.0.7 p-timeout: 3.2.0 - p-reduce@2.1.0: {} - p-timeout@3.2.0: dependencies: p-finally: 1.0.0 - p-try@1.0.0: {} - p-try@2.2.0: {} - p-waterfall@2.1.1: - dependencies: - p-reduce: 2.1.0 - package-json-from-dist@1.0.1: {} pacote@21.0.1(supports-color@7.2.0): @@ -11892,8 +10795,8 @@ snapshots: '@npmcli/installed-package-contents': 3.0.0 '@npmcli/package-json': 7.0.2 '@npmcli/promise-spawn': 8.0.3 - '@npmcli/run-script': 10.0.3(supports-color@7.2.0) - cacache: 20.0.3 + '@npmcli/run-script': 10.0.3 + cacache: 20.0.4 fs-minipass: 3.0.3 minipass: 7.1.3 npm-package-arg: 13.0.1 @@ -11902,20 +10805,21 @@ snapshots: npm-registry-fetch: 19.1.0(supports-color@7.2.0) proc-log: 5.0.0 promise-retry: 2.0.1 - sigstore: 4.0.0(supports-color@7.2.0) + sigstore: 4.1.1(supports-color@7.2.0) ssri: 12.0.0 - tar: 7.5.11 + tar: 7.5.22 transitivePeerDependencies: - supports-color - pacote@21.0.4(supports-color@7.2.0): + pacote@21.5.1(supports-color@7.2.0): dependencies: - '@npmcli/git': 7.0.1 + '@gar/promise-retry': 1.0.3 + '@npmcli/git': 7.0.2 '@npmcli/installed-package-contents': 4.0.0 '@npmcli/package-json': 7.0.2 '@npmcli/promise-spawn': 9.0.1 - '@npmcli/run-script': 10.0.3(supports-color@7.2.0) - cacache: 20.0.3 + '@npmcli/run-script': 10.0.3 + cacache: 20.0.4 fs-minipass: 3.0.3 minipass: 7.1.3 npm-package-arg: 13.0.1 @@ -11923,10 +10827,9 @@ snapshots: npm-pick-manifest: 11.0.3 npm-registry-fetch: 19.1.0(supports-color@7.2.0) proc-log: 6.1.0 - promise-retry: 2.0.1 - sigstore: 4.0.0(supports-color@7.2.0) - ssri: 13.0.0 - tar: 7.5.11 + sigstore: 4.1.1(supports-color@7.2.0) + ssri: 13.0.1 + tar: 7.5.22 transitivePeerDependencies: - supports-color @@ -11940,25 +10843,20 @@ snapshots: just-diff: 6.0.2 just-diff-apply: 5.5.0 - parse-json@4.0.0: - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.29.0 - error-ex: 1.3.2 + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-path@7.0.1: + parse-path@7.1.0: dependencies: protocols: 2.0.2 parse-url@8.1.0: dependencies: - parse-path: 7.0.1 + parse-path: 7.1.0 parse5-htmlparser2-tree-adapter@6.0.1: dependencies: @@ -11972,8 +10870,6 @@ snapshots: dependencies: entities: 8.0.0 - path-exists@3.0.0: {} - path-exists@4.0.0: {} path-key@3.1.1: {} @@ -11982,15 +10878,11 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.3.6 + lru-cache: 11.5.2 minipass: 7.1.3 path-to-regexp@6.3.0: {} - path-type@3.0.0: - dependencies: - pify: 3.0.0 - pathe@2.0.3: {} pathval@2.0.1: {} @@ -12001,36 +10893,32 @@ snapshots: picoquery@2.5.0: {} - pify@2.3.0: {} - - pify@3.0.0: {} - pkg-dir@4.2.0: dependencies: find-up: 4.1.0 - playwright-core@1.61.1: {} + playwright-core@1.62.1: {} - playwright@1.61.1: + playwright@1.62.1: dependencies: - playwright-core: 1.61.1 + playwright-core: 1.62.1 optionalDependencies: fsevents: 2.3.2 polished@4.3.1: dependencies: - '@babel/runtime': 7.26.10 + '@babel/runtime': 7.29.7 possible-typed-array-names@1.1.0: {} - postcss-selector-parser@7.1.1: + postcss-selector-parser@7.1.5: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.5.14: + postcss@8.5.26: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.18 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -12042,18 +10930,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 - pretty-format@30.2.0: - dependencies: - '@jest/schemas': 30.0.5 - ansi-styles: 5.2.0 - react-is: 18.3.1 - proc-log@5.0.0: {} proc-log@6.1.0: {} - process-nextick-args@2.0.1: {} - proggy@3.0.0: {} promise-all-reject-late@1.0.1: {} @@ -12085,20 +10965,19 @@ snapshots: punycode@2.3.1: {} - qs@6.15.2: + qs@6.15.3: dependencies: - side-channel: 1.1.0 + es-define-property: 1.0.1 + side-channel: 1.1.1 quansync@1.0.0: {} - quick-lru@4.0.1: {} - ramda@0.29.0: {} - rapid-form@4.0.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + rapid-form@5.0.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) react-docgen-typescript@2.4.0(typescript@6.0.3): dependencies: @@ -12107,100 +10986,57 @@ snapshots: react-docgen@8.0.3(supports-color@7.2.0): dependencies: '@babel/core': 7.29.7(supports-color@7.2.0) - '@babel/traverse': 7.29.0(supports-color@7.2.0) - '@babel/types': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@7.2.0) + '@babel/types': 7.29.8 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 '@types/doctrine': 0.0.9 '@types/resolve': 1.20.6 doctrine: 3.0.0 - resolve: 1.22.11 + resolve: 1.22.12 strip-indent: 4.1.1 transitivePeerDependencies: - supports-color - react-dom@19.2.6(react@19.2.6): + react-dom@19.2.8(react@19.2.8): dependencies: - react: 19.2.6 - scheduler: 0.27.0 - - react-dom@19.2.7(react@19.2.7): - dependencies: - react: 19.2.7 + react: 19.2.8 scheduler: 0.27.0 react-is@16.13.1: {} react-is@17.0.2: {} - react-is@18.3.1: {} - - react-is@19.2.7: {} + react-is@19.2.8: {} - react-test-renderer@19.2.7(react@19.2.7): + react-test-renderer@19.2.8(react@19.2.8): dependencies: - react: 19.2.7 - react-is: 19.2.7 + react: 19.2.8 + react-is: 19.2.8 scheduler: 0.27.0 - react-window@2.2.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + react-window@2.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - react@19.2.6: {} - - react@19.2.7: {} + react@19.2.8: {} read-cmd-shim@4.0.0: {} read-cmd-shim@5.0.0: {} - read-pkg-up@3.0.0: - dependencies: - find-up: 2.1.0 - read-pkg: 3.0.0 - - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - - read-pkg@3.0.0: - dependencies: - load-json-file: 4.0.0 - normalize-package-data: 2.5.0 - path-type: 3.0.0 - - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - read@4.1.0: dependencies: mute-stream: 2.0.0 - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - recast@0.23.11: + recast@0.23.21: dependencies: ast-types: 0.16.1 esprima: 4.0.1 @@ -12219,11 +11055,9 @@ snapshots: regenerate@1.4.2: {} - regenerator-runtime@0.14.1: {} - regexp.prototype.flags@1.5.4: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 es-errors: 1.3.0 get-proto: 1.0.1 @@ -12235,13 +11069,13 @@ snapshots: regenerate: 1.4.2 regenerate-unicode-properties: 10.2.2 regjsgen: 0.8.0 - regjsparser: 0.13.0 + regjsparser: 0.13.2 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.1 regjsgen@0.8.0: {} - regjsparser@0.13.0: + regjsparser@0.13.2: dependencies: jsesc: 3.1.0 @@ -12259,7 +11093,7 @@ snapshots: remark-parse@11.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) micromark-util-types: 2.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -12287,9 +11121,10 @@ snapshots: resolve.exports@2.0.3: {} - resolve@1.22.11: + resolve@1.22.12: dependencies: - is-core-module: 2.16.1 + es-errors: 1.3.0 + is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -12306,93 +11141,41 @@ snapshots: rettime@0.11.11: {} - rolldown-plugin-dts@0.27.9(oxc-resolver@11.24.2)(rolldown@1.2.0)(typescript@6.0.3): + rolldown-plugin-dts@0.27.14(oxc-resolver@11.24.2)(rolldown@1.2.3)(typescript@6.0.3): dependencies: dts-resolver: 3.0.0(oxc-resolver@11.24.2) get-tsconfig: 5.0.0-beta.5 obug: 2.1.4 - rolldown: 1.2.0 - yuku-ast: 0.1.7 - yuku-codegen: 0.6.1 - yuku-parser: 0.6.1 + rolldown: 1.2.3 + yuku-ast: 0.8.4 + yuku-codegen: 0.8.4 + yuku-parser: 0.8.4 optionalDependencies: typescript: 6.0.3 transitivePeerDependencies: - oxc-resolver - rolldown@1.1.5: + rolldown@1.2.3: dependencies: - '@oxc-project/types': 0.139.0 - '@rolldown/pluginutils': 1.0.1 - optionalDependencies: - '@rolldown/binding-android-arm64': 1.1.5 - '@rolldown/binding-darwin-arm64': 1.1.5 - '@rolldown/binding-darwin-x64': 1.1.5 - '@rolldown/binding-freebsd-x64': 1.1.5 - '@rolldown/binding-linux-arm-gnueabihf': 1.1.5 - '@rolldown/binding-linux-arm64-gnu': 1.1.5 - '@rolldown/binding-linux-arm64-musl': 1.1.5 - '@rolldown/binding-linux-ppc64-gnu': 1.1.5 - '@rolldown/binding-linux-s390x-gnu': 1.1.5 - '@rolldown/binding-linux-x64-gnu': 1.1.5 - '@rolldown/binding-linux-x64-musl': 1.1.5 - '@rolldown/binding-openharmony-arm64': 1.1.5 - '@rolldown/binding-wasm32-wasi': 1.1.5 - '@rolldown/binding-win32-arm64-msvc': 1.1.5 - '@rolldown/binding-win32-x64-msvc': 1.1.5 - - rolldown@1.2.0: - dependencies: - '@oxc-project/types': 0.140.0 + '@oxc-project/types': 0.143.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.2.0 - '@rolldown/binding-darwin-arm64': 1.2.0 - '@rolldown/binding-darwin-x64': 1.2.0 - '@rolldown/binding-freebsd-x64': 1.2.0 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.0 - '@rolldown/binding-linux-arm64-gnu': 1.2.0 - '@rolldown/binding-linux-arm64-musl': 1.2.0 - '@rolldown/binding-linux-ppc64-gnu': 1.2.0 - '@rolldown/binding-linux-s390x-gnu': 1.2.0 - '@rolldown/binding-linux-x64-gnu': 1.2.0 - '@rolldown/binding-linux-x64-musl': 1.2.0 - '@rolldown/binding-openharmony-arm64': 1.2.0 - '@rolldown/binding-wasm32-wasi': 1.2.0 - '@rolldown/binding-win32-arm64-msvc': 1.2.0 - '@rolldown/binding-win32-x64-msvc': 1.2.0 - - rollup@4.60.0: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.0 - '@rollup/rollup-android-arm64': 4.60.0 - '@rollup/rollup-darwin-arm64': 4.60.0 - '@rollup/rollup-darwin-x64': 4.60.0 - '@rollup/rollup-freebsd-arm64': 4.60.0 - '@rollup/rollup-freebsd-x64': 4.60.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.0 - '@rollup/rollup-linux-arm-musleabihf': 4.60.0 - '@rollup/rollup-linux-arm64-gnu': 4.60.0 - '@rollup/rollup-linux-arm64-musl': 4.60.0 - '@rollup/rollup-linux-loong64-gnu': 4.60.0 - '@rollup/rollup-linux-loong64-musl': 4.60.0 - '@rollup/rollup-linux-ppc64-gnu': 4.60.0 - '@rollup/rollup-linux-ppc64-musl': 4.60.0 - '@rollup/rollup-linux-riscv64-gnu': 4.60.0 - '@rollup/rollup-linux-riscv64-musl': 4.60.0 - '@rollup/rollup-linux-s390x-gnu': 4.60.0 - '@rollup/rollup-linux-x64-gnu': 4.60.0 - '@rollup/rollup-linux-x64-musl': 4.60.0 - '@rollup/rollup-openbsd-x64': 4.60.0 - '@rollup/rollup-openharmony-arm64': 4.60.0 - '@rollup/rollup-win32-arm64-msvc': 4.60.0 - '@rollup/rollup-win32-ia32-msvc': 4.60.0 - '@rollup/rollup-win32-x64-gnu': 4.60.0 - '@rollup/rollup-win32-x64-msvc': 4.60.0 - fsevents: 2.3.3 - optional: true + '@rolldown/binding-android-arm64': 1.2.3 + '@rolldown/binding-darwin-arm64': 1.2.3 + '@rolldown/binding-darwin-x64': 1.2.3 + '@rolldown/binding-freebsd-x64': 1.2.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.3 + '@rolldown/binding-linux-arm64-gnu': 1.2.3 + '@rolldown/binding-linux-arm64-musl': 1.2.3 + '@rolldown/binding-linux-ppc64-gnu': 1.2.3 + '@rolldown/binding-linux-s390x-gnu': 1.2.3 + '@rolldown/binding-linux-x64-gnu': 1.2.3 + '@rolldown/binding-linux-x64-musl': 1.2.3 + '@rolldown/binding-openharmony-arm64': 1.2.3 + '@rolldown/binding-win32-arm64-msvc': 1.2.3 + '@rolldown/binding-win32-x64-msvc': 1.2.3 + + run-applescript@7.0.0: {} run-applescript@7.1.0: {} @@ -12402,8 +11185,6 @@ snapshots: dependencies: tslib: 2.8.1 - safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} safe-regex-test@1.1.0: @@ -12420,15 +11201,15 @@ snapshots: scheduler@0.27.0: {} - semver@5.7.2: {} - semver@6.3.1: {} semver@7.7.2: {} + semver@7.8.4: {} + semver@7.8.5: {} - set-cookie-parser@3.1.0: {} + set-cookie-parser@3.1.2: {} set-function-length@1.2.2: dependencies: @@ -12452,7 +11233,7 @@ snapshots: shebang-regex@3.0.0: {} - side-channel-list@1.0.0: + side-channel-list@1.0.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 @@ -12472,11 +11253,11 @@ snapshots: object-inspect: 1.13.4 side-channel-map: 1.0.1 - side-channel@1.1.0: + side-channel@1.1.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - side-channel-list: 1.0.0 + side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -12486,14 +11267,14 @@ snapshots: signal-exit@4.1.0: {} - sigstore@4.0.0(supports-color@7.2.0): + sigstore@4.1.1(supports-color@7.2.0): dependencies: '@sigstore/bundle': 4.0.0 - '@sigstore/core': 3.0.0 - '@sigstore/protobuf-specs': 0.5.0 - '@sigstore/sign': 4.0.1(supports-color@7.2.0) - '@sigstore/tuf': 4.0.0(supports-color@7.2.0) - '@sigstore/verify': 3.0.0 + '@sigstore/core': 3.2.1 + '@sigstore/protobuf-specs': 0.5.1 + '@sigstore/sign': 4.1.1(supports-color@7.2.0) + '@sigstore/tuf': 4.0.2(supports-color@7.2.0) + '@sigstore/verify': 3.1.1 transitivePeerDependencies: - supports-color @@ -12501,21 +11282,21 @@ snapshots: dependencies: unicode-emoji-modifier-base: 1.0.0 - slash@3.0.0: {} - smart-buffer@4.2.0: {} + smol-toml@1.6.1: {} + socks-proxy-agent@8.0.5(supports-color@7.2.0): dependencies: - agent-base: 7.1.3 + agent-base: 7.1.4 debug: 4.4.3(supports-color@7.2.0) - socks: 2.8.4 + socks: 2.8.9 transitivePeerDependencies: - supports-color - socks@2.8.4: + socks@2.8.9: dependencies: - ip-address: 9.0.5 + ip-address: 10.5.0 smart-buffer: 4.2.0 source-map-js@1.2.1: {} @@ -12525,28 +11306,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.21 + spdx-license-ids: 3.0.23 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 + spdx-license-ids: 3.0.23 - spdx-license-ids@3.0.21: {} - - split2@3.2.2: - dependencies: - readable-stream: 3.6.2 - - split@1.0.1: - dependencies: - through: 2.3.8 - - sprintf-js@1.0.3: {} - - sprintf-js@1.1.3: {} + spdx-license-ids@3.0.23: {} sqids@0.3.0: {} @@ -12554,7 +11323,7 @@ snapshots: dependencies: minipass: 7.1.3 - ssri@13.0.0: + ssri@13.0.1: dependencies: minipass: 7.1.3 @@ -12562,7 +11331,7 @@ snapshots: statuses@2.0.2: {} - std-env@4.0.0: {} + std-env@4.2.0: {} stop-iteration-iterator@1.1.0: dependencies: @@ -12571,31 +11340,30 @@ snapshots: store2@2.14.4: {} - storybook@10.5.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + storybook@10.5.7(@types/react@19.2.18)(react@19.2.8): dependencies: '@storybook/global': 5.0.0 - '@storybook/icons': 2.0.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@storybook/icons': 2.1.0(react@19.2.8) '@testing-library/dom': 10.4.1 '@testing-library/jest-dom': 6.9.1 - '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) + '@testing-library/user-event': 14.6.3(@testing-library/dom@10.4.1) '@vitest/expect': 3.2.4 '@vitest/spy': 3.2.4 '@webcontainer/env': 1.1.1 - esbuild: 0.27.2 + esbuild: 0.28.2 jsonc-parser: 3.3.1 open: 10.2.0 oxc-parser: 0.127.0 oxc-resolver: 11.24.2 - recast: 0.23.11 + recast: 0.23.21 semver: 7.8.5 - use-sync-external-store: 1.6.0(react@19.2.7) - ws: 8.20.0 + use-sync-external-store: 1.6.0(react@19.2.8) + ws: 8.21.3 optionalDependencies: - '@types/react': 19.2.17 + '@types/react': 19.2.18 transitivePeerDependencies: - bufferutil - react - - react-dom - utf-8-validate strict-event-emitter@0.5.1: {} @@ -12606,16 +11374,6 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -12624,9 +11382,9 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: + strip-ansi@7.2.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.2.2 strip-bom@3.0.0: {} @@ -12651,27 +11409,27 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swr@2.4.2(react@19.2.7): + swr@2.5.1(react@19.2.8): dependencies: dequal: 2.0.3 - react: 19.2.7 - use-sync-external-store: 1.6.0(react@19.2.7) + react: 19.2.8 + use-sync-external-store: 1.6.0(react@19.2.8) symbol-tree@3.2.4: {} - synchronous-promise@2.0.17: {} + synchronous-promise@2.0.18: {} tagged-tag@1.0.0: {} tar-stream@2.2.0: dependencies: bl: 4.1.0 - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 - tar@7.5.11: + tar@7.5.22: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 @@ -12683,8 +11441,6 @@ snapshots: dependencies: memoizerific: 1.11.3 - text-extensions@1.9.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -12693,18 +11449,13 @@ snapshots: dependencies: any-promise: 1.3.0 - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - through@2.3.8: {} tiny-invariant@1.3.3: {} tinybench@2.9.0: {} - tinyexec@1.2.4: {} + tinyexec@1.3.0: {} tinyglobby@0.2.12: dependencies: @@ -12720,17 +11471,17 @@ snapshots: tinyrainbow@2.0.0: {} - tinyrainbow@3.1.0: {} + tinyrainbow@3.1.1: {} tinyspy@3.0.2: {} tinyspy@4.0.4: {} - tldts-core@7.0.13: {} + tldts-core@7.4.10: {} - tldts@7.0.13: + tldts@7.4.10: dependencies: - tldts-core: 7.0.13 + tldts-core: 7.4.10 tmcp@1.19.4(typescript@6.0.3): dependencies: @@ -12738,15 +11489,15 @@ snapshots: json-rpc-2.0: 1.7.1 sqids: 0.3.0 uri-template-matcher: 1.1.2 - valibot: 1.4.0(typescript@6.0.3) + valibot: 1.4.2(typescript@6.0.3) transitivePeerDependencies: - typescript tmp@0.2.7: {} - tough-cookie@6.0.1: + tough-cookie@6.0.2: dependencies: - tldts: 7.0.13 + tldts: 7.4.10 tr46@6.0.0: dependencies: @@ -12756,13 +11507,11 @@ snapshots: treeverse@3.0.0: {} - trim-newlines@3.0.1: {} - trough@2.2.0: {} - ts-dedent@2.2.0: {} + ts-dedent@2.3.0: {} - tsconfck@3.1.5(typescript@6.0.3): + tsconfck@3.1.6(typescript@6.0.3): optionalDependencies: typescript: 6.0.3 @@ -12772,7 +11521,7 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tsdown@0.22.12(@arethetypeswrong/core@0.18.5)(oxc-resolver@11.24.2)(typescript@6.0.3): + tsdown@0.22.14(@arethetypeswrong/core@0.18.5)(oxc-resolver@11.24.2)(typescript@6.0.3): dependencies: ansis: 4.3.1 cac: 7.0.0 @@ -12782,52 +11531,44 @@ snapshots: import-without-cache: 0.4.0 obug: 2.1.4 picomatch: 4.0.5 - rolldown: 1.2.0 - rolldown-plugin-dts: 0.27.9(oxc-resolver@11.24.2)(rolldown@1.2.0)(typescript@6.0.3) - tinyexec: 1.2.4 + rolldown: 1.2.3 + rolldown-plugin-dts: 0.27.14(oxc-resolver@11.24.2)(rolldown@1.2.3)(typescript@6.0.3) + tinyexec: 1.3.0 tinyglobby: 0.2.17 tree-kill: 1.2.2 unconfig-core: 7.5.0 - verkit: 0.1.0 + verkit: 0.3.2 optionalDependencies: '@arethetypeswrong/core': 0.18.5 typescript: 6.0.3 transitivePeerDependencies: - - '@ts-macro/tsc' - '@typescript/native-preview' + - '@volar/typescript' - oxc-resolver - vue-tsc tslib@2.8.1: {} - tuf-js@4.0.0(supports-color@7.2.0): + tuf-js@4.1.0(supports-color@7.2.0): dependencies: - '@tufjs/models': 4.0.0 + '@tufjs/models': 4.1.0 debug: 4.4.3(supports-color@7.2.0) - make-fetch-happen: 15.0.2(supports-color@7.2.0) + make-fetch-happen: 15.0.6(supports-color@7.2.0) transitivePeerDependencies: - supports-color - type-fest@0.18.1: {} - type-fest@0.6.0: {} - type-fest@0.8.1: {} - type-fest@2.19.0: {} type-fest@5.8.0: dependencies: tagged-tag: 1.0.0 - typedarray@0.0.6: {} - typescript@4.9.5: {} typescript@5.6.1-rc: {} - typescript@5.9.3: {} - typescript@6.0.3: {} uglify-js@3.19.3: @@ -12838,11 +11579,13 @@ snapshots: '@quansync/fs': 1.0.0 quansync: 1.0.0 - undici-types@7.19.2: {} - undici-types@7.24.6: {} - undici@7.25.0: {} + undici-types@8.3.0: {} + + undici@6.28.0: {} + + undici@8.10.0: {} unicode-canonical-property-names-ecmascript@2.0.1: {} @@ -12851,11 +11594,11 @@ snapshots: unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 + unicode-property-aliases-ecmascript: 2.2.0 unicode-match-property-value-ecmascript@2.2.1: {} - unicode-property-aliases-ecmascript@2.1.0: {} + unicode-property-aliases-ecmascript@2.2.0: {} unified@11.0.5: dependencies: @@ -12867,14 +11610,6 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unique-filename@5.0.0: - dependencies: - unique-slug: 6.0.0 - - unique-slug@6.0.0: - dependencies: - imurmurhash: 0.1.4 - unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 @@ -12888,7 +11623,7 @@ snapshots: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit@5.0.0: + unist-util-visit@5.1.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 @@ -12900,37 +11635,35 @@ snapshots: unplugin@1.16.1: dependencies: - acorn: 8.16.0 + acorn: 8.18.0 webpack-virtual-modules: 0.6.2 unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 - acorn: 8.16.0 + acorn: 8.18.0 picomatch: 4.0.5 webpack-virtual-modules: 0.6.2 until-async@3.0.2: {} - upath@2.0.1: {} - - update-browserslist-db@1.2.3(browserslist@4.28.1): + update-browserslist-db@1.3.1(browserslist@4.28.8): dependencies: - browserslist: 4.28.1 + browserslist: 4.28.8 escalade: 3.2.0 picocolors: 1.1.1 uri-template-matcher@1.1.2: {} - use-sync-external-store@1.6.0(react@19.2.7): + use-sync-external-store@1.6.0(react@19.2.8): dependencies: - react: 19.2.7 + react: 19.2.8 util-deprecate@1.0.2: {} - uuid@14.0.0: {} + uuid@14.0.1: {} - valibot@1.4.0(typescript@6.0.3): + valibot@1.4.2(typescript@6.0.3): optionalDependencies: typescript: 6.0.3 @@ -12943,7 +11676,7 @@ snapshots: validate-npm-package-name@6.0.2: {} - verkit@0.1.0: {} + verkit@0.3.2: {} vfile-message@4.0.3: dependencies: @@ -12955,57 +11688,55 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-tsconfig-paths@6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)): + vite-tsconfig-paths@6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)): dependencies: debug: 4.4.3(supports-color@7.2.0) globrex: 0.1.2 - tsconfck: 3.1.5(typescript@6.0.3) - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + tsconfck: 3.1.6(typescript@6.0.3) + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) transitivePeerDependencies: - supports-color - typescript - vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0): + vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0): dependencies: - lightningcss: 1.32.0 + lightningcss: 1.33.0 picomatch: 4.0.5 - postcss: 8.5.14 - rolldown: 1.1.5 + postcss: 8.5.26 + rolldown: 1.2.3 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 25.9.5 - esbuild: 0.27.2 + '@types/node': 26.2.0 + esbuild: 0.28.2 fsevents: 2.3.3 - jiti: 2.7.0 yaml: 2.9.0 - vitest@4.1.5(@opentelemetry/api@1.9.1)(@types/node@25.9.5)(@vitest/coverage-v8@4.1.10)(jsdom@29.1.1)(msw@2.15.0(@types/node@25.9.5)(typescript@6.0.3))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)): - dependencies: - '@vitest/expect': 4.1.5 - '@vitest/mocker': 4.1.5(msw@2.15.0(@types/node@25.9.5)(typescript@6.0.3))(vite@8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.5 - '@vitest/runner': 4.1.5 - '@vitest/snapshot': 4.1.5 - '@vitest/spy': 4.1.5 - '@vitest/utils': 4.1.5 - es-module-lexer: 2.0.0 - expect-type: 1.3.0 + vitest@4.1.10(@types/node@26.2.0)(@vitest/coverage-v8@4.1.10)(jsdom@30.0.1)(msw@2.15.0(@types/node@26.2.0)(typescript@6.0.3))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(msw@2.15.0(@types/node@26.2.0)(typescript@6.0.3))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 magic-string: 0.30.21 obug: 2.1.4 pathe: 2.0.3 picomatch: 4.0.5 - std-env: 4.0.0 + std-env: 4.2.0 tinybench: 2.9.0 - tinyexec: 1.2.4 + tinyexec: 1.3.0 tinyglobby: 0.2.17 - tinyrainbow: 3.1.0 - vite: 8.1.5(@types/node@25.9.5)(esbuild@0.27.2)(jiti@2.7.0)(yaml@2.9.0) + tinyrainbow: 3.1.1 + vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.2)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@opentelemetry/api': 1.9.1 - '@types/node': 25.9.5 - '@vitest/coverage-v8': 4.1.10(vitest@4.1.5) - jsdom: 29.1.1 + '@types/node': 26.2.0 + '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) + jsdom: 30.0.1 transitivePeerDependencies: - msw @@ -13027,7 +11758,15 @@ snapshots: whatwg-url@16.0.1: dependencies: - '@exodus/bytes': 1.15.0 + '@exodus/bytes': 1.15.1 + tr46: 6.0.0 + webidl-conversions: 8.0.1 + transitivePeerDependencies: + - '@noble/hashes' + + whatwg-url@17.1.0: + dependencies: + '@exodus/bytes': 1.15.1 tr46: 6.0.0 webidl-conversions: 8.0.1 transitivePeerDependencies: @@ -13048,10 +11787,10 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.4 - which-typed-array@1.1.19: + which-typed-array@1.1.22: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 for-each: 0.3.5 get-proto: 1.0.1 @@ -13062,23 +11801,23 @@ snapshots: dependencies: isexe: 2.0.0 + which@3.0.1: + dependencies: + isexe: 2.0.0 + which@5.0.0: dependencies: - isexe: 3.1.1 + isexe: 3.1.5 - which@6.0.0: + which@6.0.1: dependencies: - isexe: 3.1.1 + isexe: 4.0.0 why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - wide-align@1.1.5: - dependencies: - string-width: 4.2.3 - wordwrap@1.0.0: {} wrap-ansi@6.2.0: @@ -13093,12 +11832,6 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - wrappy@1.0.2: {} write-file-atomic@5.0.1: @@ -13111,18 +11844,16 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 4.1.0 - ws@8.20.0: {} + ws@8.21.3: {} wsl-utils@0.1.0: dependencies: - is-wsl: 3.1.0 + is-wsl: 3.1.1 xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} - xtend@4.0.2: {} - y18n@5.0.8: {} yallist@3.1.1: {} @@ -13131,16 +11862,13 @@ snapshots: yallist@5.0.0: {} - yaml@2.7.0: {} - - yaml@2.9.0: - optional: true + yaml@2.9.0: {} yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} - yargs@16.2.0: + yargs@16.2.2: dependencies: cliui: 7.0.4 escalade: 3.2.0 @@ -13160,44 +11888,57 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yargs@17.7.3: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yocto-queue@0.1.0: {} yoctocolors-cjs@2.1.3: {} - yuku-ast@0.1.7: + yuku-ast@0.8.4: dependencies: - '@yuku-toolchain/types': 0.5.43 + '@yuku-toolchain/types': 0.8.4 - yuku-codegen@0.6.1: + yuku-codegen@0.8.4: dependencies: - '@yuku-toolchain/types': 0.5.43 + '@yuku-toolchain/types': 0.8.4 optionalDependencies: - '@yuku-codegen/binding-darwin-arm64': 0.6.1 - '@yuku-codegen/binding-darwin-x64': 0.6.1 - '@yuku-codegen/binding-freebsd-x64': 0.6.1 - '@yuku-codegen/binding-linux-arm-gnu': 0.6.1 - '@yuku-codegen/binding-linux-arm-musl': 0.6.1 - '@yuku-codegen/binding-linux-arm64-gnu': 0.6.1 - '@yuku-codegen/binding-linux-arm64-musl': 0.6.1 - '@yuku-codegen/binding-linux-x64-gnu': 0.6.1 - '@yuku-codegen/binding-linux-x64-musl': 0.6.1 - '@yuku-codegen/binding-win32-arm64': 0.6.1 - '@yuku-codegen/binding-win32-x64': 0.6.1 - - yuku-parser@0.6.1: - dependencies: - '@yuku-toolchain/types': 0.5.43 + '@yuku-codegen/binding-android-arm64': 0.8.4 + '@yuku-codegen/binding-darwin-arm64': 0.8.4 + '@yuku-codegen/binding-darwin-x64': 0.8.4 + '@yuku-codegen/binding-freebsd-x64': 0.8.4 + '@yuku-codegen/binding-linux-arm-gnu': 0.8.4 + '@yuku-codegen/binding-linux-arm-musl': 0.8.4 + '@yuku-codegen/binding-linux-arm64-gnu': 0.8.4 + '@yuku-codegen/binding-linux-arm64-musl': 0.8.4 + '@yuku-codegen/binding-linux-x64-gnu': 0.8.4 + '@yuku-codegen/binding-linux-x64-musl': 0.8.4 + '@yuku-codegen/binding-win32-arm64': 0.8.4 + '@yuku-codegen/binding-win32-x64': 0.8.4 + + yuku-parser@0.8.4: + dependencies: + '@yuku-toolchain/types': 0.8.4 + yuku-ast: 0.8.4 optionalDependencies: - '@yuku-parser/binding-darwin-arm64': 0.6.1 - '@yuku-parser/binding-darwin-x64': 0.6.1 - '@yuku-parser/binding-freebsd-x64': 0.6.1 - '@yuku-parser/binding-linux-arm-gnu': 0.6.1 - '@yuku-parser/binding-linux-arm-musl': 0.6.1 - '@yuku-parser/binding-linux-arm64-gnu': 0.6.1 - '@yuku-parser/binding-linux-arm64-musl': 0.6.1 - '@yuku-parser/binding-linux-x64-gnu': 0.6.1 - '@yuku-parser/binding-linux-x64-musl': 0.6.1 - '@yuku-parser/binding-win32-arm64': 0.6.1 - '@yuku-parser/binding-win32-x64': 0.6.1 + '@yuku-parser/binding-android-arm64': 0.8.4 + '@yuku-parser/binding-darwin-arm64': 0.8.4 + '@yuku-parser/binding-darwin-x64': 0.8.4 + '@yuku-parser/binding-freebsd-x64': 0.8.4 + '@yuku-parser/binding-linux-arm-gnu': 0.8.4 + '@yuku-parser/binding-linux-arm-musl': 0.8.4 + '@yuku-parser/binding-linux-arm64-gnu': 0.8.4 + '@yuku-parser/binding-linux-arm64-musl': 0.8.4 + '@yuku-parser/binding-linux-x64-gnu': 0.8.4 + '@yuku-parser/binding-linux-x64-musl': 0.8.4 + '@yuku-parser/binding-win32-arm64': 0.8.4 + '@yuku-parser/binding-win32-x64': 0.8.4 zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fde43956..a06aeb42 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -20,6 +20,21 @@ minimumReleaseAgeExclude: - storybook@10.5.3 - tsdown@0.22.12 - verkit@0.1.0 + - brace-expansion@1.1.13 || 1.1.16 || 1.1.17 || 1.1.18 || 5.0.6 || 5.0.7 || 5.0.8 || 5.0.9 + - yaml@2.8.3 + - ip-address@10.1.1 || 10.3.1 + - ws@8.20.1 || 8.21.0 + - form-data@4.0.6 + - tar@7.5.16 || 7.5.17 || 7.5.18 || 7.5.19 || 7.5.21 + - undici@7.28.0 || 7.29.0 + - '@sigstore/core@3.2.1' + - js-yaml@3.15.0 || 3.15.1 || 4.1.2 || 4.3.0 || 4.3.1 + - sigstore@4.1.1 + - axios@1.18.0 + - postcss@8.5.18 || 8.5.23 + - valibot@1.4.2 + - nx@22.7.2 || 22.7.7 + - nanoid@3.3.16 || 3.3.17 onlyBuiltDependencies: - esbuild @@ -54,3 +69,16 @@ overrides: 'vitest': '>=4.1.0' 'handlebars': '>=4.7.9' 'lodash': '>=4.17.24' + brace-expansion@>=4.0.0 <5.0.9: ^5.0.9 + ip-address@<=10.1.0: ^10.1.1 + ip-address@<=10.3.0: ^10.3.1 + js-yaml@>=4.0.0 <4.3.0: ^4.3.0 + js-yaml@>=4.0.0 <4.3.1: ^4.3.1 + js-yaml@>=4.0.0 <=4.1.1: ^4.1.2 + nanoid@<3.3.16: ^3.3.16 + nanoid@<3.3.17: ^3.3.17 + postcss@<=8.5.17: ^8.5.18 + postcss@<=8.5.22: ^8.5.23 + undici@>=7.0.0 <7.28.0: ^7.28.0 + undici@>=7.0.0 <7.29.0: ^7.29.0 + undici@>=7.23.0 <7.28.0: ^7.28.0